Do not forget, when upgrading to a new platform version, always ensure that your installed component versions match the versions specified in the release notes. To verify this, navigate to FLOWX.AI Designer > Platform Status.

After updating to 3.3.0 FLOWX.AI release, it is not possible to import old process definitions into the new platform release (available for exports from releases < 3.3.0).

Component versions

🧩3.3.03.2.03.1.03.0.02.14.02.13.02.12.02.11.02.10.02.9.02.8.12.8.02.7.02.6.02.5.02.4.02.3.02.2.02.1.0
Process engine3.6.02.2.12.1.22.0.70.4.1040.4.950.4.900.4.830.4.600.4.490.4.440.4.420.4.420.4.360.4.290.4.220.4.210.4.180.4.13
Admin2.5.22.2.22.1.32.0.80.3.1190.3.1030.3.920.3.810.3.600.3.550.3.470.3.430.3.400.3.360.3.340.3.290.3.230.3.210.3.13
Designer3.28.133.21.13.15.13.2.12.78.4-12.63.62.60.72.48.92.39.22.33.02.28.12.24.22.23.02.19.22.18.22.17.42.15.22.14.42.11.2
@flowx/ui-sdk3.28.133.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-toolkit3.28.133.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-theme3.28.133.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
paperflow-web-components----2.78.4-12.63.62.60.70.2.100.2.100.2.100.2.60.2.60.2.60.2.60.2.60.2.60.2.60.2.50.2.4
flowx-process-renderer----2.78.4-12.63.62.60.72.48.92.39.22.33.02.28.12.24.22.23.02.19.22.18.22.17.42.15.22.14.42.11.2
CMS Core1.3.01.2.01.0.31.0.20.2.380.2.360.2.330.2.300.2.250.2.230.2.230.2.230.2.230.2.230.2.200.2.200.2.180.2.170.2.17
Scheduler Core1.0.41.0.41.0.41.0.10.0.340.0.340.0.340.0.330.0.280.0.270.0.270.0.270.0.270.0.270.0.240.0.240.0.230.0.230.0.23
events-gateway1.0.2------------------
Notification Plugin2.0.42.0.42.0.32.0.11.0.2061.0.2061.0.2061.0.2051.0.2001.0.1981.0.1981.0.1971.0.1941.0.1941.0.1911.0.1911.0.1901.0.1901.0.186-1
Document Plugin2.0.42.0.32.0.32.0.21.0.531.0.531.0.531.0.521.0.471.0.421.0.411.0.381.0.371.0.371.0.351.0.351.0.311.0.311.0.30
OCR Plugin1.0.81.0.20.1.330.1.330.1.330.1.330.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.0.1090.0.1090.0.109
License Core1.0.21.0.21.0.21.0.10.1.280.1.280.1.280.1.270.1.230.1.190.1.180.1.180.1.180.1.180.1.150.1.150.1.130.1.130.1.12
Customer Management Plugin0.2.40.2.30.2.30.2.10.1.280.1.280.1.280.1.270.1.230.1.220.1.220.1.220.1.220.1.220.1.200.1.200.1.180.1.180.1.18
Task Management Plugin2.1.21.0.41.0.41.0.10.0.420.0.420.0.400.0.370.0.290.0.280.0.280.0.270.0.270.0.270.0.220.0.220.0.210.0.210.0.16
Data search0.2.00.1.40.1.40.1.30.0.80.0.80.0.6n/an/an/an/an/an/an/an/an/an/an/an/a
Audit Core1.0.61.0.51.0.41.0.10.0.80.0.5n/an/an/an/an/an/an/an/an/an/an/an/an/a
Reporting0.0.400.0.400.0.400.0.390.0.39n/an/an/an/an/an/an/an/an/an/an/an/an/an/a
advancing-controller0.3.00.1.40.1.40.1.20.0.6n/an/an/an/an/an/an/an/an/an/an/an/an/an/a
iOS renderer2.1.42.0.72.0.42.0.0n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
Android renderer2.0.12.0.12.0.12.0.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a

With the release of FLOWX.AI 3.0, there have been some changes that you need to be aware when upgrading to the latest version:

  • The flowx-process-renderer has been migrated to @flowx\ui-sdk.
  • As of FlowX 4.0, the paperflow-web-components library will be deprecated. Instead, the new components can be found in @flowx/ui-toolkit.
FLOWX.AI Platform VersionComponent nameRecommended version (tested versions)
3.3Keycloak18.0.x
3.3Kafka3.2.0
3.3PostgreSQL14.3.0
3.3MongoDB5.0.8
3.3Redis6.2.6
3.3Elasticsearch7.17
3.3S3 (Min.IO) / minio-operator2022-05-26T05-48-41Z / 4.5.4
3.3OracleDB19.8.0.0.0
3.3Angular (Web SDK)15.0.0

FlowX.AI supports any version of the third-party components listed as prerequisites.

For optimal performance and reliability, our internal QA process validates new releases using specific versions as indicated in the provided table. While exploring alternative versions that suit your company’s specific requirements, we recommend referring to the compatibility matrix for guidance.

In the unlikely event that you encounter any compatibility issues with FlowX.AI, please open a support ticket here, and our dedicated team will address and resolve any identified bugs following our standard support process.

Compatibility Matrix:

  • FLOWX.AI Platform: Recommended and tested versions
  • Third-Party Components: Supported versions based on specific requirements and client preferences

Additional configuration

This section describes the additional configuration that is required to use the new features in FlowX.AI.

Process engine

Process Instance Indexing through Kafka transport

Introducing a new Kafka transport strategy for sending details about process instances to be indexed in Elasticsearch. To enable indexing of process instances in Elasticsearch through Kafka, configure the following environment variables:

  • FLOWX_INDEXING_ENABLED
Variable NameValuesDescription
FLOWX_INDEXING_ENABLEDtrueEnables indexing with Elasticsearch for the whole app
FLOWX_INDEXING_ENABLEDfalseDisables indexing with Elasticsearch for the whole app
  • FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_TYPE
Variable NameValuesDefinition
FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_TYPEno-indexingNo indexing is performed for process instances
FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_TYPEhttpProcess instances are indexed via HTTP (direct connection from process-engine to Elastic Search thorugh HTTP calls)
FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_TYPEkafkaProcess instances are indexed via Kafka (send data to be indexed through a kafka topic - the new strategy for the applied solution)

For Kafka indexing, the Kafka Connect with Elastic Search Sink Connector must be deployed in the infrastructure.

  • FLOWX_INDEXING_PROCESSINSTANCE_INDEX_NAME: specify the name of the index used for process instances
Variable NameValuesDefinition
FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_INDEX_NAMEprocess_instanceThe name of the index used for storing process instances. It is also part of the search pattern
  • FLOWX_INDEXING_PROCESSINSTANCE_SHARDS: set the number of shards for the index
Variable NameValuesDefinition
FLOWX_INDEXING_PROCESSINSTANCE_SHARDS1The number of shards for the Elasticsearch index storing process instances
  • FLOWX_INDEXING_PROCESSINSTANCE_REPLICAS: set the number of replicas for the index
Variable NameValuesDefinition
FLOWX_INDEXING_PROCESSINSTANCE_REPLICAS1The number of replicas for the Elasticsearch index storing process instances
Process engine new kafka topics
Default parameter (env var)Default FLOWX.AI value (can be overwritten)
KAFKA_TOPIC_PROCESS_INDEX_OUTai.flowx.dev.core.index.process.v1

For more details please check the following section:

Process Instance Indexing through Kafka transport

New service account

Added a new service account flowx-process-engine-sa. This service account is needed so the use of Start Catch Event node is possible.

Service accounts

Events gateway

Added a new events-gateway microservice, which requires the following configuration.

The events-gateway is designed specifically for handling events. Previously, each process-engine pod had a WebSocket (WS) server, and the front-end (FE) would connect to the process-engine to receive messages.

Now, instead of a server holding the messages, they are stored in Redis. However, the process-engine sends the messages to the events-gateway, which is responsible for sending them to Redis. Users connect to the events-gateway using an HTTP request and wait for Server-Sent Events (SSE) to flow in that request. They keep the request open for as long as they want SSE on a specific instance.

Events-gateway kafka topics

New Kafka topics have been added for the events-gateway. These topics are used to send and receive messages between the events-gateway and the process-engine.

Topic NameDescriptionValue
KAFKA_TOPIC_EVENTS_GATEWAY_OUT_MESSAGEOutgoing messages from process-engine to events-gatewayai.flowx.eventsgateway.engine.commands.message.v1
KAFKA_TOPIC_EVENTS_GATEWAY_OUT_DISCONNECTDisconnect commands from process-engine to events-gatewayai.flowx.eventsgateway.engine.commands.disconnect.v1
KAFKA_TOPIC_EVENTS_GATEWAY_OUT_CONNECTConnect commands from process-engine to events-gatewayai.flowx.eventsgateway.engine.commands.connect.v1

New kafka topics that should be added in the events-gateway configuration.

Topic NameDescriptionValue
KAFKA_TOPIC_EVENTS_GATEWAY_PROCESS_INSTANCE_IN_MESSAGEWhere events-gateway listens for messages from process-engineai.flowx.eventsgateway.engine.commands.message.v1
KAFKA_TOPIC_EVENTS_GATEWAY_PROCESS_INSTANCE_IN_DISCONNECTDisconnect commands from events-gateway to process-engineai.flowx.eventsgateway.engine.commands.disconnect.v1
KAFKA_TOPIC_EVENTS_GATEWAY_PROCESS_INSTANCE_IN_CONNECTConnect commands from events-gateway to process-engineai.flowx.eventsgateway.engine.commands.connect.v1

Events gateway

Events gateway setup guide

Process engine topics

SSE

Starting with the 3.3 platform release, the WebSocket protocol has been removed. Therefore, if you are using socket.io-client, you will need to make some changes. Here’s what you should do:

  1. Uninstall socket.io-client:

Before proceeding, ensure that you uninstall socket.io-client from your project. You can do this using the following command:

npm uninstall socket.io-client
  1. Install event-source-polyfill@1.0.31:

To replace the functionality provided by socket.io-client, you will need to use a new package called event-source-polyfill@1.0.31 (as mentioned in the Installing the library section). This package serves as a polyfill for the EventSource API, which enables servers to send events to clients over HTTP. The EventSource API is commonly used for server-sent events (SSE) and real-time web applications.

npm install event-source-polyfill@1.0.31

Message events

New kafka topics that should be added in the process-engine configuration.

Default parameter (env var)Default FLOWX.AI value (can be overwritten)Definition
KAFKA_TOPIC_PROCESS_EVENT_MESSAGEai.flowx.dev.core.message.event.process.v1This topic is used for throwing intermediate event messages.
KAFKA_TOPIC_PROCESS_START_FOR_EVENT_INai.flowx.dev.core.trigger.start-for-event.process.v1This topic is used to start processes.

Bulk updates

New kafka topics that should be added in the process-engine configuration, related to task management plugin - bulk updates.

Default parameter (env var)Default FLOWX.AI value (can be overwritten)Definition
KAFKA_TOPIC_PROCESS_OPERATIONS_BULK_INai.flowx.core.trigger.operations.bulk.v1On this topic, you can perform operations from the “KAFKA_TOPIC_PROCESS_OPERATIONS_IN” topic and send them as an array, allowing you to send multiple operations at once.

Example

{
    "operations": [
    {
       "operationType": "TERMINATE",
        "processInstanceUuid": "6ae8274a-2778-4ff9-8fcb-6c84a5eb2bc6",
        "taskId": "doesn't matter"
    },
    {
       "operationType": "HOLD",
        "processInstanceUuid": "6ae8274a-2778-4ff9-8fcb-6c84a5eb2bc6",
        "taskId": "doesn't matter"
    }
    ]
}

Process engine topics

Migration Steps

To upgrade to FLOWX.AI 3.3.0, follow these steps:

  • Make sure you have taken a backup of your current platform and database configurations.
  • Verify that your current installed component versions match the versions specified in the release notes.
  • Update the FLOWX.AI platform and all related components to the recommended versions.
  • Update the necessary configuration files according to the additional configuration requirements.
  • Restart the FLOWX.AI platform and related services.
  • Verify that the platform is running correctly and all processes are functioning as expected.
  • If you encounter any issues or errors during the upgrade process, refer to the troubleshooting section in the release notes or contact FLOWX.AI support for assistance.

Troubleshooting

If you encounter any issues during the upgrade process or while running the FLOWX.AI platform, refer to the troubleshooting section in the release notes or contact FLOWX.AI support for assistance.