# Release Notes Source: https://docs.flowx.ai/release-notes/overview What shipped in every FlowX.AI release - new features, bug fixes, deployment guidelines, and migration steps for the 5.9.x and 5.1.x LTS lines and monthly feature releases. Release notes · FlowX.AI What shipped. Every release, every line. What shipped in every FlowX.AI release: new features, bug fixes, deployment guidelines, and migration steps. Pick your line below, or jump straight to the latest LTS patch and feature release. [Latest LTS: 5.9.6](./v5.x/v5.9.6-october-2026/v5.9.6-october-2026) [Feature release: 6.0.0](./v6.x/v6.0.0-october-2026/v6.0.0-october-2026) > [!NOTE] > > **Long Term Support (LTS) Versions:** LTS versions receive extended support with security updates and critical bug fixes. **5.9.x** is the current FlowX.AI LTS line, recommended for production environments requiring stability and long-term support. Support for the **5.1.x** line ended with 5.1.14, its final maintenance release. To keep receiving fixes, move to 5.9.x: see [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). Release notes for older lines, including 5.1.x and 4.7.x, remain published for reference. > > **Feature Releases:** Versions released between LTS lines (such as 5.10.0) introduce new capabilities and are deployed to FlowX.AI SaaS environments as they ship. Self-hosted deployments receive these features consolidated into the next LTS release. 01 · Latest ## Latest releases [LTS v5.9.6 Maintenance release for the 5.9.x LTS line. Released on October 20th, 2026.](./v5.x/v5.9.6-october-2026/v5.9.6-october-2026) [FEATURE v6.0.0 Feature release, live on FlowX.AI SaaS. Released on October 30th, 2026.](./v6.x/v6.0.0-october-2026/v6.0.0-october-2026) [LTS v5.1.14 Final maintenance release for the 5.1.x LTS line. Released on October 30th, 2026.](./v5.x/v5.1.x-lts/v5.1.14-october-2026) > [!TIP] > > **New cookbook:** [reconcile supplier invoices against purchase orders](/5.9/cookbooks/invoice-reconciliation), from email intake to exception review. More end-to-end builds are in the [cookbooks](/5.9/cookbooks/overview). *** 02 · All releases ## All releases Planning a 5.9.x upgrade? The [5.9.x LTS changelog](./v5.x/5.9-lts-changelog) lists every change in each 5.9.x maintenance release on one page, with an RSS feed. Moving from 5.9.x to 6.0.0? The [5.9.x to 6.0.0 changelog](./v6.x/5.9-to-6.0-changelog) lists every change from the 5.10 to 5.13 feature releases and 6.0.0 on one page, with an RSS feed. versionlinereleased [v6.0.0FRfeature releaseOctober 30th, 2026→](./v6.x/v6.0.0-october-2026/v6.0.0-october-2026) [v5.1.14LTSmaintenance · 5.1.x LTS lineOctober 30th, 2026→](./v5.x/v5.1.x-lts/v5.1.14-october-2026) [v5.9.6LTSmaintenance · 5.9.x LTS lineOctober 20th, 2026→](./v5.x/v5.9.6-october-2026/v5.9.6-october-2026) [v5.13.0FRfeature releaseSeptember 28th, 2026→](./v5.x/v5.13.0-september-2026/v5.13.0-september-2026) [v5.9.5LTSmaintenance · 5.9.x LTS lineSeptember 23rd, 2026→](./v5.x/v5.9.5-september-2026/v5.9.5-september-2026) [v5.1.13LTSmaintenance · 5.1.x LTS lineSeptember 18th, 2026→](./v5.x/v5.1.x-lts/v5.1.13-september-2026) [v5.12.0FRfeature releaseSeptember 3rd, 2026→](./v5.x/v5.12.0-september-2026/v5.12.0-september-2026) [v5.9.4LTSmaintenance · 5.9.x LTS lineAugust 27th, 2026→](./v5.x/v5.9.4-august-2026/v5.9.4-august-2026) [v5.1.12LTSmaintenance · 5.1.x LTS lineAugust 27th, 2026→](./v5.x/v5.1.x-lts/v5.1.12-august-2026) [v5.11.0FRfeature releaseAugust 11th, 2026→](./v5.x/v5.11.0-august-2026/v5.11.0-august-2026) [v5.9.3LTSmaintenance · 5.9.x LTS lineJuly 30th, 2026→](./v5.x/v5.9.3-july-2026/v5.9.3-july-2026) [v5.1.11LTSmaintenance · 5.1.x LTS lineJuly 30th, 2026→](./v5.x/v5.1.x-lts/v5.1.11-july-2026) [v5.9.2LTSmaintenance · 5.9.x LTS lineJuly 10th, 2026→](./v5.x/v5.9.2-july-2026/v5.9.2-july-2026) [v5.10.0FRfeature releaseJuly 7th, 2026→](./v5.x/v5.10.0-july-2026/v5.10.0-july-2026) [v5.1.10LTSmaintenance · 5.1.x LTS lineJune 30th, 2026→](./v5.x/v5.1.x-lts/v5.1.10-june-2026) [v5.9.1LTSmaintenance · 5.9.x LTS lineJune 15th, 2026→](./v5.x/v5.9.1-june-2026/v5.9.1-june-2026) [v5.9.0LTSfirst release of the 5.9.x LTS lineJune 2nd, 2026→](./v5.x/v5.9.0-june-2026/v5.9.0-june-2026) [v5.1.9LTSLTS maintenance releaseMay 29th, 2026→](./v5.x/v5.1.x-lts/v5.1.9-may-2026) [v5.8.0FRfeature releaseMay 10th, 2026→](./v5.x/v5.8.0-may-2026/v5.8.0-may-2026) [v5.1.8LTSLTS maintenance releaseApril 30th, 2026→](./v5.x/v5.1.x-lts/v5.1.8-april-2026) [v5.7.0FRfeature releaseApril 28th, 2026→](./v5.x/v5.7.0-april-2026/v5.7.0-april-2026) [v5.6.0FRfeature releaseMarch 25th, 2026→](./v5.x/v5.6.0-march-2026/v5.6.0-march-2026) [v5.1.7LTSLTS maintenance releaseMarch 26th, 2026→](./v5.x/v5.1.x-lts/v5.1.7-march-2026) [v5.1.6LTSLTS maintenance releaseMarch 16th, 2026→](./v5.x/v5.1.x-lts/v5.1.6-march-2026) [v5.5.0FRfeature releaseFebruary 27th, 2026→](./v5.x/v5.5.0-february-2026/v5.5.0-february-2026) [v5.1.5LTSLTS maintenance releaseFebruary 27th, 2026→](./v5.x/v5.1.x-lts/v5.1.5-february-2026) [v5.1.4LTSLTS maintenance releaseFebruary 9th, 2026→](./v5.x/v5.1.x-lts/v5.1.4-february-2026) [v5.4.0FRfeature releaseJanuary 30th, 2026→](./v5.x/v5.4.0-january-2026/v5.4.0-january-2026) [v5.1.3LTSLTS maintenance releaseJanuary 15th, 2026→](./v5.x/v5.1.x-lts/v5.1.3-january-2026) [v5.3.0FRfeature releaseDecember 24th, 2025→](./v5.x/v5.3.0-december-2025/v5.3.0-december-2025) [v5.1.2LTSLTS maintenance releaseDecember 3rd, 2025→](./v5.x/v5.1.x-lts/v5.1.2-december-2025) [v5.2.0FRfeature releaseNovember 10th, 2025→](./v5.x/v5.2.0-november-2025/v5.2.0-november-2025) [v5.1.1LTSLTS maintenance releaseNovember 10th, 2025→](./v5.x/v5.1.x-lts/v5.1.1-november-2025) [v4.7.11LTSLTS maintenance releaseDecember 16th, 2025→](./v4.x/v4.7.x-lts/v4.7.11-december-2025/v4.7.11-december-2025) [v4.7.10LTSLTS maintenance releaseNovember 17th, 2025→](./v4.x/v4.7.x-lts/v4.7.10-november-2025/v4.7.10-november-2025) [v4.7.9LTSLTS maintenance releaseOctober 16th, 2025→](./v4.x/v4.7.x-lts/v4.7.9-october-2025/v4.7.9-october-2025) [v5.1.0LTSLTS maintenance releaseOctober 2nd, 2025→](./v5.x/v5.1.x-lts/v5.1.0-october-2025/v5.1.0-october-2025) [v4.7.8LTSLTS maintenance releaseSeptember 16th, 2025→](./v4.x/v4.7.x-lts/v4.7.8-september-2025/v4.7.8-september-2025) [v4.7.7LTSLTS maintenance releaseAugust 20th, 2025→](./v4.x/v4.7.x-lts/v4.7.7-august-2025/v4.7.7-august-2025) [v5.0.0FRfeature releaseJuly 31st, 2025→](./v5.x/v5.0.0-july-2025/v5.0.0-july-2025) [v4.7.6LTSLTS maintenance releaseJuly 18th, 2025→](./v4.x/v4.7.x-lts/v4.7.6-july-2025/v4.7.6-july-2025) [v4.7.5LTSLTS maintenance releaseJune 19th, 2025→](./v4.x/v4.7.x-lts/v4.7.5-june-2025/v4.7.5-june-2025) [v4.7.4LTSLTS maintenance releaseMay 15th, 2025→](./v4.x/v4.7.x-lts/v4.7.4-may-2025/v4.7.4-may-2025) [v4.7.3LTSLTS maintenance releaseApril 14th, 2025→](./v4.x/v4.7.x-lts/v4.7.3-april-2025/v4.7.3-april-2025) [v4.7.2LTSLTS maintenance releaseMarch 26th, 2025→](./v4.x/v4.7.x-lts/v4.7.2-march-2025/v4.7.2-march-2025) [v4.7.1LTSLTS maintenance releaseMarch 7th, 2025→](./v4.x/v4.7.x-lts/v4.7.1-march-2025/v4.7.1-march-2025) [v4.7.0LTSLTS maintenance releaseFebruary 24th, 2025→](./v4.x/v4.7.x-lts/v4.7.0-february-2025/v4.7.0-february-2025) [v4.6.1FRfeature releaseFebruary 7th, 2025→](./v4.x/v4.6.x/v4.6.1-february-2025/v4.6.1-february-2025) [v4.6.0FRfeature releaseJanuary 23rd, 2025→](./v4.x/v4.6.x/v4.6.0-january-2025/v4.6.0-january-2025) [v4.1.5LTSLTS maintenance releaseSeptember 23rd, 2024→](./v4.x/v4.1.x/v4.1.5-september-2024/v4.1.5-september-2024) [v4.1.4LTSLTS maintenance releaseSeptember 6th, 2024→](./v4.x/v4.1.x/v4.1.4-september-2024/v4.1.4-september-2024) [v4.1.3LTSLTS maintenance releaseAugust 12th, 2024→](./v4.x/v4.1.x/v4.1.3-august-2024/v4.1.3-august-2024) [v4.1.2LTSLTS maintenance releaseJune 8th, 2024→](./v4.x/v4.1.x/v4.1.2-june-2024/v4.1.2-june-2024) [v4.1.1LTSLTS maintenance releaseJune 17th, 2024→](./v4.x/v4.1.x/v4.1.1-june-2024/v4.1.1-june-2024) [v4.1.0LTSLTS maintenance releaseMay 30th, 2024→](./v4.x/v4.1.x/v4.1.0-may-2024/v4.1.0-may-2024) [v4.0.0FRfeature releaseApril 18th, 2024→](./v4.x/v4.0.0-april-2024/v4.0.0-april-2024) > [!NOTE] > > Releases from the **4.5.x (tech preview)** and **4.2.x** lines are not listed above. You can find them in the sidebar under **Release Notes** → **v4.x**. *** > [accordion] Version 3.x.x > > > [card] [v3.4.8 - June 2024](/release-notes/v3.x.x/v3.4.8-june-2024/v3.4.8-june-2024) > > > > Explore the latest enhancements and fixes introduced in June 2024. > > > [card] [v3.4.7 - January 2024](/release-notes/v3.x.x/v3.4.7-january-2024/v3.4.7-january-2024) > > > > Explore the latest enhancements and fixes introduced in January 2024. > > > [card] [v3.4.6 - December 2023](/release-notes/v3.x.x/v3.4.6-december-2023/v3.4.6-december-2023) > > > > Explore the latest enhancements and fixes introduced in December 2023. > > > [card] [v3.4.5 - November 2023](/release-notes/v3.x.x/v3.4.5-november-2023/v3.4.5-november-2023) > > > > Explore the latest enhancements and fixes introduced in November 2023. > > > [card] [v3.4.4 - November 2023](/release-notes/v3.x.x/v3.4.4-november-2023/v3.4.4-november-2023) > > > > Discover the significant changes and improvements made in November 2023. > > > [card] [v3.4.3 - October 2023](/release-notes/v3.x.x/v3.4.3-october-2023/v3.4.3-october-2023) > > > > Discover the significant changes and improvements made in October 2023. > > > [card] [v3.4.2 - October 2023](/release-notes/v3.x.x/v3.4.2-october-2023/v3.4.2-october-2023) > > > > Discover the significant changes and improvements made in October 2023. > > > [card] [v3.4.1 - September 2023](/release-notes/v3.x.x/v3.4.1-september-2023/v3.4.1-september-2023) > > > > Discover the significant changes and improvements made in September 2023. > > > [card] [v3.4.0 - September 2023](/release-notes/v3.x.x/v3.4.0-september-2023/v3.4.0-september-2023) > > > > Discover the significant changes and improvements made in September 2023. > > > [card] [v3.3.0 - July 2023](/release-notes/v3.x.x/v3.3.0-july-2023/v3.3.0-july-2023) > > > > Discover the significant changes and improvements made in July 2023. > > > [card] [v3.2.0 - April 2023](/release-notes/v3.x.x/v3.2.0-april-2023/v3.2.0-april-2023) > > > > Discover the significant changes and improvements made in April 2023. > > > [card] [v3.1.0 - March 2023](/release-notes/v3.x.x/v3.1.0-march-2023/v3.1.0-march-2023) > > > > Discover the significant changes and improvements made in March 2023. > > > [card] [v3.0.0 - February 2023](/release-notes/v3.x.x/v3.0.0-february-2023/v3.0.0-february-2023) > > > > Discover the significant changes and improvements made in February 2023. # FlowX.AI 5.9.x LTS changelog Source: https://docs.flowx.ai/release-notes/v5.x/5.9-lts-changelog Every change in each FlowX.AI 5.9.x LTS maintenance release, grouped by type and component, with an RSS feed for upgrade planning. This page lists every change in each 5.9.x LTS maintenance release, newest first. Use the RSS button at the top of the page to subscribe and get each new patch as it ships. Mobile renderers and the React Native SDK are covered in their own release notes. Moving to 6.0.0? See the [5.9.x to 6.0.0 changelog](/release-notes/v6.x/5.9-to-6.0-changelog). **5.9.6** October 2026 **Upgrade actions:** migrate to the `flowx-ai` Helm chart if you installed the `ai-platform` chart, create the `ai.flowx.build.deployment-failed.v1` Kafka topic and allow it in your ACLs, re-publish any build whose deployment failed shortly before the upgrade, review workflow node retry settings, grant the connection-test permissions to custom roles, and allow extra Integration Designer startup time on a large `workflow_instances` collection. Details are in the [5.9.6 upgrade notes](/release-notes/v5.x/v5.9.6-october-2026/v5.9.6-october-2026#upgrade-notes). #### New * **Integration Designer:** a REST node JSON body can include `"@@base64File()"`. When the request is sent, the marker is replaced with the base64-encoded content of the Document Plugin file at that path. The download from the Document Plugin times out after 5 minutes by default (`FLOWX_DOCUMENTPLUGIN_DOWNLOADTIMEOUT`). See [Content Type: JSON](/5.9/docs/platform-deep-dive/integrations/endpoint-file-handling#content-type-json). #### Changed * **AI Platform services:** the `ai-platform` umbrella Helm chart has been superseded by the `flowx-ai` chart. See [Migrate to the flowx-ai Helm chart](/5.9/setup-guides/migrate-to-flowx-ai-helm-chart). * **All services:** every service image sets `MALLOC_ARENA_MAX=2`, which lowers native memory use. A value set in your deployment overrides it. * **Builds:** a build deployment that failed and waits for a retry is stored in the `application-manager` database instead of Redis, so a Redis flush or restart no longer drops it. The failure is reported on the new `ai.flowx.build.deployment-failed.v1` Kafka topic. Retries still queued in Redis at upgrade are not carried over. See [Build redeployment retries](/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6#build-redeployment-retries). * **Designer:** a custom component, document template, or notification template that is still in use can be deleted. The delete confirmation first lists where it is used, because those references break when it is deleted. * **Document parser:** the layout, table, and OCR models are part of the image, so nothing is downloaded at startup or on the first parse, and the parser works without internet access or on a read-only filesystem. A request for the RapidOCR engine runs Tesseract instead. The `USE_DOCLING` setting has no effect. * **Integration Designer:** workflow node retry waits grow exponentially (the interval multiplied by the coefficient for each further attempt), and the max interval caps each wait instead of limiting the whole retry window. Each attempt keeps its own entry in the run history. * **Integration Designer:** a new index on the `workflow_instances` MongoDB collection speeds up lookups of child workflow runs. It is created when the service starts. * **MongoDB settings:** services read the MongoDB connection from new setting names, such as `SPRING_MONGODB_URI`. Existing `SPRING_DATA_MONGODB_*` values keep working, so no change is needed. See [MongoDB setting names](/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6#mongodb-setting-names). * **Notifications and data sources:** testing an SMTP connection needs the permission to edit notification templates, and testing an IMAP or Microsoft Outlook connection needs the permission to edit data sources. * **Import:** the compatibility of an export file is now validated at the start of the import, so an incompatible file fails faster. * **Solution portal:** the `react-saas` web app is renamed `solution-portal`, and its container image is published under the new name. See the [5.9.6 deployment guidelines](/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6) for its version. #### Fixed * **Advancing controller:** Prometheus can scrape the metrics endpoint, like the other services. Paths outside the actuator endpoints stay closed. * **AI services:** services start when `PYTHONPATH` is overridden in the pod spec, for example by an APM agent injector. * **Data model:** switching an attribute from one Number subtype to another shows and saves the subtype you selected. * **Project versions:** **Resources Changed** no longer reports a resource as changed when only its misconfiguration warnings differ, so editing one business rule no longer flags the other business rules in the process. * **Project versions:** merging a branch keeps navigation area lists whole, so areas no longer disappear or fail with "Navigation area name already exists". Merging also removes UI templates whose parent container the merge deleted, instead of leaving them at the root of the UI flow. * Stability fixes across project version merges, Integration Designer workflows, builds, the Designer, the renderers, and the AI services. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.6 release notes](/release-notes/v5.x/v5.9.6-october-2026/v5.9.6-october-2026) · [5.9.6 deployment guidelines](/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6) **5.9.5** September 2026 **Upgrade actions:** let the `ai-services` consumer group reach zero lag and allow the new AI consumer groups in Kafka ACLs, add private database hosts to the NoSQL DB runner allowlist, set every service-account client secret on `authorization-system`, rename `cache_error_total` in dashboards and alerts, re-expose `loggers` if you change log levels at runtime, and review the deployment guidelines if you had already turned on data partitioning, because the conversion to native partitions is one way. Details are in the [5.9.5 upgrade notes](/release-notes/v5.x/v5.9.5-september-2026/v5.9.5-september-2026#upgrade-notes). #### New * **Integrations:** an SFTP private key can be stored as a multi-line PEM, in both the Private Key field and in a configuration parameter, and is passed through to the connection. * **Process engine:** process data tables can use native PostgreSQL partitioning, so retention drops whole partitions instead of deleting rows. Opt-in. See [Native PostgreSQL partitioning](/release-notes/v5.x/v5.9.5-september-2026/v5.9.5-september-2026#native-postgresql-partitioning). #### Changed * **AI Gateway:** logs carry structured key-value fields and record the length of a user message instead of an excerpt of its text. * **AI platform services:** every AI service applies the platform's Kafka security setting the same way, including TLS, and accepts the same OAuth token endpoint setting as the core services. An unsupported Kafka security protocol now stops the service at startup. * **AI platform services:** each AI service consumes Kafka jobs in its own consumer group instead of the shared `ai-services` group. The new groups read only jobs published after they start, so let the `ai-services` group reach zero lag before you upgrade. If your Kafka cluster restricts consumer groups with ACLs, allow the new groups before you upgrade. * **AI platform services:** the LLM configuration cache listener keeps one stable Kafka consumer group per pod, so restarts no longer leave orphaned groups on the broker. * **Application manager:** loading app versions is faster on databases that hold many deleted apps. The upgrade creates two new database indexes. * **Authorization system:** a missing or blank service-account client secret now stops `authorization-system` at startup, and the log names each affected client and its setting. * **Builds:** exporting and importing a build resolves dependencies more consistently, and a parent build is reconciled when an import it depends on finishes. * **Document plugin:** archive, encryption, and extraction operations enforce size limits, and input over the limit is rejected. See [Document plugin: processing size limits](/release-notes/v5.x/v5.9.5-september-2026/deployment-guidelines-v5.9.5#document-plugin-processing-size-limits). * **Integration Designer:** a root workflow output larger than the Kafka payload limit fails the run with `outputTooLargeForKafka` instead of being dropped by the broker. See [Integration Designer: workflow output size guard](/release-notes/v5.x/v5.9.5-september-2026/deployment-guidelines-v5.9.5#integration-designer-workflow-output-size-guard). * **NoSQL DB runner:** Oracle data sources can connect only to hosts that resolve to a public address, unless the host is allowed explicitly. Databases on a private network need an allowlist entry. See [Relational database host restrictions](/5.9/setup-guides/nosql-db-runner#relational-database-host-restrictions). * **Observability:** the `loggers` actuator endpoint is no longer exposed by default. To keep changing log levels at runtime, add `loggers` to the exposure list, as described in [Changing log levels at runtime](/5.9/setup-guides/admin-setup-guide#changing-log-levels-at-runtime). * **Observability:** the advancing engine reports additional metrics for its processing, and the metric names follow the platform naming convention. * **Observability:** the Redis cache error counter is renamed from `cache_error_total` to `flowx_cache_error_total` and gains an `error_class` label. Update dashboards and alerts that use the old name. #### Fixed * **Audit:** audit entries are no longer missing, duplicated, or recorded against the wrong application. * **Authorization system:** service-account clients that were created without a secret receive the configured secret on upgrade. Clients that already have a secret keep it. * **Designer:** searching reusable functions is case-insensitive, in the Functions list and in the function picker of Script and Fork nodes. * **Document plugin:** archive, extract, encrypt, and decrypt operations stage files in temporary storage instead of holding them in memory, so a large archive no longer exhausts service memory. * **Events gateway:** real-time updates resume automatically within seconds after a Redis failover, instead of requiring a pod restart. * **Identity:** on self-hosted deployments the Keycloak issuer is derived from configuration and matched exactly, so tokens are no longer rejected when the configured base URL and the issuer in the token differ. * **Process execution:** fixed rare cases where a process or workflow token stopped advancing with no error logged, and a database deadlock during cleanup of finished advancing partitions. * **Project versions:** a change made inside an embedded subprocess is now taken into account when a merge computes conflicts. Previously such a change could pass through a merge without a conflict being raised. * **Redis connectivity:** platform services, including AI Gateway, reconnect automatically after a Redis Sentinel failover or a dropped connection, and start even when Redis is briefly unavailable, without a pod restart. * **Renderers:** text substitution no longer breaks when a substitution tag receives an empty value. * **Runtime:** the runtime app context is cached correctly, which removes recurring `Redis cache PUT error` warnings and a database lookup on each runtime request. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.5 release notes](/release-notes/v5.x/v5.9.5-september-2026/v5.9.5-september-2026) · [5.9.5 deployment guidelines](/release-notes/v5.x/v5.9.5-september-2026/deployment-guidelines-v5.9.5) **5.9.4** August 2026 **Upgrade actions:** move the registry out of `image.repository` if you embedded it there (no action if you set `global.imageRegistry`), grant the Liquibase lock permissions to each service's database user on Oracle, create the `flowx-events-gateway-sa` client yourself if you manage Keycloak clients outside the Helm charts, and move host apps that embed the Angular SDK to Angular 21. Details are in the [5.9.4 deployment guidelines](/release-notes/v5.x/v5.9.4-august-2026/deployment-guidelines-v5.9.4#configuration-changes). #### Changed * **Access management:** the project share modal warns when an access entity references roles that are missing from the build, and an end-user role can be removed from a project version. * **Angular SDK:** the Angular renderer and the `@flowx/angular-*` web SDK packages are built on Angular 21. Host apps that embed the Angular SDK must be on Angular 21. The npm and node requirements are unchanged. * **Cross-version import:** importing a project build or version exported from an older platform line completes the imported theme from the destination's system theme, so components added since the export are no longer missing. Existing values in the exported file are never overwritten. * **Database migrations:** the lock that guards Liquibase schema migrations at service startup is a database session lock: `pg_advisory_lock` on PostgreSQL, `DBMS_LOCK` on Oracle. A pod that stops mid-migration releases its lock when the database closes the session. Service accounts no longer need the `pods/status` permission. Oracle deployments need new database grants. * **Events Gateway:** authenticates to the Runtime Manager with its own service account, `flowx-events-gateway-sa`. Helm chart deployments where `authorization-system` runs its migrations with Keycloak admin access need no action. * **Helm charts:** the container image reference is split into `image.registry` and `image.repository`. The registry resolves to `global.imageRegistry` when that is set, and otherwise to the chart's own `image.registry`. The default image location is unchanged. * **Integration Designer:** service startup no longer scans the full token-instance collection, and the run-list summary queries are indexed. * **Libraries:** the UI Flows entry is hidden from the library menu, where it did not apply. * **Runtime authorization:** runtime-manager, process-engine, and events-gateway check each request from a signed-in end user against the roles defined in the running build, and reject it with a 403 when the user holds none of them. Service accounts aren't affected. #### Fixed * **Actions:** deleting an action whose business rule calls a function works instead of returning a server error. * **Build export:** retrying a build export re-attempts a dependency library whose own export timed out, so the parent build can finish. * **Documents:** CSV generation from spreadsheet-derived data no longer produces oversized output from trailing empty cells and rows. * **Entry points:** the entry-point picker in version settings lists only processes and UI flows from the current project. * **Gateways:** an expression that fails to evaluate on an exclusive gateway surfaces as an incident on the process instance instead of only in the service logs. * **Generated documents:** a document whose storage write fails returns an error instead of being recorded as successful. Transient storage write failures are retried first. The same guard covers the archive, encrypt, decrypt, convert, combine, split, and persist operations. * **Library resource overview:** opening the resource overview for a library process no longer fails with a server error, and a process used from a library is listed once instead of once per consuming project version. * **Project versions:** a branch merge no longer gets stuck awaiting correction when the final correction response arrives during a background synchronization, and merging versions no longer fails with a navigation-areas error. * **Renderers:** the document preview shows its subtitle, and the file-upload error message follows the configured theme. * **Reusable UI templates:** static input mappings configured on a reusable template are applied at runtime. * **Subprocesses:** dismissing a subprocess started from an embedded call activity no longer returns a 403. * **Task management:** the row-selection checkbox column no longer carries an invisible sort control that re-sorted the view and cleared the selection, and changing the page size no longer opens the wrong process from the list. * **Themes and CMS resources:** exporting a theme no longer includes duplicate copies of system icons, and importing no longer leaves system substitution tags missing. * **UI Flows:** table filters, sorting, and the current page are kept when you navigate away and back, and across rebuilds. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.4 release notes](/release-notes/v5.x/v5.9.4-august-2026/v5.9.4-august-2026) · [5.9.4 deployment guidelines](/release-notes/v5.x/v5.9.4-august-2026/deployment-guidelines-v5.9.4) **5.9.3** July 2026 **Upgrade actions:** none. The new Events Gateway and Integration Designer settings ship with working defaults. Details are in the [5.9.3 deployment guidelines](/release-notes/v5.x/v5.9.3-july-2026/deployment-guidelines-v5.9.3#configuration-changes). #### Changed * **Events Gateway:** new settings tune the dedicated Redis connection pool for blocking reads, and the default blocking-read duration is lowered from 5 seconds to 1 second. If you set the blocking-read duration explicitly, review it against the new default. * **Integration Designer:** a new setting sets the number of partitions for auto-created workflow Kafka topics. Existing topics are not modified. * **Media Library:** PDF assets in the list can be opened in a new tab. * **Process start:** web renderers keep the loading indicator visible until the first user task renders. #### Fixed * **Build import:** a transient database write conflict during a multi-dependency import no longer drops a dependency's build, which caused runtime errors on substitution tags and enumerations. Large imports may take slightly longer. * **Date Picker:** the calendar anchors to its field above modals and while scrolling, and label, helper, and error text follow the themed padding. * **Designer:** opening Runtime after expanding a component's Permissions section no longer freezes the Designer, and a pending AI UI-generation draft no longer locks the process diagram read-only. * **Projects:** creating a project with the same name as a deleted project returns a validation error instead of an internal server error. * **Real-time event delivery:** the Events Gateway no longer leaks Redis connections. Blocking reads run on a dedicated connection pool with Redis Cluster support, so the gateway no longer needs periodic restarts under sustained load. * **Task management:** deleting a swimlane allocation rule removes only that rule, clicking Save twice no longer creates duplicate rules, and task views no longer reset when the same view is open from different workspaces. * **Workflows:** a workflow no longer freezes silently after a step exhausts its retries. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.3 release notes](/release-notes/v5.x/v5.9.3-july-2026/v5.9.3-july-2026) · [5.9.3 deployment guidelines](/release-notes/v5.x/v5.9.3-july-2026/deployment-guidelines-v5.9.3) **5.9.2** July 2026 **Upgrade actions:** update any Keycloak group mapper or external IdP claim that emits the end-user group `User` to `Users Group`, remove records of the organization-ID migration or other Liquibase changesets you marked as executed by hand on an earlier 5.9.x (contact FlowX support for the list first), upgrade the AI Platform chart and the core services together, and update dashboards, alerts, and log queries that match the `ai-platform-` service name prefix. Details are in the [5.9.2 deployment guidelines](/release-notes/v5.x/v5.9.2-july-2026/deployment-guidelines-v5.9.2#upgrade-overview). #### New * **AI agents and data models:** AI Designer and AI Developer use the project data model when generating UIs and business rules, and AI Architect can generate a project data model with a preview before applying it. * **AI workflow nodes:** JSON schema fields support `${}` placeholders. * **Chat file uploads:** end users can attach multiple files in a chat-driven app. Uploads are indexed into a knowledge base scoped to the chat session, so AI nodes answer grounded in that content. * **Document Parser:** a new LiteParse engine parses PDFs and images locally without GPU or AI calls, and OCR supports English, Romanian, Hungarian, and Bulgarian. * **Evaluations:** an experiment can run against multiple datasets at once with per-dataset scores, and reports include AI-generated prompt-improvement suggestions per judge evaluator. * **Knowledge bases:** a Custom Agent node can select multiple knowledge bases, each exposed to the agent as its own retrieval tool, and retrieval can span multiple knowledge bases in a workflow. * **SQL data sources:** queries on SQL data sources can be tested from the builds list. * **Use in reporting:** the reporting toggle is available on UI flows and workflows. #### Changed * **AI node structured output:** responses from AI nodes with a response schema are validated against it, with automatic repair retries, and node logs include the failure reason and rejected output. * **AI Platform services:** services are deployed under their plain names, without the `ai-platform-` prefix on pod, service, and image names, and the bundled Qdrant subchart is renamed the same way. Core services resolve AI components by the new names. * **Audit log:** records sharing, user invitations, designer-user, end-user, and group management, actions on process instances and UI flows, adding a dependency, and terminating process, workflow, or UI flow instances. * **Copy to project:** copying a process or UI flow to another project also copies its roles. * **Data archiving:** archiving detaches a partition only when every process or workflow instance in it has finished. New settings for terminating stuck instances and backfilling legacy rows are off by default. * **Default end-user group:** the group that the 5.1.x upgrade migration creates is renamed from `User` to `Users Group`. Groups your admins created are not renamed. * **Designer:** the Event Handlers section appears higher in the component configuration panel, and the keys to save for collection items and bundled custom-component inputs are computed automatically. * **Kafka reconnects:** platform services use a gentler broker-reconnect backoff by default, and repeated Kafka connection errors log at a quieter level. #### Fixed * **Active policy:** the user list on the override active-policy form is no longer empty. * **Application manager:** the runtime-application organization-ID migration converts existing data correctly. * **Audit logs:** filtering audit entries by user works when the username differs from the email address. * **Build export with media files:** exporting a build with media file content produces an archive that contains the binaries. * **Chat:** the floating chat position is calculated correctly, and the chat session is kept in the URL when the instance UI flow console is opened. * **CMS enumerations:** cascading-enum value lookups resolve from live entries only, so options that were removed and re-added no longer cause errors or return deleted values. * **Data mappers:** adding a new output parameter no longer clears existing JavaScript functions. * **Data sync with private CA certificates:** data-sync migrations that call HTTPS endpoints, such as Keycloak, no longer fail certificate validation in environments that use an internal certificate authority. * **PII Guard:** the input scan no longer corrupts workflow data or redacts example values from instructions, and anonymized values are restored after LLM calls, including in chat-driven workflows that use conversation memory. * **Project version merge:** a merge no longer fails with a 500 error. * **Redis Cluster:** UI template cache keys map to the same cluster slot, which prevents cross-slot errors. * **Reusable UI templates:** actions are no longer missing at runtime when a template is nested in multiple levels of containers. * **Self-hosted installation and upgrade:** Keycloak realm handling during upgrades from 5.1.x (including migration changesets on Oracle), service-account provisioning, and default end-user group seeding work on self-hosted environments. * **Workflow data:** archiving batches, checkpoints, and throttles for large datasets, with partition-ID backfill for legacy data. UI flow sessions are included in partitioning and archiving, and an incident-save deadlock in the process engine is fixed. * Stability fixes across the Designer, the renderers, and the backend services. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.2 release notes](/release-notes/v5.x/v5.9.2-july-2026/v5.9.2-july-2026) · [5.9.2 deployment guidelines](/release-notes/v5.x/v5.9.2-july-2026/deployment-guidelines-v5.9.2) **5.9.1** June 2026 **Upgrade actions:** none for deployments where the Helm chart provisions Kafka topics. If you provision Kafka topics or ACLs manually, create the topics added in 5.9.1. Details are in the [5.9.1 deployment guidelines](/release-notes/v5.x/v5.9.1-june-2026/deployment-guidelines-v5.9.1#kafka-topics). #### New * **AI permissions:** AI runtime usage and AI build-time tooling (AI Designer, agent building, code generation) are governed by two separate permissions. When AI is turned off, AI icons and entry points are hidden instead of shown disabled, and build-time helpers such as code generation and "Add comment" follow the dev-agent permission. * **File Preview:** scroll-trigger event handlers, including a "document end" trigger, let a flow detect when a user scrolls through a document or reaches its end, for example to enable an **Accept** button only after the user reaches the end of an agreement. * **File upload:** the upload button supports a configurable icon, set in the Designer. * **Microsoft Outlook:** connections support certificate-based authentication for Microsoft Graph, as an alternative to client-secret credentials. * **Script engine:** business rules, reusable functions, and node rules can each run on the native engine (the 5.9 default) or the legacy GraalVM engine. Rules created before the switch to native keep running on GraalVM until you migrate them, and new rules default to native. #### Changed * **AI Designer:** generates UI from a flat template format instead of 3-level nesting, supports more component types (including Multi-Select, Bulk File Upload, Table Cell, and Collection), edits existing templates incrementally instead of regenerating them, and can generate reusable UI templates. * **Kafka topics:** new topics carry runtime config-param change events, runtime instance terminations, resource cache evictions, and evaluation improvement suggestions. The Helm chart provisions them. * **Merge conflicts:** merge-conflict handling for custom components and UI Flows identifies resources more clearly. * **Organization settings:** navigation and design improvements. * **Platform Status:** reports AI Platform components and their databases alongside the core services. * **Runtime config params:** changes reach the process engine in near-real-time, so updated values take effect immediately instead of after a short cache delay. * **Workflows:** storage of running steps is optimized, workflows and processes launched from a UI Flow inherit the build of the parent UI Flow, and AI node failures show the error details and model reasoning in the workflow run logs. #### Fixed * **Actions:** GET actions no longer fire with undefined parameters. * **AI chat:** agent responses no longer reappear in chat after stop and refresh, and the builder-agent chat no longer duplicates messages. * **Copy to project:** copying a process or workflow to another project succeeds, and copied workflows appear in the target project. * **End-user login:** a null value is no longer cached when looking up the "All end-users" group, which could block logins until data sync completed. * **File Preview:** previews render correctly, events fire inside collections, a fixed height applies at runtime, and preview resources no longer fail with CORS errors. * **File Storage:** FTP test connection and file operations resolve configuration-parameter placeholders, and FTP file preview works when the root path has no leading slash. * **Forms to validate:** scrolling covers the full component hierarchy, placeholders update, and chat and tab-bar components are selected correctly. * **Hide and disable conditions:** conditions on UI templates, processes, and UI Flows apply at runtime for Designer users without workspace access. * **Invitations:** an invited Designer user added as an Organization owner is assigned to a workspace. * **Knowledge Base:** files that fail to upload because the content is too large no longer appear in the content source list. * **Modals:** dropdowns no longer flicker, and long key names no longer break the layout. * **Process instances:** loading an instance with a very large execution graph no longer crashes the browser. * **Task management:** headers follow the theme in React and Angular, and the filter window no longer disappears after applying criteria. * **Theme admin:** "copy to" no longer loses theme content. * **Timer events:** activating a start timer event after a new build regenerated the process resource ID no longer fails with a 500 (duplicate key) error. * **UI Flow:** images display in preview after refresh, and returning from an expired UI Flow no longer loses the theme UUID. * **Usage Overview:** opening a usage overview no longer fails with a 500 error. * **Web renderer:** the button shadow and modal content padding are restored, and components render when a media-file storage path is null. * **Workflows:** END PARALLEL output no longer includes data from before the parallel branches started, and NoSQL node run logs no longer crash when a node fails before building its options. #### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. [5.9.1 release notes](/release-notes/v5.x/v5.9.1-june-2026/v5.9.1-june-2026) · [5.9.1 deployment guidelines](/release-notes/v5.x/v5.9.1-june-2026/deployment-guidelines-v5.9.1) # Deployment guidelines v5.10 Source: https://docs.flowx.ai/release-notes/v5.x/v5.10.0-july-2026/deployment-guidelines-v5.10 Component versions and deployment notes for FlowX.AI 5.10 (SaaS release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.10 is a **SaaS-managed release**. Deployment-level changes — infrastructure, Kafka topics, and service configuration — are handled automatically by FlowX. The information below is provided for transparency. ## Component versions The versions below are the component versions that make up FlowX.AI 5.10.0. On SaaS these are managed by FlowX; the list is provided for transparency. ### Core components | Component | 5.10.0 | | - | - | | **admin** | 11.18.0 | | **advancing-controller** | 11.12.0 | | **application-manager** | 11.18.0 | | **audit-core** | 11.11.0 | | **authorization-system** | 11.14.0 | | **cms-core** | 11.14.0 | | **data-search** | 11.11.0 | | **data-sync** | 11.9.0 | | **designer** | 11.36.1 | | **document-plugin** | 11.19.0 | | **email-gateway** | 11.15.0 | | **events-gateway** | 11.14.0 | | **file-gateway** | 11.14.0 | | **integration-designer** | 11.24.2 | | **license** | 11.13.0 | | **nosql-db-runner** | 11.14.0 | | **notification-plugin** | 11.14.0 | | **organization-manager** | 11.14.0 | | **process-engine** | 11.19.3 | | **runtime-manager** | 11.18.0 | | **scheduler-core** | 11.11.0 | | **task-management-plugin** | 11.15.0 | | **webhook-gateway** | 11.13.0 | ### AI base components | Component | 5.10.0 | | - | - | | **embedder** | 11.2.0 | | **knowledgebase-indexer-v2** | 11.2.0 | | **knowledgebase-rag** | 11.2.0 | | **doc-parser** | 11.2.0 | ### AI dev-time components | Component | 5.10.0 | | - | - | | **ai-gateway** | 11.15.1 | | **ai-analyst** | 11.2.0 | | **ai-assistant** | 11.2.0 | | **ai-designer** | 11.2.0 | | **ai-developer** | 11.2.0 | | **kb-enrichment** | 11.2.0 | | **planner** | 11.2.0 | ### AI runtime components | Component | 5.10.0 | | - | - | | **agent-builder** | 11.2.0 | | **data-privacy** | 11.2.0 | | **doc-converter** | 11.2.0 | | **dynamic-classifier** | 11.2.0 | | **evals-judge** | 11.2.0 | | **speech-to-text** | 11.2.0 | | **web-crawler** | 11.2.0 | ### AI extensions | Component | 5.10.0 | | - | - | | **modpod** | 11.2.0 | | **observatory-api** | 11.0.2 | | **observatory-platform** | 11.0.2 | | **observatory-web** | 11.0.2 | ### Embedded components * **SpiceDB** — see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database) — bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ## Configuration changes > [!NOTE] > > On SaaS, required configuration changes are applied automatically by FlowX. The changes below are listed for transparency. Self-hosted deployments receive them, re-verified, with the next LTS release. ### New Kafka topics | Topic | Producer → Consumer | Purpose | | - | - | - | | `ai.flowx.core.trigger.resource.cache-evict.v1` | admin → process-engine | Resource cache eviction | | `ai.flowx.config.params.events.v1` | application-manager → process-engine | Config-param change notifications | | `ai.flowx.core.notify.terminated.runtime-instance.v1` | process-engine → integration-designer | Runtime-instance termination | | `ai.flowx.evals.suggestions.job.request.v1` / `.response.v1` | integration-designer | Evals suggestions job requests and responses | ### AI Platform service naming AI Platform services are now deployed under their plain names — the `ai-platform-` prefix is dropped from pod, service, and image names (for example, `ai-platform-agent-builder` becomes `agent-builder`). If you have monitoring dashboards, alerts, or log queries that match the prefixed names, update them when your environment moves to 5.10. This release also adds a new AI Platform component, **dynamic-classifier** (listed under AI runtime components above), which backs document classification. In `admin`, the single `FLOWX_FEATUREAVAILABILITY_AISERVICENAME` setting is replaced by two, reflecting the split between AI dev-time and AI runtime services: `FLOWX_FEATUREAVAILABILITY_AIDEVTIMESERVICENAME` (default `ai-gateway-mngt`) and `FLOWX_FEATUREAVAILABILITY_AIRUNTIMESERVICENAME` (default `agent-builder-mngt`). > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.10.0 Release Notes Source: https://docs.flowx.ai/release-notes/v5.x/v5.10.0-july-2026/v5.10.0-july-2026 What's new in FlowX.AI 5.10: PostgreSQL and SOAP data sources, AI Developer script-node code generation, file uploads in chat-driven apps, and AI and document-intelligence improvements. [FlowX.AI 5.10 release hero](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/hero-5.10.0.html) > [!NOTE] > > **FlowX.AI 5.10 is a SaaS release.** New capabilities are available on managed (SaaS) deployments; self-hosted deployments receive them with the next LTS release. > [!NOTE] > > **Deployment models:** > > * SaaS Managed FlowX cloud deployments > * All Deployments Available in both self-hosted and SaaS FlowX.AI 5.10 is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. This release adds PostgreSQL and SOAP data sources, multi-file upload in chat-driven apps, and a set of AI and document-intelligence capabilities, alongside broader audit coverage, roles that travel with copied resources, and workflow data-partitioning improvements. *** **What's new?** > [tab] Core & Platform > > 🗂️ [**Expanded audit logging**](#expanded-audit-logging) - Broader coverage of access and lifecycle actions\ > 📑 [**Copy with roles**](#copy-with-roles) - Roles travel with copied resources\ > ⚡ [**Platform performance and fixes**](#platform-performance-and-fixes) - Task-manager user fetch, project versioning, export/merge > [tab] Designer & Renderer > > 💬 [**Chat file upload**](#chat-file-upload) - Attach multiple files in conversational apps\ > ⬇️ [**File download component**](#file-download-component) - Download files from a rendered app (web and Android)\ > 🔀 [**Conditional event-handler triggers**](#conditional-event-handler-triggers) - Fire event handlers based on a condition\ > 🎨 [**Image color property**](#image-color-property) - Color control on the IMAGE component\ > 💾 [**Save local variable**](#save-local-variable-action) - Capture a collection row into local data on click\ > 🪟 [**Global header and footer**](#global-header-and-footer) - Consistent header and footer across a UI Flow\ > 🧩 [**Reusable UI templates**](#reusable-ui-templates) - Action mapping, undo/redo, and dependency-version fixes > [tab] Integrations & Data > > 🐘 [**PostgreSQL data source**](#postgresql-data-source) - Connect workflows directly to PostgreSQL and run SQL queries\ > 🧼 [**SOAP integration**](#soap-integration) - Import a WSDL and call SOAP operations from workflows\ > 🧮 [**FlowX Database aggregation**](#flowx-database-aggregation) - MongoDB aggregation pipelines\ > 🗄️ [**Documents tab in database testing**](#documents-tab-in-database-testing) - Inspect data while testing DB operations > [tab] AI & Documents > > 📊 [**Tabular data extraction node**](#tabular-data-extraction-node) - Read spreadsheets and CSV into workflow data\ > 🔁 [**Knowledge Base error handling**](#knowledge-base-error-handling-and-retry) - Retry failed KB ingestion\ > ✨ [**AI Developer: script-node code**](#ai-developer-generate-script-node-code) - Generate node code from a prompt\ > 🧪 [**AI evaluation experiments**](#ai-evaluation-experiments) - Multiple datasets and improvement suggestions\ > 🛡️ [**AI node output reliability**](#ai-node-output-reliability) - Schema validation with auto-repair and clearer run errors\ > 📝 [**Template Filling node**](#template-filling-node) - Generate documents from templates in workflows\ > 🗂️ [**File manipulation nodes**](#file-manipulation-nodes) - Combine and split files in workflows\ > 📄 [**DOCX document generation**](#docx-document-generation) - Generate documents as DOCX in addition to PDF\ > 🏷️ [**Document Tag**](#document-tag-renamed-from-document-type) - "Document Type" renamed\ > 🔑 [**Mistral model provider**](#mistral-model-provider) - Bring your own Mistral API key ### **Expanded audit logging** > [card] Broader audit coverage for access and lifecycle actions > > Audit logging now records a wider set of actions: **sharing**, **user invitations**, **designer-user, end-user, and group management**, and actions on **process instances** and **UI flows**. Adding a dependency is now audited, and terminating process, workflow, or UI-flow instances is captured as well. > All Deployments ### **Copy with roles** > [card] Roles travel with copied resources > > Copying a process or UI flow to another project now also copies the resource's associated **roles**, so access configuration no longer has to be recreated by hand after a copy. > All Deployments ### **Platform performance and fixes** > [card] Platform performance and fixes > > > [tab] Performance > > > > The task manager fetches users through the authorization-system instead of calling Keycloak directly, cutting per-request identity lookups. > > > > MongoDB partition archiving scales for large datasets, with partition-ID backfill for legacy data and archiving fixes on PostgreSQL and Oracle. > > > [tab] Bug fixes > > > > > [accordion] Core platform fixes > > > > > > * **Project selector:** projects without a work-in-progress branch are correctly shown as unavailable. > > > * **Start Solution:** no longer fails with "no entry point set" until the page is refreshed. > > > * **Export and merge:** fixed errors when exporting a project build with imported libraries and when merging project versions, including a 500 during merge. > > > * **Merge-conflict checks:** no longer fail on processes that contain conflicts. > > > * **Allocation roles:** candidate-user search works for users without runtime permissions on the asset. > > > * **Version switching:** the selected resource opens when changing app versions, and reusable-function code refreshes on version switch. > > > * **Process engine:** resolved an incident-save deadlock. > > > * **FlowX Database:** inserting a document with a reserved `_id` key is now rejected with a clear error instead of breaking later reads. > > All Deployments ### **PostgreSQL data source** > [card] Connect to PostgreSQL databases from workflows > > > [tab] Overview > > > > Integration Designer adds **PostgreSQL** as a data source type, alongside Oracle. Connect a workflow directly to a PostgreSQL database and run SQL queries against it as a workflow node, without a custom REST wrapper. See the [PostgreSQL Database](/5.9/docs/platform-deep-dive/integrations/postgresql-database) documentation. > > > [tab] Key Features > > > > > [card] Direct connection > > > > > > Configure host, port, database, schema, and credentials, with an optional SSL connection and a **Test connection** check before saving. > > > > > [card] SQL query operations > > > > > > Define SQL query operations on the data source and call them from workflow nodes. > > > > > [card] Connection pool tuning > > > > > > Advanced settings cover pool size, connection and query timeouts, keep-alive, and a validation query. > > > > > [card] Familiar experience > > > > > > Shares the same configuration and operations experience as the existing Oracle data source. > > SaaS ### **SOAP integration** > [card] Call SOAP web services from workflows > > > [tab] Overview > > > > Integration Designer adds a **SOAP System** data source. Import the service's **WSDL** — from a URL or an uploaded file — and FlowX discovers the operations with their input, output, and fault schemas, composes the SOAP envelope at runtime, and lets you call each operation from workflows through a **SOAP Operation** node. See the [SOAP System](/5.9/docs/platform-deep-dive/integrations/soap-system) documentation. > > > [tab] Key Features > > > > > [card] WSDL import > > > > > > Preview and select the operations to import; re-import refreshes schemas while preserving your edits > > > > > [card] Typed variables > > > > > > Envelope variables extracted from the input XSD, referenced as workflow parameters > > > > > [card] SOAP 1.1 and 1.2 > > > > > > Version derived from the WSDL, with standard headers set automatically > > > > > [card] Testing built in > > > > > > Test operations with value overrides, a curl preview, and full request/response envelopes in run logs > > SaaS ### **Reusable UI templates** > [card] Reusable UI template fixes > > Reusable UI templates get more reliable action mapping, undo/redo, and dependency-version handling. > > All Deployments ### **Chat file upload** > [card] Attach multiple files in conversational apps > > End users can attach multiple files at once in chat-driven apps, and conversational workflows can receive those files as input. Uploaded files are extracted and indexed into a knowledge base scoped to the chat session, so AI nodes answer grounded in that content. Configurable in the Designer and themable, with runtime support on the web renderer. > > Session knowledge bases are isolated per conversation and per tenant, and are excluded from app export. > > Learn more about [chat-driven workflows](/5.9/ai-platform/chat-driven-workflows). > SaaS ### **File download component** > [card] Download files from a rendered app > > A new File Download component lets end users download files directly from a rendered app. Configured in the Designer, with runtime support on web and Android. > > For more information, see the [File download](/5.9/docs/building-blocks/ui-designer/ui-component-types/file-download) documentation. > SaaS ### **Conditional event-handler triggers** > [card] Fire event handlers based on a condition > > Event handlers can now fire conditionally, configured in the Designer and honored by the web and Android renderers. > > For more information, see the [event handlers](/5.9/docs/building-blocks/ui-designer/event-handlers) documentation. > SaaS ### **Image color property** > [card] Color control on the IMAGE component > > The IMAGE component now honors a color property, configured in the Designer and rendered on web and Android. > > See the [Image component](/5.9/docs/building-blocks/ui-designer/ui-component-types/image) documentation. > SaaS ### **Save local variable action** > [card] Capture a collection row into local data > > Event handlers gain a **Save Local Variable** action type: on a component inside a collection, it saves the clicked row's item into local data under a configurable key, entirely client-side with no backend roundtrip — useful for capturing the selected row before a follow-up action fires. Not available inside Reusable UI Templates. > > See the [Save Local Variable](/5.9/docs/building-blocks/ui-designer/event-handlers#save-local-variable) documentation. > SaaS ### **Global header and footer** > [card] Consistent header and footer across a UI Flow > > UI Flows can now define a **global header and footer** that display consistently across every page of the flow. Each holds content components — containers, forms, buttons, links, custom components — with fixed or static positioning (header fixed by default), so you can build persistent navigation or action bars in one place instead of per page. > > See the [Global Header and Footer](/5.9/docs/building-blocks/ui-designer/ui-component-types/root-components/global-header-footer) documentation. > SaaS ### **Tabular data extraction node** > [card] Extract spreadsheet and CSV data into workflows > > A new workflow node reads a spreadsheet or CSV file and returns its contents as structured JSON in the node's response key, so the data can drive conditions and data operations downstream. Each row is returned as an object keyed by the file's header row, and for Excel files you can select which sheet to read. > > For more information, see the [Tabular Data Extraction node](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#tabular-data-extraction-node) documentation. > SaaS ### **Knowledge Base error handling and retry** > [card] Recover from failed Knowledge Base ingestion > > When Knowledge Base ingestion fails, the Knowledge Base page now shows a clear failure status and reason, and a **Retry** button re-runs the last operation after cleaning up partial content so the store is not left inconsistent. The **Update Knowledge Base** workflow node gains a **FAIL** exit handle with per-operation rollback. > > Learn more about [Knowledge Bases](/5.9/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview). > SaaS ### **AI Developer: generate script-node code** > [card] Generate script-node code with AI Developer > > In the workflow designer, a script node can call **AI Developer** to generate or refactor its code from a natural-language prompt. Output streams into the test area for a **Keep** or **Discard** review, with edits shown as a diff. Supports JavaScript and Python, and respects existing AI Developer permissions. > > Learn more about [AI Developer](/5.9/ai-platform/pre-built-agents/ai-developer). > SaaS ### **FlowX Database aggregation** > [card] Aggregation pipelines in FlowX Database > > The FlowX Database data source adds MongoDB **aggregation pipeline** support, so configurators can group, join, reshape, and compute across documents beyond what a single query allows. > > Learn more about the [FlowX Database](/5.9/docs/platform-deep-dive/integrations/flowx-database) data source. > SaaS ### **AI evaluation experiments** > [card] Richer AI evaluation experiments > > > [tab] Multiple datasets > > > > An evaluation experiment can run against **multiple datasets** at once (datasets sharing the same AI node), with overall metrics aggregated across them and a dataset column added to the report. > > > [tab] Improvement suggestions > > > > Experiment reports now show **AI-generated suggestions** for improving the node's prompt, grouped per LLM-as-judge evaluator, beneath the score cards. > > Learn more about [AI evaluations](/5.9/ai-platform/evaluations). > SaaS ### **AI node output reliability** > [card] Schema validation with auto-repair and clearer run errors > > > [tab] Validation and repair > > > > When an AI node has a **Response Schema**, the response is validated against it and automatically retried with a repair prompt on mismatch. Nodes that still fail return a **categorized error** instead of passing malformed output downstream, and the node's **Logs** show the failure reason, rejected output, the model's reasoning summary, and the retry count. > > > [tab] Schema placeholders > > > > Response schemas now support `${variable}` placeholders resolved at runtime against workflow data, with substituted values coerced to the schema-declared types — consistent with how other AI-node fields resolve placeholders. > > See [AI node types](/5.9/ai-platform/agent-builder/node-types#structured-output-validation-and-run-diagnostics) for details. > SaaS ### **Template Filling node** > [card] Generate documents from templates in workflows > > Integration workflows gain a **Template Filling** node, under **Tools** in the node palette, that generates a document from a document template populated with workflow data. Select a template and language, fill the template's variables from workflow data, and choose **PDF** or **DOCX** output. The generated file's ID and download path are returned on the node's response key. > > See the [Template Filling node](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#template-filling-node) documentation. > SaaS ### **File manipulation nodes** > [card] Combine and split files in workflows > > Integration workflows add two document nodes, under **Tools** in the node palette: **Combine Files** merges multiple PDFs into one in a given order, and **Split File** breaks a PDF into multiple files by page ranges or one file per page. Both bring document handling that was previously process-only into workflows. > > See the [Combine Files](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#combine-files-node) and [Split File](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#split-file-node) documentation. > SaaS ### **DOCX document generation** > [card] Generate documents as DOCX > > Template-based document generation can now produce **DOCX** files in addition to PDF. Set `outputFormat` (`PDF` or `DOCX`; defaults to `PDF`) on the generation request, or pick the format from the new **Output format** dropdown when testing a template in the Designer. Generated DOCX files preserve the template's styles, data, and images. Barcodes apply to PDF output only. > > Learn more in the [Generating documents](/5.9/docs/platform-deep-dive/core-extensions/content-management/documents-plugin/generating-from-html-templates#generating-docx-output) documentation. > SaaS ### **Document Tag (renamed from Document Type)** > [card] Document Type is now Document Tag > > The **Document Type** field is renamed **Document Tag** across the surfaces where a document is tagged for storage (Upload File action, Document-Plugin REST responses, AI Document Generation, and the Web Page Extractor). This is a label change; behavior is unchanged. > SaaS ### **Documents tab in database testing** > [card] Inspect data while testing database operations > > The Database Query testing modals gain a **Documents** tab, so you can inspect the database right after running an operation. Multi-record operations report an affected-record count. > SaaS ### **Mistral model provider** > [card] Bring your own Mistral API key > > **Mistral** joins the model provider catalog as a bring-your-own-key provider. Add it with your own API key under **Organization Settings** → **AI Settings** → **Model Providers**, then assign its models per capability: chat, image understanding, embeddings, and document OCR. The seeded catalog covers the Mistral Large, Medium, Small, Magistral, Codestral, Pixtral, OCR, and Embed model lines. > > Learn more about [AI providers](/5.9/ai-platform/ai-providers). > SaaS *** ## Deployment guidelines FlowX.AI 5.10 is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. For component versions and infrastructure notes, see the [5.10 deployment guidelines](./deployment-guidelines-v5.10). # Deployment guidelines v5.11 Source: https://docs.flowx.ai/release-notes/v5.x/v5.11.0-august-2026/deployment-guidelines-v5.11 Component versions and deployment notes for FlowX.AI 5.11 (SaaS release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.11 is a **SaaS-managed release**. Deployment-level changes — infrastructure, Kafka topics, and service configuration — are handled automatically by FlowX. The information below is provided for transparency. ## Component versions The versions below are the component versions that make up FlowX.AI 5.11.0. On SaaS these are managed by FlowX; the list is provided for transparency. ### Core components | Component | 5.11.0 | | - | - | | **admin** | 11.53.0 | | **advancing-controller** | 11.31.0 | | **application-manager** | 11.46.0 | | **audit-core** | 11.30.0 | | **authorization-system** | 11.38.0 | | **cms-core** | 11.43.0 | | **data-search** | 11.30.0 | | **data-sync** | 11.27.0 | | **designer** | 11.89.1 | | **document-plugin** | 11.47.0 | | **email-gateway** | 11.39.0 | | **events-gateway** | 11.34.0 | | **file-gateway** | 11.38.0 | | **integration-designer** | 11.62.1 | | **license** | 11.34.0 | | **nosql-db-runner** | 11.35.0 | | **notification-plugin** | 11.41.0 | | **organization-manager** | 11.38.0 | | **process-engine** | 11.53.1 | | **runtime-manager** | 11.46.0 | | **scheduler-core** | 11.30.0 | | **task-management-plugin** | 11.42.0 | | **webhook-gateway** | 11.37.0 | ### AI base components | Component | 5.11.0 | | - | - | | **embedder** | 11.3.1 | | **knowledgebase-indexer-v2** | 11.3.1 | | **knowledgebase-rag** | 11.3.1 | | **doc-parser** | 11.3.1 | ### AI dev-time components | Component | 5.11.0 | | - | - | | **ai-gateway** | 11.39.0 | | **ai-analyst** | 11.3.1 | | **ai-assistant** | 11.3.1 | | **ai-designer** | 11.3.1 | | **ai-developer** | 11.3.1 | | **kb-enrichment** | 11.3.1 | | **planner** | 11.3.1 | ### AI runtime components | Component | 5.11.0 | | - | - | | **agent-builder** | 11.3.1 | | **ai-architect** | 11.3.1 | | **data-privacy** | 11.3.1 | | **doc-converter** | 11.3.1 | | **dynamic-classifier** | 11.3.1 | | **evals-judge** | 11.3.1 | | **speech-to-text** | 11.3.1 | | **web-crawler** | 11.3.1 | ### AI extensions | Component | 5.11.0 | | - | - | | **modpod** | 11.0.1 | | **observatory-api** | 11.3.0 | | **observatory-platform** | 11.3.0 | | **observatory-web** | 11.3.0 | ### Embedded components * **SpiceDB** — see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database) — bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers The web SDKs ship at the **designer** version (`11.89.1` for FlowX.AI 5.11.0). The native iOS and Android renderers version independently. | Component | 5.11.0 | | - | - | | **@flowx/angular-sdk** | 11.89.1 | | **@flowx/angular-theme** | 11.89.1 | | **@flowx/angular-ui-toolkit** | 11.89.1 | | **@flowx/react-sdk** | 11.89.1 | | **@flowx/react-theme** | 11.89.1 | | **@flowx/react-ui-toolkit** | 11.89.1 | | **@flowx/react-native-sdk** | 11.89.1 | | **@flowx/react-native-theme** | 11.89.1 | | **@flowx/react-native-ui-toolkit** | 11.89.1 | | **@flowx/core-sdk** | 11.89.1 | | **@flowx/core-theme** | 11.89.1 | | **react-saas** | 11.89.1 | | **iOS renderer** | 11.1.0 | | **Android renderer** | 11.7.1 | The **react-saas** container app tracks the designer version. ## Configuration changes > [!NOTE] > > On SaaS, required configuration changes are applied automatically by FlowX. The changes below are listed for transparency. Self-hosted deployments will receive them, re-verified, with the next LTS release family. ### New Kafka topics These topics back new 5.11 capabilities. On SaaS they are created and managed automatically. **Structured template data model** (document and notification templates move to the structured data model): | Topic | Producer → Consumer | | - | - | | `ai.flowx.plugin.template-data-model.migration.v1` | admin → document-plugin, notification-plugin | | `ai.flowx.application-version.sync.document-template.in.v1` | application-manager → document-plugin | | `ai.flowx.application-version.sync.notification-template.in.v1` | application-manager → notification-plugin | | `ai.flowx.application-version.sync.out.v1` | document-plugin, notification-plugin → application-manager | | `ai.flowx.application-version.correction-after-app-operation.document-template.request.v1` | application-manager → document-plugin | | `ai.flowx.application-version.correction-after-app-operation.notification-template.request.v1` | application-manager → notification-plugin | | `ai.flowx.application-version.correction-after-app-operation.response.v1` | document-plugin, notification-plugin → application-manager | **Runtime content import/export** (Knowledge Base and database content): | Topic | Producer → Consumer | | - | - | | `ai.flowx.runtime-content.task.request.v1` | application-manager → integration-designer | | `ai.flowx.runtime-content.task.response.v1` | integration-designer → application-manager | | `ai.flowx.ai-platform.knowledgebase.job.request.v1` | integration-designer → ai-platform | | `ai.flowx.ai-platform.knowledgebase.job.response.v1` | ai-platform → integration-designer | **Document classification and ML extraction:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.dynamic-classifier.job.request.v1` | integration-designer → dynamic-classifier | | `ai.flowx.dynamic-classifier.job.response.v1` | dynamic-classifier → integration-designer | | `ai.flowx.plugin.document.trigger.ml-archive-extract.v1` | integration-designer → document-plugin | | `ai.flowx.plugin.document.ml-archive-extract.results.v1` | document-plugin → integration-designer | | `ai.flowx.ai-platform.doc-parser.job.response.ml.v1` | ai-platform → integration-designer | ### AI Platform packaging FlowX.AI 5.11 consolidates the AI Platform services into a single **`ai-platform` umbrella chart** (version `11.3.1`). Services that were previously deployed as standalone releases, including `doc-parser`, `doc-converter`, `data-privacy`, `speech-to-text`, `web-crawler`, and `evals-judge`, now ship as subcharts of that chart and continue to run under their plain service names. On SaaS this change is applied automatically. The [component versions](#component-versions) section lists each service at its effective `11.3.1` version. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.11.0 Release Notes Source: https://docs.flowx.ai/release-notes/v5.x/v5.11.0-august-2026/v5.11.0-august-2026 What's new in FlowX.AI 5.11: workflow tools and agentic RAG on Custom Agents, per-Knowledge-Base embedding models, document classification, extended response caching, subworkflow data mapping, structured template data models, and chat and UI Flow renderer improvements. [FlowX.AI 5.11 release hero](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/hero-5.11.0.html) > [!NOTE] > > **FlowX.AI 5.11 is a SaaS release.** New capabilities are available on managed (SaaS) deployments; self-hosted deployments will receive them with the next LTS release family. > [!NOTE] > > **Deployment models:** > > * SaaS Managed FlowX cloud deployments > * All Deployments Available in both self-hosted and SaaS FlowX.AI **5.11** is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. This release turns Custom Agents into orchestrators that call FlowX workflows as tools and search knowledge bases agentically, adds per-Knowledge-Base embedding models with local embedders for personal-information content, and introduces document classification. It also extends response caching and subworkflow data mapping in the Integration Designer, moves document and notification templates onto the structured data model, and adds chat notifications, session ownership, and richer runtime audit to the renderers. ### What changed since 5.10.0 | 5.10.0 | 5.11.0 | | - | - | | Custom Agents call MCP servers, built-in tools, web search, and Knowledge Bases | + **FlowX workflows as callable tools** on a Custom Agent, with per-tool usage hints and tool-calling caps | | Knowledge Base retrieval is a plain vector search on the org default embedding model | + **Agentic knowledge base search** and **per-KB embedding models**, including keyless local embedders for personal-information content | | REST caching covers GET; SQL operations are cacheable | + **POST** REST responses, **file-storage** reads, and **Mongo** reads are cacheable too | | Subworkflow input/output is raw JSON | + **Input and output mappers** on the Subworkflow node, with per-mapping test and import/export | | Document and notification templates use a free-form key/value Data model tab | + Templates use the **structured data model** with typed attributes, validators, and Input Parameters | *** **What's new?** > [tab] AI & Agents > > 🧰 [**Workflow tools on Custom Agents**](#workflow-tools-on-custom-agents) - Attach FlowX workflows as callable agent tools, with usage hints and tool-calling caps\ > 🔎 [**Agentic knowledge base search and Show Reasoning**](#agentic-knowledge-base-search-and-show-reasoning) - Query decomposition, relevance grading, and a reasoning summary in the run log\ > 🧠 [**Per-knowledge-base embedding models**](#per-knowledge-base-embedding-models) - Pick an embedding model per KB and keep personal-information content on a local embedder\ > 🗂️ [**Knowledge Base content lifecycle**](#knowledge-base-content-lifecycle) - Delete entries by metadata filter, structured failure handling, per-chunk timestamps\ > 🏷️ [**Document classification**](#document-classification) - Train or import a classifier and route document pages in a workflow\ > 💬 [**Conversational chat reply requirement**](#conversational-chat-reply-requirement) - A conversational run that never replies to chat now fails with a clear error\ > ✍️ [**Custom Agent instruction limit**](#custom-agent-instruction-limit) - The Instructions field is capped at 10,000 characters > [tab] Integrations & Data > > 🔁 [**Reusable functions in Integration Designer**](#reusable-functions-in-integration-designer) - Call reusable functions from Script and Condition (Fork) nodes\ > ⚡ [**Extended response caching**](#extended-response-caching) - Cache POST REST, file-storage reads, and Mongo reads alongside GET and SQL\ > 🔗 [**Subworkflow data mapping**](#subworkflow-data-mapping) - Map data in and out of a subworkflow with input and output mappers\ > 📎 [**Email attachment filtering by extension**](#email-attachment-filtering-by-extension) - Filter attachments by individual file extension instead of broad categories > [tab] Platform > > 🧱 [**Structured data model for templates**](#structured-data-model-for-templates) - Document and notification templates use typed attributes and Input Parameters\ > ✅ [**Data model attribute validators**](#data-model-attribute-validators) - Required, min/max, length, pattern, email, items, and currency rules on attributes\ > 🧾 [**UI Flow runtime audit**](#ui-flow-runtime-audit) - Audit workflow-instance runs, chat messages, conversation reads, and process renders\ > 📤 [**Cross-version export adaptation**](#cross-version-export-adaptation) - Exports adapt UI templates for older LTS targets by removing unsupported handlers\ > 🔐 [**Platform and runtime improvements**](#platform-and-runtime-improvements) - Runtime access-control hardening > [tab] Renderers & UI Flows > > 🔔 [**Chat notifications and conversation search**](#chat-notifications-and-conversation-search) - Unread-message badge on the chat button and search across conversation history\ > 🚫 [**Disable chat input on a condition**](#disable-chat-input-on-a-condition) - A business condition can make the chat input read-only\ > 🧭 [**Navigate To form validation**](#navigate-to-form-validation) - Require form validation before a Navigate To action, on web, iOS, and Android\ > ⌛ [**Expired UI Flow sessions**](#expired-ui-flow-sessions) - Expired sessions show a session-expired screen with a start-fresh option\ > 👤 [**UI Flow session owner**](#ui-flow-session-owner) - Restrict a running session to a single user\ > 🏁 [**Process Renderer process-end handling**](#process-renderer-process-end-handling) - Run a configurable action when an embedded process ends\ > 🎛️ [**Renderer improvements**](#renderer-improvements) - Batched enumeration fetch and process-start loader alignment ### **Workflow tools on Custom Agents** > [card] Attach FlowX workflows as callable tools on a Custom Agent > > > [tab] Overview > > > > **Before 5.11:** a Custom Agent's tools were MCP servers, built-in tools, web search, and Knowledge Base retrieval. **Now:** you can also attach FlowX workflows as callable tools. > > > > In the Custom Agent node's **Tools** section, add a workflow as a tool and fill the per-tool **When should the agent use this workflow?** hint that tells the agent when to call it. The agent calls the workflow like any other tool, passing arguments that match the workflow's Start-node input parameters. A workflow with no input parameters cannot be attached. Each tool call starts a fresh workflow run whose output returns to the agent, and the child run is linked in the console log. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/integrations/custom-agent-node) > > > > > > See the Custom Agent node documentation. > > > [tab] Key Features > > > > > [card] Workflows as tools > > > > > > Attach up to ten workflows as tools on one Custom Agent, each with a usage hint the agent reads when deciding to call it. > > > > > [card] Typed arguments > > > > > > The agent passes arguments that match the workflow's Start-node input parameters; workflows without input parameters are not eligible. > > > > > [card] Tool-calling limits > > > > > > An agent is limited in how many tool calls it can make per run, and workflow-tool call chains are depth-limited so recursion cannot run away. > > > > > [card] Linked runs > > > > > > Each workflow tool call is a fresh run whose output returns to the agent and is linked in the console log. > > SaaS ### **Agentic knowledge base search and Show Reasoning** > [card] Agentic knowledge base search and reasoning summaries > > > [tab] Overview > > > > The Custom Agent node gains **agentic knowledge base search** and a **Show Reasoning** toggle. > > > > With agentic search on, the agent breaks a question into sub-queries, retrieves and grades results for relevance, and retries with reworded queries if the first pass finds nothing. It is better on complex questions and uses more model calls; a single pass with three sub-queries is the default. Agentic search never returns worse results than plain retrieval. **Show Reasoning** captures the model's reasoning summary in the run and console log; the structured response and the chat reply shown to the user are unchanged. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/integrations/custom-agent-node) > > > > > > See the Custom Agent node documentation. > > > [tab] Key Features > > > > > [card] Agentic search > > > > > > Turn on **Enable agentic knowledge base search**, then set **Max attempts** and **Subqueries per attempt** under Settings. > > > > > [card] Relevance grading > > > > > > Retrieved candidates are graded against the original question, with corrective retries until a relevant result is found or the attempt budget is spent. > > > > > [card] Show Reasoning > > > > > > Surface the model's reasoning in the run log without changing the answer returned to the user. > > > > > [card] Fail-open > > > > > > Agentic mode returns the same chunk metadata as plain retrieval, so citations and telemetry are unchanged. > > SaaS ### **Per-knowledge-base embedding models** > [card] Per-KB embedding models and local embedders for personal information > > > [tab] Overview > > > > Knowledge Bases can now use a **per-KB embedding model**, and a KB that holds personal information can keep its content on a local embedder. > > > > Turn on **Containing Personal Information** on a Knowledge Base to enable a local embedding model, then pick one from the **Embedding model** list. Local embedders (for example a text-embedding-inference or Ollama endpoint, or any OpenAI-compatible endpoint) are configured as a single **CUSTOM** provider in the organization AI settings, with a free-form base URL and no API key. The embedding model is set before the first store and cannot be changed afterward. Non-personal-information Knowledge Bases use the organization's default embedding model. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview) > > > > > > See the Knowledge Base documentation. > > > [tab] Key Features > > > > > [card] Per-KB model > > > > > > Each Knowledge Base carries its own embedding-model reference; a new Settings tab shows the current model. > > > > > [card] Local embedders > > > > > > Keep personal-information content on-box using a keyless local embedder fronted by a CUSTOM AI provider. > > > > > [card] Model travels with export > > > > > > Project version export preserves the KB's embedding-model reference, so a re-import keeps the same model. > > > > > [card] Set once per KB > > > > > > A Knowledge Base's embedding model is chosen before its first store and cannot be changed afterward. > > SaaS ### **Knowledge Base content lifecycle** > [card] Delete entries by filter, structured failure handling, and per-chunk timestamps > > > [tab] Overview > > > > The **Update Knowledge Base** node gains a **Delete entries** operation and structured failure handling, and retrieval results now carry per-chunk metadata. > > > > **Delete entries** soft-deletes chunks whose entry-level metadata matches a filter, in one store or across the Knowledge Base; an empty or match-all filter is rejected so a misconfigured node cannot wipe a store. When an update operation fails, the node's **FAIL** branch returns a structured output with the operation, store, failure reason, and how many chunks were rolled back, and any partial changes are reversed. Retrieval results now include a per-chunk identifier and an ingestion timestamp. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/integrations/knowledge-base-integration/managing-content) > > > > > > See the Managing Knowledge Base content documentation. > > > [tab] Key Features > > > > > [card] Filtered deletion > > > > > > Delete entries by metadata filter from a workflow, with an empty or match-all filter rejected as a safety guard. > > > > > [card] Failure output with rollback > > > > > > The FAIL branch reports the operation, store, reason, and rolled-back chunk count; partial changes are reversed. > > > > > [card] Per-chunk timestamps > > > > > > RAG results carry a chunk identifier and an ingestion timestamp (empty for chunks indexed before this shipped). > > > > > [card] Clear retry signal > > > > > > Retryable failures such as extraction or chunking errors are distinguished from non-retryable ones such as size or timeout. > > SaaS ### **Document classification** > [card] Classify document pages with a trainable ML model > > > [tab] Overview > > > > FlowX.AI adds **Document Classifiers**: deterministic ML models that sort document pages into categories. Define classes, upload training data, and train or import a model, then route each page in a workflow with the new **Document Classification** node. > > > > The node runs the active model over a document, returns a predicted label and probability per page with a configurable confidence threshold, and flags low-confidence pages. A page-level failure does not fail the node. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/integrations/integration-designer) > > > > > > See the Integration Designer documentation. > > > [tab] Key Features > > > > > [card] Train or import > > > > > > Build classes and training data in the Designer, then train a model or import a pre-trained one. > > > > > [card] Per-page classification > > > > > > The Document Classification node returns a label and probability for each page, with a confidence threshold and low-confidence flags. > > > > > [card] Deterministic routing > > > > > > Combine the node with a condition to route pages by their predicted category. > > > > > [card] Resilient runs > > > > > > A page that cannot be classified is reported per page without failing the whole node. > > SaaS ### **Conversational chat reply requirement** > [card] Conversational runs must reply to chat > > A conversational (chat-driven) workflow must send at least one chat reply, either from a Custom Agent node with **Send as Chat Reply** on or from a Navigate in UI Flow node that completes the turn. A run that reaches the end without replying now fails with a clear error instead of ending silently. > > Learn more about [chat-driven workflows](/5.9/ai-platform/chat-driven-workflows). > SaaS ### **Custom Agent instruction limit** > [card] Instructions field capped at 10,000 characters > > The Custom Agent **Instructions** field is now limited to 10,000 characters. > SaaS ### **Reusable functions in Integration Designer** > [card] Call reusable functions from Script and Condition (Fork) nodes > > Reusable functions can now be called from **Script** nodes and **Condition (Fork)** nodes in the Integration Designer, not just from Business Rule actions in processes. Functions are referenced in the node's JavaScript or Python and resolved at runtime from the app version's function copies, including functions that call other functions and cross-app references. A Fork node resolves the references used across all of its branch conditions. > > For more information, see the [reusable functions](/5.9/docs/building-blocks/reusable-resources/reusable-functions) documentation. > SaaS ### **Extended response caching** > [card] Cache POST REST, file-storage reads, and Mongo reads > > > [tab] Overview > > > > Response caching in the Integration Designer now covers more operation types. **POST** REST endpoints are cacheable alongside GET, with the request body forming part of the cache key so different bodies cache separately. Read **file-storage** operations (LIST and DOWNLOAD) and read **Mongo** operations (FIND, FIND\_ONE, AGGREGATE) are cacheable alongside SQL. Mutating operations are never cached. > > > > For more information, see the [Integration Designer](/5.9/docs/platform-deep-dive/integrations/integration-designer) documentation. > > > [tab] Key Features > > > > > [card] POST caching > > > > > > Cache POST responses, keyed on the request body so distinct requests stay separate. > > > > > [card] File-storage reads > > > > > > LIST and DOWNLOAD operations are cacheable; UPLOAD, DELETE, and MOVE are not. > > > > > [card] Mongo reads > > > > > > FIND, FIND\_ONE, and AGGREGATE are cacheable alongside SQL; mutating Mongo operations are not. > > > > > [card] Shared policy > > > > > > All cacheable surfaces reuse the same time-based expiry and per-operation clear-cache action. > > SaaS ### **Subworkflow data mapping** > [card] Map data in and out of a subworkflow with input and output mappers > > > [tab] Overview > > > > The **Subworkflow** node adds data mapping as an alternative to raw JSON. Turn on **Enable data mapping** to define an **Input mapping** per subworkflow start node and an **Output mapping** per end node, mapping individual data slices instead of hand-editing JSON. Output mapping does not apply to asynchronous subworkflows. Each mapping opens a mapper with a test action, and mappings travel with import, export, and clone. > > > > For more information, see the [Integration Designer](/5.9/docs/platform-deep-dive/integrations/integration-designer) documentation. > > > [tab] Key Features > > > > > [card] Input and output mappers > > > > > > Map data into the subworkflow per start node and out of it per end node, without editing raw JSON. > > > > > [card] Per-mapping test > > > > > > Test a mapping with source and target slices and apply values from a past instance. > > > > > [card] Travels with the project > > > > > > Mappings are preserved on import, export, and clone. > > > > > [card] Async-aware > > > > > > Output mapping is hidden for asynchronous subworkflows, which do not return data to the caller. > > SaaS ### **Email attachment filtering by extension** > [card] Filter email attachments by individual file extension > > Email Trigger and Microsoft Outlook data sources now filter attachments by **individual file extension** instead of the five broad file-type categories. Choose the exact extensions to accept and to forward into a process. Existing category selections are migrated to their individual extensions automatically on upgrade, so current triggers keep working. > > For more information, see the [Email Trigger](/5.9/docs/platform-deep-dive/integrations/email-trigger) documentation. > SaaS ### **Structured data model for templates** > [card] Document and notification templates use the structured data model > > > [tab] Overview > > > > **Before 5.11:** document and notification templates declared parameters in a free-form key/value Data model tab. **Now:** templates use the same structured data model as the rest of the platform. > > > > On the **Data Model** tab you define typed attributes with validations, sensitive-data and reporting flags, and references to project or library data types. On the **Input Parameters** tab you select which attributes the template expects. Values sent in the request are substituted for those attributes at generation time. > > > > > [card] [Documentation](/5.9/docs/platform-deep-dive/core-extensions/content-management/notifications-plugin/managing-notification-templates) > > > > > > See the notification templates documentation. > > > [tab] Key Features > > > > > [card] Typed attributes > > > > > > Define string, number, boolean, enum, date, currency, object, and array attributes with validations. > > > > > [card] Input Parameters > > > > > > Pick the attributes the template expects on a dedicated Input Parameters tab. > > > > > [card] Reference shared types > > > > > > Reference project and library data types like other resources. > > > > > [card] OTP unchanged > > > > > > The OTP flow contract is unchanged; the reserved `otpValue` and request `data` object work as before. > > SaaS ### **Data model attribute validators** > [card] Validators on data model attributes > > Data model attributes now support validators. Available rules depend on the attribute type and include **Required**, **Min/Max Value**, **Min/Max Length**, **Pattern**, **Email Format**, and **Min/Max Items**, plus currency-specific amount and code rules. Validators are stored on the attribute and apply wherever that data model is used, including project, process, template, and reusable UI template data models. > > For more information, see the [project data model](/5.9/docs/building-blocks/project-data-model) documentation. > SaaS ### **UI Flow runtime audit** > [card] Audit UI Flow runtime activity > > UI Flow runtime sessions are now audited in more detail. The audit log records **workflow-instance** runs, chat **message sends**, conversation **list** and **history** reads, and whether the Process Renderer performed a **render** or a start. Entries name the app and the workflow instance. > > For more information, see the [audit](/5.9/docs/platform-deep-dive/core-extensions/audit) documentation. > SaaS ### **Cross-version export adaptation** > [card] Exports adapt UI templates for older LTS targets > > When you export a project to an older platform version, UI-template features the target version cannot understand are removed during down-adaptation, so the export imports cleanly. This currently covers Process Renderer process-end event handlers and the Navigate To **forms to validate** setting. > > For more information, see [Cross-version export and import](/5.9/docs/flowx-designer/managing-a-project-flow/export-import-a-process-definition#cross-version-export-and-import). > All Deployments ### **Platform and runtime improvements** > [card] Runtime access-control hardening > > Runtime API requests are now authorized against the roles defined in the running build across start-process, start-workflow, task views, conversation history, and the public runtime API. Requests without a matching build role are denied, and enforcement is on by default. > All Deployments > [card] Theme import no longer duplicates system icons > > Exporting a theme no longer includes duplicate copies of built-in system icons, and importing a theme no longer creates new ones. Duplicate icon copies that accumulated in earlier versions are cleaned up automatically on upgrade — no action is required. > All Deployments ### **Chat notifications and conversation search** > [card] Unread-message badge and conversation search in chat > > > [tab] Overview > > > > The chat floating action button gains an **unread-message notification badge**, with a themeable **Notification Dot** you can position in the chat style panel. The chat panel also adds **search across conversation history**, which filters conversations by a text query, highlights matches, and shows an empty state when nothing matches. > > > > For more information, see the [Chat component](/5.9/docs/building-blocks/ui-designer/ui-component-types/chat) documentation. > > > [tab] Key Features > > > > > [card] Unread badge > > > > > > The chat button shows a badge with the unread agent-message count; it is hidden while the chat is open in full screen. > > > > > [card] Notification Dot > > > > > > Position and size the notification dot from the chat style panel, with theme support. > > > > > [card] Conversation search > > > > > > Search conversation history from the chat panel, with highlighted matches and an empty state. > > SaaS ### **Disable chat input on a condition** > [card] Make the chat input read-only with a business condition > > The chat **Input** component can be disabled by a business-condition expression. When the condition evaluates true, the input becomes read-only with an explanatory tooltip, and any pending attachments and voice input are cleared. > > For more information, see the [Chat component](/5.9/docs/building-blocks/ui-designer/ui-component-types/chat) documentation. > SaaS ### **Navigate To form validation** > [card] Require form validation before a Navigate To action > > A **Navigate To** action can now require selected forms to pass validation before navigating, matching how Start Process and Start Workflow actions gate on validation. This is available on web, iOS, and Android. > > For more information, see the [UI Flows](/5.9/docs/building-blocks/ui-flows) documentation. > SaaS ### **Expired UI Flow sessions** > [card] A session-expired screen with a start-fresh option > > Expired UI Flow sessions now show a **session-expired** screen with a start-fresh option instead of leaving the previous data visible in read-only form. Expired and unauthorized access is written to the audit log. > SaaS ### **UI Flow session owner** > [card] Restrict a running session to a single user > > A UI Flow can restrict a running session to a single owner. When **Allow multiple editors** is off, other users who try to open the session are shown an access-denied screen, and unauthorized access is audited. Newly created flows default to single-owner; imported and existing flows keep the previous shared behavior. A session-owner value type is available for permission-based hide and disable rules. > > For more information, see the [UI Flows](/5.9/docs/building-blocks/ui-flows) documentation. > SaaS ### **Process Renderer process-end handling** > [card] Run a configurable action when an embedded process ends > > The Process Renderer can now run a configurable action when its embedded process ends, using a new process-end trigger on event handlers. Configure what happens at that point instead of leaving the renderer idle when the process completes. > > For more information, see [Process end handling](/5.9/docs/building-blocks/ui-flows#process-end-handling). > SaaS ### **Renderer improvements** > [card] Renderer performance and behavior > > * **Batched enumeration fetch:** renderers batch enumeration lookups into a single bulk request, cutting the number of calls when rendering enum-backed fields. Applies to web and mobile renderers. > * **Process-start loader alignment:** the web renderer keeps the process-start loader visible until the first user task, matching the mobile SDKs. > SaaS *** ## Shipped by This release is the work of the FlowX engineering team across backend, frontend, AI, infra, QA, and docs. It also belongs to the customers who told us what was broken last quarter. Thank you. *** ## Deployment guidelines FlowX.AI 5.11 is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. For component versions and infrastructure notes, see the [5.11 deployment guidelines](./deployment-guidelines-v5.11). # Deployment guidelines v5.12 Source: https://docs.flowx.ai/release-notes/v5.x/v5.12.0-september-2026/deployment-guidelines-v5.12 Component versions and deployment notes for FlowX.AI 5.12 (SaaS release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.12 is a **SaaS-managed release**. Deployment-level changes, including infrastructure, Kafka topics, and service configuration, are handled automatically by FlowX. The information below is provided for transparency. ## Component versions The versions below are the component versions that make up FlowX.AI 5.12.0. On SaaS these are managed by FlowX; the list is provided for transparency. ### Core components | Component | 5.12.0 | | - | - | | **admin** | 11.69.2 | | **advancing-controller** | 11.46.0 | | **application-manager** | 11.68.3 | | **audit-core** | 11.44.1 | | **authorization-system** | 11.53.2 | | **cms-core** | 11.61.1 | | **data-search** | 11.44.1 | | **data-sync** | 11.43.1 | | **designer** | 11.126.1 | | **document-plugin** | 11.68.1 | | **email-gateway** | 11.58.1 | | **events-gateway** | 11.49.2 | | **file-gateway** | 11.55.1 | | **integration-designer** | 11.90.2 | | **license** | 11.48.1 | | **nosql-db-runner** | 11.49.1 | | **notification-plugin** | 11.61.2 | | **organization-manager** | 11.53.1 | | **process-engine** | 11.76.1 | | **runtime-manager** | 11.68.3 | | **scheduler-core** | 11.45.1 | | **task-management-plugin** | 11.59.2 | | **webhook-gateway** | 11.54.1 | ### AI base components | Component | 5.12.0 | | - | - | | **embedder** | 11.5.0 | | **knowledgebase-indexer-v2** | 11.5.0 | | **knowledgebase-rag** | 11.5.0 | | **doc-parser** | 11.5.0 | ### AI dev-time components | Component | 5.12.0 | | - | - | | **ai-gateway** | 11.53.1 | | **ai-analyst** | 11.5.0 | | **ai-assistant** | 11.5.0 | | **ai-designer** | 11.5.0 | | **ai-developer** | 11.5.0 | | **kb-enrichment** | 11.5.0 | | **planner** | 11.5.0 | ### AI runtime components | Component | 5.12.0 | | - | - | | **agent-builder** | 11.5.0 | | **ai-architect** | 11.5.0 | | **data-privacy** | 11.5.0 | | **doc-converter** | 11.5.0 | | **dynamic-classifier** | 11.5.0 | | **evals-judge** | 11.5.0 | | **speech-to-text** | 11.5.0 | | **web-crawler** | 11.5.0 | ### AI extensions | Component | 5.12.0 | | - | - | | **modpod** | 11.0.1 | | **observatory-api** | 11.3.0 | | **observatory-platform** | 11.3.0 | | **observatory-web** | 11.3.0 | ### Embedded components * **SpiceDB:** see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database): bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers The web SDKs ship at the **designer** version (`11.126.1` for FlowX.AI 5.12.0). The native iOS and Android renderers version independently. | Component | 5.12.0 | | - | - | | **@flowx/angular-sdk** | 11.126.1 | | **@flowx/angular-theme** | 11.126.1 | | **@flowx/angular-ui-toolkit** | 11.126.1 | | **@flowx/react-sdk** | 11.126.1 | | **@flowx/react-theme** | 11.126.1 | | **@flowx/react-ui-toolkit** | 11.126.1 | | **@flowx/react-native-sdk** | 11.126.1 | | **@flowx/react-native-theme** | 11.126.1 | | **@flowx/react-native-ui-toolkit** | 11.126.1 | | **@flowx/core-sdk** | 11.126.1 | | **@flowx/core-theme** | 11.126.1 | | **react-saas** | 11.126.1 | | **iOS renderer** | TBD | | **Android renderer** | TBD | The **react-saas** container app tracks the designer version. ## Configuration changes > [!NOTE] > > On SaaS, required configuration changes are applied automatically by FlowX. The changes below are listed for transparency. Self-hosted deployments will receive them, re-verified, with the next LTS release family. ### New Kafka topics These topics back new 5.12 capabilities. On SaaS they are created and managed automatically. **Event-triggered workflows** (email and webhook triggers can start an integration workflow): | Topic | Producer → Consumer | | - | - | | `ai.flowx.build.trigger-subscription-change.in.v1` | admin, integration-designer → application-manager | | `ai.flowx.core.trigger.start-for-event.workflow.v1` | email-gateway, webhook-gateway → integration-designer | **Deep Research node** (the node hands research jobs to the AI Platform over Kafka): | Topic | Producer → Consumer | | - | - | | `ai.flowx.ai-platform.deep-research.job.request.v1` | integration-designer → agent-builder | | `ai.flowx.ai-platform.deep-research.job.response.v1` | agent-builder → integration-designer | | `ai.flowx.ai-platform.deep-research.job.dlq.v1` | dead-letter queue for failed research jobs | **Bulk process-instance migration:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.core.trigger.instance-migration.batch.v1` | process-engine → process-engine | **Notifications:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.eventsgateway.user.notifications.v1` | application-manager, process-engine → events-gateway | **Document classification:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.dynamic-classifier.job.dlq.v1` | dynamic-classifier → dead-letter sink (not consumed) | ### New service dependency: webhook-gateway and MongoDB The webhook gateway now reads the runtime registry that backs event-triggered workflows, so it depends on the runtime MongoDB database in addition to its existing relational database. On SaaS this connection is provisioned and managed by FlowX. ### New required secret: personal-data encryption master key The Mask Personal Data and Restore Personal Data nodes encrypt the placeholder map they keep during a workflow run. The key material comes from a new integration-designer variable with **no default**: without it, the mask and restore nodes fail rather than encrypt personal data with a published value. On SaaS this secret is provisioned and managed by FlowX. | Environment Variable | Description | Default Value | Component | | - | - | - | - | | `FLOWX_PII_ENCRYPTION_MASTER_KEY` | Master secret the mask and restore nodes derive their encryption key from. Any non-empty string; use a strong random value and store it as a secret. Must be identical across all pods and stable over time: changing it invalidates every in-flight placeholder map. | none (required) | integration-designer | | `FLOWX_PII_ENCRYPTION_KEY_ID` | Label recorded on new placeholder-map entries so a future migration can support key rotation. Only the configured key is held today. | `k1` | integration-designer | | `FLOWX_PII_MAP_TTL` | How long a masked value stays restorable. Bounds exposure when a run ends without reaching the instance-end cleanup hooks; enforced by a MongoDB TTL index. | `PT24H` | integration-designer | ### Native PostgreSQL partitioning for the engine On PostgreSQL, the engine converts its runtime tables to native `RANGE(partition_id)` partitioning the first time it starts on the new version, and archiving then detaches a partition instead of copying rows out of it. Deployments that never enabled partitioning are skipped entirely, and Oracle deployments are unaffected. Unlike most 5.12 changes, this one also reaches self-hosted 5.9.x in the 5.9.5 patch rather than waiting for the next LTS release family. | Environment Variable | Description | Default Value | Component | | - | - | - | - | | `FLOWX_DATA_PARTITIONING_ARCHIVING_POSTGRESNATIVE` | Whether archiving detaches partitions with `DETACH CONCURRENTLY` on natively partitioned tables. Setting it to `false` returns archiving to the previous batched insert-and-delete, but does not undo the conversion: the tables stay natively partitioned. | `true` | process-engine | For the conversion cost, table locking and the one-way caveat, see [Process instance data archiving](/5.9/setup-guides/flowx-engine-setup-guide/process-instance-data-archiving#native-postgresql-partitioning). > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.12.0 Release Notes Source: https://docs.flowx.ai/release-notes/v5.x/v5.12.0-september-2026/v5.12.0-september-2026 What's new in FlowX.AI 5.12: parallel multi-instance subworkflow fan-out, event-triggered integration workflows, bulk process-instance migration, personal-data mask and restore nodes, and a Db2 data source. [FlowX.AI 5.12 release hero](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/hero-5.12.0.html) > [!NOTE] > > **FlowX.AI 5.12 is a SaaS release.** New capabilities are available on managed (SaaS) deployments; self-hosted deployments will receive them with the next LTS release family. > [!NOTE] > > **Deployment models:** > > * SaaS Managed FlowX cloud deployments > * All Deployments Available in both self-hosted and SaaS FlowX.AI **5.12** is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. This release lets an integration workflow fan out over a collection without a subprocess, starts workflows directly from email and webhook events, and migrates process instances to a new build in bulk. It also adds personal-data mask and restore nodes to the Integration Designer and a Db2 relational data source. ### What changed since 5.11.0 | 5.11.0 | 5.12.0 | | - | - | | A workflow ran once per call; fanning out over a collection needed a BPMN Call Activity and a subprocess | + **Multi-instance subworkflow node** fans a workflow over a collection directly in the Integration Designer | | An email or webhook trigger could start a process | + **Event-triggered workflows** start an integration workflow from the same triggers | | Process instances migrated to a new build one at a time | + **Bulk migration** moves a filtered set of instances in one operation | | Personal-data handling was configured on the agent | + **Mask and restore nodes** place it as explicit workflow steps, with details in the run log | *** **What's new?** > [tab] Integrations & Data > > 🔀 [**Multi-instance subworkflow node**](#multi-instance-subworkflow-node) - Fan a workflow out over a collection\ > ⚡ [**Event-triggered workflows**](#event-triggered-workflows) - Start a workflow from an email or webhook\ > 🗄️ [**Db2 relational data source**](#db2-relational-data-source) - Connect to Db2 for i or Db2 LUW\ > 🔻 [**Subworkflow failure exit**](#subworkflow-failure-exit) - Send a failed mapping down its own branch\ > 🔓 [**Skip TLS verification on a REST data source**](#skip-tls-verification-on-a-rest-data-source) - Reach a trusted internal host with an untrusted certificate\ > 🔔 [**Send Notification node**](#send-notification-node) - Send a templated notification straight from a workflow > [tab] AI Platform > > 🛡️ [**Personal-data mask and restore nodes**](#personal-data-mask-and-restore-nodes) - Explicit workflow steps with run-log detail\ > 🧩 [**Reusable functions as agent tools**](#reusable-functions-as-agent-tools) - Give an agent a deterministic function to call\ > 👍 [**Chat response feedback**](#chat-response-feedback) - Let users rate an agent's answer, and theme how it looks\ > 📏 [**Custom evaluators**](#custom-evaluators) - Score an agent against a rubric you write yourself\ > 🔍 [**Deep Research node**](#deep-research-node) - Research a question across the open web and file a cited report\ > 🛠️ [**Built-in agent tools by category**](#built-in-agent-tools-by-category) - Twenty ready-made tools an agent can use, picked by category\ > 🪄 [**AI Designer builds UI Flows**](#ai-designer-builds-ui-flows) - Generate and edit multi-page UI Flows from a description > [tab] Platform > > 📦 [**Bulk process-instance migration**](#bulk-process-instance-migration) - Move a filtered set of instances to a new build\ > 🔎 [**Runtime list filters and a Workflow Instances page**](#runtime-list-filters-and-a-workflow-instances-page) - Find the failed run without scanning the list\ > 🎨 [**Process canvas editing**](#process-canvas-editing) - Connect, reshape and resize more directly on the BPMN canvas\ > ⚠️ [**Check a version for issues**](#check-a-version-for-issues) - Validate every workflow in the version from one panel\ > 🧱 [**Reusable UI Templates in UI Flows**](#reusable-ui-templates-in-ui-flows) - Reuse a template on UI Flow pages, not just User Tasks\ > 🌿 [**Branch management**](#branch-management) - Merge to any branch, archive or delete the ones you are done with ### **Multi-instance subworkflow node** > [card] Multi-instance subworkflow node > > > [tab] Overview > > > > **Before 5.12.0:** running an integration workflow once per item in a collection meant leaving the Integration Designer, wrapping the workflow in a BPMN process and fanning out with a multi-instance Call Activity. **Now:** the Subworkflow node fans out over an array on its own, in parallel. > > > > Turn on **Parallel Multi-Instance** under **Execution** on a Subworkflow node, pick the **Input Array** to iterate, and pick the **Output Array** that collects each run's result. The node starts one subworkflow instance per element of the input array and gathers the results into the output array on the parent workflow. > > > [tab] Key Features > > > > > [card] Input Array > > > > > > The array of objects to iterate. One subworkflow instance starts per element. Required. > > > > > [card] Output Array > > > > > > The array each instance result is collected into. Required. > > > > > [card] Correlation attribute > > > > > > Optional. Decides which output array element each result updates. Results matching no element, or all results when no attribute is set, are appended. > > > > > [card] Runs in parallel > > > > > > Instances run in parallel, and fan-out stays inside the Integration Designer instead of requiring a BPMN Call Activity. > > For the full configuration reference, see [Parallel multi-instance](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#parallel-multi-instance) on the Subworkflow node. > SaaS ### **Event-triggered workflows** > [card] Event-triggered workflows > > > [tab] Overview > > > > **Before 5.12.0:** an incoming email or webhook could start a process. **Now:** the same triggers can start an integration workflow directly. > > > > A workflow declares the trigger it listens for, and the platform keeps a subscription registry so a change to that trigger takes effect without rebuilding the whole app. Incoming email and webhook events are routed to the workflow that subscribes to them. > > > [tab] Key Features > > > > > [card] Email and webhook triggers > > > > > > Both trigger types can start a workflow, not only a process. > > > > > [card] Subscription registry > > > > > > Trigger changes update the affected data source without a full build recompute. > > > [tab] Architecture > > > > | Concern | System | Notes | > > | - | - | - | > > | Trigger subscription changes | admin, integration-designer, application-manager | Design-time changes update the runtime subscription registry | > > | Event delivery | email-gateway, webhook-gateway, integration-designer | Events are routed to the subscribing workflow | > > | Webhook state | webhook-gateway | The webhook gateway now also reads the runtime registry, adding a MongoDB dependency it did not previously have | > > > > On SaaS these changes are applied automatically. See [Deployment guidelines v5.12.0](./deployment-guidelines-v5.12) for the topic and dependency detail. > > For the full configuration reference, see [External triggers](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#external-triggers) on the Start node. > SaaS ### **Bulk process-instance migration** > [card] Bulk process-instance migration > > > [tab] Overview > > > > **Before 5.12.0:** moving running process instances onto a new build was a one-at-a-time operation. **Now:** a filtered set of instances migrates in a single run. > > > > Select the target build, filter the instances to move, check the migration for problems before committing to it, and then run it. Progress and per-instance outcomes are available while it runs, and terminated instances are handled explicitly rather than failing the batch. > > > > > [card] [Documentation](/5.9/docs/projects/runtime/active-process/migrate-process-instances) > > > > > > See migrating process instances. > > > [tab] Key Features > > > > > [card] Filter then migrate > > > > > > Move specific instance UUIDs, the instances matching a process, node and status filter, or every eligible instance. > > > > > [card] Pre-flight check > > > > > > Validate a migration before running it. > > > > > [card] Per-instance outcomes > > > > > > Inspect details and results for the instances in a batch. > > > > > [card] Audit trail > > > > > > Migrations are recorded against the instances they touch. > > For the full configuration reference, see the [Migrate process instances](/5.9/docs/projects/runtime/active-process/migrate-process-instances) documentation. > SaaS ### **Runtime list filters and a Workflow Instances page** > [card] Runtime list filters and a Workflow Instances page > > Finding a failed run no longer means scanning an unfiltered list. The **Process Instances** and **UI Flow Sessions** lists gain a multi-select **Status** filter and a start-date filter on their columns, so "every failed instance since last night" is two clicks. > > Workflow runs get more: a new **Workflow Instances** page under **Runtime** lists every run in the project, filterable by **Status**, by date, and by **Origin**: whether a run was started by a process, a UI Flow, a webhook, or an email trigger. Until now, a workflow's runs were only visible from inside that workflow in the Integration Designer. > > For details, see the [Workflow Instances](/5.9/docs/projects/runtime/workflow-instances) documentation. > SaaS *** ### **Personal-data mask and restore nodes** > [card] Personal-data mask and restore nodes > > > [tab] Overview > > > > **Before 5.12.0:** personal-information handling was configured on the agent rather than placed in the flow. **Now:** masking and restoring personal data are workflow nodes you position explicitly, and you choose which key from the node input they apply to. > > > > Put a mask node before the step that must not see the raw values and a restore node after it. The workflow run log shows what each node did, so a run can be inspected without exposing the underlying data. > > > > > [card] [Documentation](/5.9/ai-platform/personal-information-guard) > > > > > > See the Personal Information Guard documentation. > > > [tab] Key Features > > > > > [card] Mask and restore as nodes > > > > > > Personal-data handling becomes an explicit step in the workflow. > > > > > [card] Selectable input key > > > > > > Choose which key from the node input the node applies to. > > > > > [card] Run-log detail > > > > > > A restore reports whether it completed, partially completed or failed, and how many of the issued placeholders it put back. > > For the full configuration reference, see [Masking and restoring across several nodes](/5.9/ai-platform/personal-information-guard#masking-and-restoring-across-several-nodes). > SaaS ### **Db2 relational data source** > [card] Db2 relational data source > > IBM Db2 joins the relational database data sources available in the Integration Designer. Because Db2 products use different drivers, ports and catalogs, the connection starts with a **Db2 Product** choice and the rest of the form follows from it. **Db2 for i (IBM i)** is the default and **Db2 LUW** is also supported. **Db2 for z/OS** appears in the list but is not implemented in this release, and selecting it fails with an explicit error rather than falling back to another driver. > > The port is prefilled from the product and whether SSL is on. Db2 for i adds a naming convention, an optional library and library list, and a switch for returning character data that the host reports as binary. On Db2 for i, connections also open **read-only by default**, so turn that off if your queries need to write, and the transaction isolation level defaults to none, because a table without a journal cannot take part in a transaction. Isolation is validated when the data source is saved rather than when a query first runs. > > For the full configuration reference, see the [Db2 Database](/5.9/docs/platform-deep-dive/integrations/db2-database) documentation. > SaaS *** ### **Subworkflow failure exit** > [card] Subworkflow failure exit > > A Subworkflow node now has a second exit. Connect the red one and a failure takes its own branch instead of stopping the parent workflow. It is opt-in per node, so a node without that branch fails and blocks exactly as before and nothing changes for existing workflows. > > Only a mapping failure routes, which is the kind a workflow can be built to handle: the input mapper failing, the input not satisfying what the subworkflow expects, or the output mapper failing on merge-back. An unset subworkflow, a missing response key, no mapping at all, and the node and depth limits all still stop the run. The branch reads a fixed `subWorkflowError` key that says which mapping failed and, when a child did start, which run it was. > > For the full configuration reference, see [Routing a subworkflow failure](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#routing-a-subworkflow-failure). > SaaS *** ### **Skip TLS verification on a REST data source** > [card] Skip TLS verification on a REST data source > > A REST data source can now be told to stop checking the certificate of the host it calls, for the cases where an internal endpoint presents a self-signed or mismatched certificate and the alternative is an infrastructure workaround. It is off by default and set per data source, so turning it on for one connector leaves every other call verified. > > The Designer warns while it is on, because the call can no longer tell the intended host from anything intercepting it. One consequence is worth knowing before you use it: a truststore configured under Certificates is ignored while verification is skipped, since skipping replaces it rather than adding to it. > > For the full configuration reference, see [TLS verification](/5.9/docs/platform-deep-dive/integrations/data-sources-and-endpoints#tls-verification) on a REST data source. > SaaS *** ### **Send Notification node** > [card] Send Notification node > > Workflows can now send notifications themselves. A **Send Notification** node, under **Tools** in the workflow node palette, takes one of your project's notification templates, fills its variables from workflow data, and sends it, without routing through a process just to reach the Notifications plugin. > > Address it with **To**, **Cc** and **Bcc**, as fixed addresses or `${}` keys. Email options are all overridable per node: subject, sender name and email, attachments by file path or `${}` key, and custom headers. The node reports the outcome under its response key, including recipient counts and the error when sending fails, so the workflow can branch on it. > > For the full configuration reference, see the [Send Notification node](/5.9/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#send-notification-node) documentation. > SaaS *** ### **Reusable functions as agent tools** > [card] Reusable functions as agent tools > > An AI node's tools can now include a **Function**, alongside built-in web search, an MCP server, and a workflow. Point an agent at a reusable function when the work is deterministic and you would rather it call your code than reason its way there. > > A function has to be typed to qualify: it needs both an input and an output slice, and functions without them do not appear in the picker. Give it a description as well, since that is what tells the agent when to reach for it. > > For the full configuration reference, see the [Custom Agent node](/5.9/docs/platform-deep-dive/integrations/custom-agent-node) documentation. > SaaS *** ### **Chat response feedback** > [card] Chat response feedback > > Users can rate an agent's answer in the chat component, and follow the rating with a reason. The ratings are recorded in audit, so the quality of a deployed agent becomes something you can look at rather than guess at. > > The feedback controls and the reason chips are themable, with their own selected and hover states, so they can be styled to match the rest of the interface. The SDKs expose the same feedback state to custom front ends. > > For the full configuration reference, see [Rating an answer](/5.9/ai-platform/chat-component#rating-an-answer) on the chat component. > SaaS *** ### **Custom evaluators** > [card] Custom evaluators > > The evaluator catalogue is no longer fixed. When none of the built-in rubrics measures what you care about, you can write your own evaluator, give it the scoring instructions the judge LLM should follow, and it appears in the catalogue under a **Custom** group alongside the built-in ones. > > Choose **Numeric** scoring for a score between 0 and 1 with a pass threshold, or **Binary** for a straight pass or fail. You can start from an existing evaluator to adapt a built-in rubric rather than writing a prompt from scratch. Custom evaluators belong to the workflow you create them in, and unlike the built-in ones they can be edited and deleted. > > For the full configuration reference, see the [Evaluations](/5.9/ai-platform/evaluations#custom) documentation. > SaaS *** ### **Deep Research node** > [card] Deep Research node > > A new AI node researches a question across the open web and files a cited report into a Knowledge Base. It plans the work, sends sub-researchers out to search and read pages, grades what they bring back, and keeps going until its budget is spent or it has enough to report. > > Unlike a Custom Agent, you do not write the method: the research prompt is built into the node, so you describe the subject and bind workflow data into it. Depth is a **Quick**, **Standard** or **Deep** preset, or **Custom** if you want to set the number of passes and tool calls yourself. You can restrict which domains the research may read, with an allow list, a deny list, or both. > > The result always lands in a Knowledge Base as text, so retrieval nodes and other agents can reach it later. Rendering it as a document is optional. > > For the full configuration reference, see the [Deep Research node](/5.9/docs/platform-deep-dive/integrations/deep-research-node) documentation. > SaaS *** ### **Built-in agent tools by category** > [card] Built-in agent tools by category > > A Custom Agent's built-in tools are now a catalog you pick from by category: **Math tools**, **List tools**, **Date tools**, **Text tools**, and **Web search**. Each category row shows exactly which tools it turns on, and the agent runs deterministic code for that work instead of estimating it in the model. > > The catalog holds twenty tools, fifteen of them new: a full date family (business days, date arithmetic, formatting, parsing, timezone conversion), text helpers (regex match and extract, fuzzy match), unit conversion, and list aggregation, joining the original calculator, compare, sort, and filter. Web search is part of the same catalog rather than a separate toggle. > > Selection stays opt-in and per node. Agents saved with the old toggles keep working without an edit. > > For details, see the [Custom Agent node](/5.9/docs/platform-deep-dive/integrations/custom-agent-node) documentation. > SaaS *** ### **AI Designer builds UI Flows** > [card] AI Designer builds UI Flows > > The AI Designer now works at the level of a whole UI Flow. Describe the journey and it generates a multi-page flow: structure first, pages filled in parallel, navigation wired between them. Ask for a change and it edits the affected pages instead of regenerating everything. > > Proposals appear on the UI Flow canvas as a draft for you to review, the editor stays locked while one is pending, and any data-model changes the flow needs are presented for approval on every turn, the same way single-screen generation already works. > > For details, see the [AI Designer](/5.9/ai-platform/pre-built-agents/ai-designer#ui-flow-generation-and-editing) documentation. > SaaS *** ### **Check a version for issues** > [card] Check a version for issues > > The Designer can now validate the resources in a project version and collect what it finds in one **Issues** panel at the bottom of the screen. Findings are marked where they occur, on resource lists, page titles and workflow canvas nodes, and selecting a marker opens the panel on that finding. > > Checks run when you ask for one, and the panel says when it last ran so a stale result is obvious. You can scope the list to the whole version, the resource you are in, or the node you have selected, filter it by severity or text, and group it by resource or severity. Opening **Commit Changes to Version** runs a check on its own and shows each changed resource's state beside it, as a review step rather than a gate. Integration workflows are the resource type validated in this first iteration. > > For the full configuration reference, see the [Checking a version for issues](/5.9/docs/projects/managing-applications/checking-for-issues) documentation. > SaaS *** ### **Branch management** > [card] Branch management > > Project branches gained a management layer. The merge modal now offers every branch you can merge into, not just the current branch's parents, so a fix made anywhere can land anywhere it is needed. > > Branches you are done with no longer linger: **Archive Branch** retires one (with a required reason, shown later in its info panel), **Unarchive Branch** brings it back, and **Delete Branch** removes one permanently, guarded so it refuses while child branches, an uncommitted draft, or a running merge depend on it, and asks you to type the branch name when unmerged work would be lost. Deleting has its own permission. > > Branch and version info panels round it out: a version merged from another branch says where it came from, including whether that branch has since been archived. > > For details, see [Managing branches](/5.9/docs/projects/managing-applications/versioning#managing-branches). > SaaS *** ### **Process canvas editing** > [card] Process canvas editing > > The BPMN canvas gains a set of direct editing improvements. A **New Node** panel and > drop-anywhere connecting make it quicker to add a node and wire it up, connecting to a nearby > node no longer means aiming precisely at a handle, and sequence flows can be reshaped by > dragging their control points. Swimlanes now resize from any of their four edges. The > process-instance viewer picks up the same canvas. > > The canvas is deliberately unchanged to look at, so existing diagrams, habits and screenshots > still hold. > > For the full configuration reference, see [Faster ways to build](/5.9/docs/building-blocks/process/process#faster-ways-to-build) on the Process Designer canvas. > SaaS *** ### **Reusable UI Templates in UI Flows** > [card] Reusable UI Templates in UI Flows > > A Reusable UI Template can now be built for **UI Flow** pages as well as for the User Tasks in a process. Each template declares where it is used when you create it, and the UI Flow editor can drop templates onto a page the same way the Process editor always could. > > The host type also decides which actions a template's event handlers offer, so a template built for UI Flows gets navigation and workflow actions while one built for processes gets node actions. Because of that the choice is fixed once the template exists, and templates you created before this release count as Process templates, so nothing you already built changes. > > For the full configuration reference, see [Where a template can be used](/5.9/docs/building-blocks/reusable-resources/reusable-ui#where-a-template-can-be-used) in the Reusable UI Templates documentation. > SaaS *** ## Shipped by This release is the work of the FlowX engineering team across backend, frontend, AI, infra, QA, and docs. It also belongs to the customers who told us what was broken last quarter. Thank you. *** ## Deployment guidelines For component versions, environment variables, Kafka topics, and migration guidance, see [Deployment guidelines v5.12.0](./deployment-guidelines-v5.12). # Deployment guidelines v5.13.0 Source: https://docs.flowx.ai/release-notes/v5.x/v5.13.0-september-2026/deployment-guidelines-v5.13 Component versions and deployment-level changes for FlowX.AI 5.13.0. > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.13 is a **SaaS-managed release**. Deployment-level changes, including infrastructure, Kafka topics, and service configuration, are handled automatically by FlowX. The information below is provided for transparency. Self-hosted deployments receive these capabilities with the next LTS release family. ## Component versions The versions below are the component versions that make up FlowX.AI 5.13.0. On SaaS these are managed by FlowX; the list is provided for transparency. ### Core components | Component | 5.13.0 | | - | - | | **admin** | 11.97.0 | | **advancing-controller** | 11.67.0 | | **application-manager** | 11.101.0 | | **audit-core** | 11.69.0 | | **authorization-system** | 11.78.0 | | **cms-core** | 11.88.0 | | **data-search** | 11.67.0 | | **data-sync** | 11.68.0 | | **designer** | 11.168.1 | | **designer-user** | 11.8.0 | | **document-plugin** | 11.95.0 | | **email-gateway** | 11.83.0 | | **events-gateway** | 11.72.0 | | **file-gateway** | 11.79.0 | | **integration-designer** | 11.119.1 | | **license** | 11.72.0 | | **nosql-db-runner** | 11.73.0 | | **notification-plugin** | 11.88.0 | | **organization-manager** | 11.77.0 | | **process-engine** | 11.104.0 | | **runtime-manager** | 11.101.0 | | **scheduler-core** | 11.69.0 | | **task-management-plugin** | 11.84.0 | | **webhook-gateway** | 11.78.0 | **designer-user** is new in 5.13. It backs the Designer notification center. ### AI base components | Component | 5.13.0 | | - | - | | **embedder** | 11.6.0 | | **knowledgebase-indexer-v2** | 11.6.0 | | **knowledgebase-rag** | 11.6.0 | | **doc-parser** | 11.6.0 | ### AI dev-time components | Component | 5.13.0 | | - | - | | **ai-gateway** | 11.85.0 | | **ai-analyst** | 11.6.0 | | **ai-architect** | 11.6.0 | | **ai-assistant** | 11.6.0 | | **ai-designer** | 11.6.0 | | **ai-developer** | 11.6.0 | | **harness** | 11.6.0 | | **ai-render-host** | 11.168.1 | | **kb-enrichment** | 11.6.0 | | **planner** | 11.6.0 | **harness** and **ai-render-host** are new in 5.13. Together they run the [Developer Agentic Harness](/5.9/ai-platform/developer-agentic-harness): harness is the agent service, and ai-render-host renders UI flows headlessly for the agent. ai-render-host ships at the designer version. ### AI runtime components | Component | 5.13.0 | | - | - | | **agent-builder** | 11.6.0 | | **cee-pii** | 11.6.0 | | **data-privacy** | 11.6.0 | | **doc-converter** | 11.6.0 | | **dynamic-classifier** | 11.6.0 | | **evals-judge** | 11.6.0 | | **speech-to-text** | 11.6.0 | | **web-crawler** | 11.6.0 | ### AI extensions | Component | 5.13.0 | | - | - | | **modpod** | 11.0.1 | | **observatory-api** | 11.10.2 | | **observatory-platform** | 11.10.2 | | **observatory-web** | 11.10.2 | ### Embedded components * **SpiceDB:** see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database): bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers The web SDKs ship at the **designer** version (`11.168.1` for FlowX.AI 5.13.0). The native iOS and Android renderers version independently. | Component | 5.13.0 | | - | - | | **@flowx/angular-sdk** | 11.168.1 | | **@flowx/angular-theme** | 11.168.1 | | **@flowx/angular-ui-toolkit** | 11.168.1 | | **@flowx/react-sdk** | 11.168.1 | | **@flowx/react-theme** | 11.168.1 | | **@flowx/react-ui-toolkit** | 11.168.1 | | **@flowx/react-native-sdk** | 11.168.1 | | **@flowx/react-native-theme** | 11.168.1 | | **@flowx/react-native-ui-toolkit** | 11.168.1 | | **@flowx/core-sdk** | 11.168.1 | | **@flowx/core-theme** | 11.168.1 | | **react-saas** | 11.168.1 | | **iOS renderer** | TBD | | **Android renderer** | TBD | The **react-saas** container app tracks the designer version. *** ## Configuration changes > [!NOTE] > > On SaaS, required configuration changes are applied automatically by FlowX. The changes below are listed for transparency. Self-hosted deployments will receive them, re-verified, with the next LTS release family. ### New Kafka topics These topics back new 5.13 capabilities. On SaaS they are created and managed automatically. **Notification center:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.designer-user.notifications.v1` | application-manager, process-engine → designer-user | Notifications now pass through designer-user, which stores them and forwards them to events-gateway on the existing `ai.flowx.eventsgateway.user.notifications.v1` topic for delivery to the Designer. **Move token:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.core.trigger.token-move.batch.v1` | process-engine → process-engine | **Run auditing:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.core.run.segment.v1` | process-engine, integration-designer → audit-core | | `ai.flowx.core.runtime.failure.v1` | process-engine, integration-designer → audit-core | ### New services The Developer Agentic Harness adds the **harness** and **ai-render-host** services to the AI dev-time group, with a dedicated PostgreSQL database for harness sessions. The notification center adds the **designer-user** core service, which uses MongoDB, Redis, and Kafka. On SaaS these services and their databases are provisioned and managed by FlowX. ### New service dependency: process-engine and object storage Oversized workflow responses and UI flow updates are now offloaded to object storage instead of travelling inline on Kafka. The process engine reads these offloaded payloads, so it now depends on object storage in addition to its existing databases. On SaaS this connection is provisioned and managed by FlowX. ### Changed default: Elasticsearch replica auto-expansion New process instance indices and new audit log indices now use the Elasticsearch `auto_expand_replicas` setting, with a default of `0-1`. Elasticsearch keeps 0 replicas when the cluster has one data node and 1 replica when it has two or more, and adjusts the count as nodes join or leave. On SaaS, Elasticsearch is managed by FlowX. | Environment Variable | Description | Default Value | Component | | - | - | - | - | | `FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS` | Replica range that Elasticsearch applies to new indices. Set to `false` to use the fixed `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS` value instead | `0-1` | process-engine, audit-core | * **Overrides the fixed replica count:** while auto-expansion is on, `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS` has no effect on new indices. * **New indices only:** the setting applies to the `process_instance` index and index template and to the audit logs data stream template. Existing indices keep their current settings. * **Disk usage:** on clusters with two or more data nodes, the replica roughly doubles the disk space these indices use. > [!WARNING] > > **Breaking change for self-hosted upgrades.** Self-hosted deployments receive this change with the next LTS release family. A deployment that pins a fixed replica count, for example `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS=3`, loses it on new indices unless it also sets `FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS=false`. On multi-node clusters, check free disk space before upgrading. To apply auto-expansion to indices created before the upgrade, update their settings once: ```http theme={"dark"} PUT process_instance*,.ds-audit-logs*/_settings {"index": {"auto_expand_replicas": "0-1"}} ``` > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.13.0 Release Notes Source: https://docs.flowx.ai/release-notes/v5.x/v5.13.0-september-2026/v5.13.0-september-2026 What's new in FlowX.AI 5.13: a user notification center in Designer, UI component copy and paste across contexts, commit descriptions on app versions, and move token on process instances. [FlowX.AI 5.13 release hero](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/hero-5.13.0.html) > [!NOTE] > > **FlowX.AI 5.13 is a SaaS release.** New capabilities are available on managed (SaaS) deployments; self-hosted deployments will receive them with the next LTS release family. > [!NOTE] > > **Deployment models:** > > * SaaS Managed FlowX cloud deployments > * All Deployments Available in both self-hosted and SaaS FlowX.AI **5.13** is a SaaS-managed release: FlowX handles deployment-level changes such as infrastructure, Kafka topics, and service configuration. The headline: the FlowX Developer Agentic Harness, an AI agent in the Designer that builds and changes apps from a description, with you confirming the plan and every operation before it runs. The release also adds a notification center to the Designer, lets builders copy and paste UI components across apps with a review of what could not be placed, records a description on every app version commit, forwards runtime events to Mixpanel and GA4, and moves stuck tokens on running process instances. ### What changed since 5.12.0 | 5.12.0 | 5.13.0 | | - | - | | Apps were assembled by hand in the Designer | + **Developer Agentic Harness**: describe the change, confirm the plan, review the result on its own branch | | Long-running operations surfaced as passing toasts | + **Notification center** keeps a searchable 30-day history with read state | | UI components copied within one context | + **Copy and paste across contexts**, with a paste review and unique naming | | App version commits had a name only | + **Commit descriptions** and a commit details view record why a version exists | | A stuck process instance needed support intervention | + **Move token** relocates the token, guarded by a dedicated corrective-actions role | *** **What's new?** > [tab] Builders > > 🔔 [**User notification center**](#user-notification-center) - Bell, searchable history, read state in Designer\ > 📋 [**UI component copy and paste**](#ui-component-copy-and-paste) - Cross-context paste with review and unique naming\ > 📝 [**Commit descriptions and details**](#commit-descriptions-and-details) - Optional description on version commits plus a details view\ > 📦 [**Version export alignment**](#version-export-alignment) - Version exports bundle dependencies like build exports > [tab] Platform > > 🚑 [**Move token and corrective actions**](#move-token-and-corrective-actions) - Relocate a token, gated by a dedicated role > [tab] AI Platform > > 🪄 [**Developer Agentic Harness**](#developer-agentic-harness) - Describe a change, the agent plans and builds it on a branch\ > 🧠 [**ML corpus import and export**](#ml-corpus-import-and-export) - Move a document classifier corpus between environments\ > ⚖️ [**Fair scheduling for embedding jobs**](#fair-scheduling-for-embedding-jobs) - Knowledge Base ingestion no longer starves small jobs\ > 🧩 [**Data Parse node**](#data-parse-node) - Tabular Data Extraction generalized, now parses XML and JSON\ > 🔐 [**File Encryption node**](#file-encryption-node) - Encrypt and decrypt files inside a workflow > [tab] Rendering & SDKs > > 💬 [**React Native chat component**](#react-native-chat-component) - Floating chat sheet with voice input on mobile\ > ▶️ [**Conditional start workflow trigger**](#conditional-start-workflow-trigger) - Start a workflow from the UI only when a condition holds ### **Developer Agentic Harness** > [card] Developer Agentic Harness > > > [tab] Overview > > > > **Before 5.13.0:** every process, screen, and data type was assembled by hand in the Designer. **Now:** an AI agent in the Designer builds and changes apps from a plain-language description. It surveys your app first, so changes use your real resources and names, then drafts a plan for you to confirm. > > > > You hold every gate: the agent runs only after you confirm the plan and review each operation, the change lands on a dedicated branch that never touches your main line, and merging plus serving a new version stay human decisions. See the [Developer Agentic Harness](/5.9/ai-platform/developer-agentic-harness) page for the full flow. > > > > > > > [tab] Key Features > > > > > [card] Works on your real app > > > > > > Surveys existing resources first, so changes use your actual processes, data types, and names. > > > > > [card] Plan, confirm, then run > > > > > > You confirm the plan and review every operation; the change runs on a dedicated branch that only you can merge or serve. > > > > > [card] Broad resource coverage > > > > > > Creates and edits processes, UI flows, workflows, and project data types. > > > > > [card] Guarded operations > > > > > > Destructive changes are gated, and runtime data such as process instances is never touched. > > SaaS ### **User notification center** > [card] User notification center > > > [tab] Overview > > > > **Before 5.13.0:** long-running operations such as app imports or instance migrations announced themselves once and were gone. **Now:** a bell in the Designer opens a notification center with a 30-day history. > > > > Notifications carry read state, search, and filters by unread status and workspace type. First producers: app version export and process instance migration results. > > > [tab] Key Features > > > > > [card] 30-day history > > > > > > Notifications persist for 30 days instead of disappearing with the toast. > > > > > [card] Read state and search > > > > > > Mark notifications read, search them, and filter by unread status or workspace type. > > > > > [card] Export and migration results > > > > > > Get notified when an app version export finishes, fails, or times out, and when a process instance migration completes. > > > > > [card] Live updates > > > > > > The center updates over a live stream, including read state changes from other sessions. > > SaaS ### **UI component copy and paste** > [card] UI component copy and paste > > > [tab] Overview > > > > **Before 5.13.0:** copying UI components was limited to the context you were in. **Now:** builders copy components and paste them into another UI Flow, app, or context. > > > > Pasting responds with a review of what could not be placed instead of failing silently, and pasted components receive unique names automatically. The clipboard holds one consistent version of the copied structure. > > > [tab] Key Features > > > > > [card] Cross-context paste > > > > > > Paste a copied component into a different UI Flow or app through a dedicated modal. > > > > > [card] Paste review > > > > > > The paste result names anything it could not place, so nothing drops without a trace. > > SaaS ### **Commit descriptions and details** > [card] Commit descriptions and details > > Committing or merging an app version now takes an optional description of up to 2000 characters, and a commit details view shows what a version contains and why it exists. Version history stops being a list of names. > SaaS ### **Version export alignment** > [card] Version export alignment > > Project version exports now bundle dependencies the same way build exports do, so a version export is self-contained. The export dialog pre-selects the target platform version, and the exported filename carries the target version and whether media is included. > SaaS ### **Move token and corrective actions** > [card] Move token and corrective actions > > > [tab] Overview > > > > **Before 5.13.0:** a process instance stuck on the wrong node needed support intervention. **Now:** an operator with the corrective-actions role moves the token to the right node from Runtime. > > > > Corrective actions, covering bulk instance migration and move token, are gated by a dedicated workspace-level role, so admins grant this power without handing out full admin rights. > > > > The **Workspace corrective actions editor** role replaces the Workspace operations editor role. Users and groups that had the old role are moved to the new one automatically. See [Move tokens](/5.9/docs/projects/runtime/active-process/move-token) and the [Workspace corrective actions editor permission matrix](/5.9/setup-guides/access-management/roles-permissions-matrix#workspace-corrective-actions-editor-permission-matrix). > > > [tab] Key Features > > > > > [card] Move token > > > > > > Relocate the token of a running instance to another node in the process definition. > > > > > [card] Dedicated role > > > > > > A workspace-level corrective-actions role scopes who can migrate instances and move tokens. > > SaaS ### **ML corpus import and export** > [card] ML corpus import and export > > A document classifier corpus now moves between environments: export the corpus with the model, import it into a runtime classifier, and inspect it in a read-only view in the Data tab. Training data stops being trapped in the environment where labeling happened. > SaaS ### **Fair scheduling for embedding jobs** > [card] Fair scheduling for embedding jobs > > Knowledge Base embedding jobs are scheduled fairly by default, so a large ingestion no longer starves small jobs queued behind it. Uploads to one Knowledge Base stop delaying every other one on the environment. > SaaS ### **Data Parse node** > [card] Data Parse node > > The Tabular Data Extraction node is generalized into a **Data Parse** node: it still reads CSV and Excel files into workflow data, and now also parses **XML** and **JSON**. A file fetched by a File Storage Operation can be read into the workflow regardless of its structured format. > SaaS ### **File Encryption node** > [card] File Encryption node > > A new **File Encryption** workflow node encrypts or decrypts a file with a password directly in the workflow, so protecting a generated document or opening a protected upload no longer needs a custom integration. The file path and password take expressions, letting the password come from workflow data. > SaaS ### **React Native chat component** > [card] React Native chat component > > The React Native renderer gains the chat experience mobile apps were missing: a floating chat sheet with voice input, suggested prompts, and conversation history. Renderer updates in the same release cover form validation on navigation actions, action context on execute-URL, and bulk enum fetching on eager load. > SaaS ### **Conditional start workflow trigger** > [card] Conditional start workflow trigger > > A start workflow trigger in the UI now takes a condition, so the workflow starts only when the expression holds. Available in the web SDK and on iOS. > SaaS ### **Smaller improvements** > [card] Smaller improvements > > **Process details modal:** the process name moves from Settings into a Details modal. > > **Document and image sources:** Document and Image UI components share one source configuration. In process user tasks, the new **Document Plugin Path** source takes a Documents plugin `downloadPath` directly, so you no longer need a business rule to build the file URL. See [File sources in FlowX.AI 5.13](/5.9/docs/building-blocks/ui-designer/ui-component-types/file-preview#file-sources-in-flowx-ai-5-13) for File Preview and the [Download component](/5.9/docs/building-blocks/ui-designer/ui-component-types/file-download#file-sources-in-flowx-ai-5-13). > > **Sign-up link to solution:** a sign-up link lands new users directly in the right solution. > > **Bulk invite:** inviting many users at once gets a reworked flow. > > **Task list search on translated labels:** the task list searches, filters, and sorts on the labels it displays, in the viewer's language, for status, enumeration, and substitution-tag columns. See [Search and sort on translated labels](/5.9/docs/platform-deep-dive/core-extensions/task-management/task-management-localization#search-and-sort-on-translated-labels). > > **Reserved substitution-tag prefix:** custom substitution tags can no longer start with `sys_`; the prefix is reserved for system tags. > **Intersects operator for array fields:** FlowX Database queries can match documents whose array field shares at least one value with a given list. See [Intersects on array fields](/5.9/docs/platform-deep-dive/integrations/flowx-database#intersects-on-array-fields). > > **Request after PII anonymization in the run log:** AI nodes with the input scan enabled log the request exactly as the model received it, with placeholders in place of the detected values. See [Request after PII anonymization](/5.9/ai-platform/personal-information-guard#request-after-pii-anonymization). > > **Elasticsearch replica auto-expansion:** new process instance and audit log indices default to `auto_expand_replicas` `0-1`, which overrides a fixed replica count. See [Changed default: Elasticsearch replica auto-expansion](./deployment-guidelines-v5.13#changed-default-elasticsearch-replica-auto-expansion). > SaaS *** ## Shipped by This release is the work of the FlowX engineering team across backend, frontend, AI, infra, QA, and docs. It also belongs to the customers who told us what was broken last quarter. Thank you. *** ## Deployment guidelines For component versions, environment variables, Kafka topics, and migration guidance, see [Deployment guidelines v5.13.0](./deployment-guidelines-v5.13). # FlowX.AI 5.9.2 Release Notes (LTS) Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.2-july-2026/v5.9.2-july-2026 Maintenance release for the 5.9.x LTS line. Bug fixes, security patches, and stability improvements, including expanded audit logging, copy-with-roles, and the app-manager organization-ID migration fix. > [!NOTE] > > This is a **Long-Term Support (LTS)** maintenance release in the **5.9.x** line, focused on **bug fixes**, **security patches**, and **stability improvements**. Upgrades from **5.9.1 → 5.9.2** are non-breaking and fully compatible. > [card] Release Highlight > > **FlowX.AI 5.9.2** is a maintenance release for the 5.9.x LTS. It pairs a broad bug-fix pass with a few targeted improvements: > > * **Expanded audit logging:** coverage for sharing, invitations, user and group management, and process-instance and UI-flow actions > * **Copy with roles:** copying a resource now also copies its associated roles > * **Self-hosted upgrade fixes:** smoother installation and upgrade from 5.1.x on self-hosted environments > * **Key fixes:** active-policy override user list, project-version merge, reusable UI templates in nested containers, and audit-log user filtering > * Wide set of Designer, Renderer, and backend stability fixes plus security patches > * No breaking changes; fully compatible upgrade from 5.9.1 *** **What's new? 🆕** > [tab] Highlights > > FlowX.AI 5.9.2 brings bug fixes and stability improvements across the platform, with a few targeted enhancements in the 5.9.x LTS line. > > 🔐 [**Expanded audit logging**](#expanded-audit-logging) - Broader coverage of access and lifecycle actions.\ > 👥 [**Copy with roles**](#copy-with-roles) - Roles travel with copied resources.\ > 🔧 [**Platform improvements**](#platform-improvements) - Designer, Renderer, and backend bug fixes plus security patches. > > *** > > ### **Expanded audit logging** > > > [card] Broader audit coverage for access and lifecycle actions > > > > Audit logging now records a wider set of actions, including **sharing**, **user invitations**, **designer-user, end-user, and group management**, and actions on **process instances** and **UI flows**. Adding a dependency is now audited, and terminating process, workflow, or UI-flow instances is captured as well. > > All Deployments > > *** > > ### **Copy with roles** > > > [card] Roles travel with copied resources > > > > Copying a process or UI flow to another project now also copies the resource's associated **roles**, so access configuration no longer has to be recreated by hand after a copy. > > All Deployments > > *** > > ### **Platform improvements** > > > [card] Platform Improvements > > > > > [tab] Designer & Renderer > > > > > > > [accordion] Designer fixes > > > > > > > > * **Reusable UI templates:** fixed actions missing at runtime when a template is nested in multiple levels of containers. > > > > * **Use in reporting:** the reporting toggle is now available on UI flows and workflows, matching the existing process setting. > > > > * **UI action keys:** keys to save for collection items and bundled custom-component inputs are now computed automatically, and mapped object keys for collections and custom components are available in runtime data. > > > > * **SQL data sources:** queries on SQL data sources can now be tested from the builds list, mirroring the existing NoSQL runtime test flow. > > > > * **Event handlers:** the Event Handlers section now appears higher in the component configuration panel. > > > > * **Audit logs:** filtering audit entries by user now works when the username differs from the email address. > > > > * **AI agents and data models:** AI Designer and AI Developer now use the project data model when generating UIs and business rules, and AI Architect can generate a project data model with a preview before applying it. > > > > > > > [accordion] Renderer fixes > > > > > > > > * **Chat:** the floating chat position is now calculated correctly, and the chat session is kept in the URL when the instance UI flow console is opened. > > > > > > > > This release also includes stability fixes across the web, React, React Native, Android, and iOS renderers. > > > > > [tab] Platform & Backend > > > > > > > [accordion] Backend fixes > > > > > > > > * **Active policy:** fixed the user list appearing empty on the override active-policy form. > > > > * **Project version merge:** fixed a 500 error that could occur during project-version merge. > > > > * **CMS enumerations:** cascading-enum value lookups now resolve from live entries only, so options that were removed and re-added no longer cause errors or return deleted values. > > > > * **Build export with media files:** exporting a build with media file content included now produces an archive that actually contains the binaries. > > > > * **Data mappers:** adding a new output parameter no longer clears existing JavaScript functions. > > > > * **Redis Cluster:** UI-template cache keys are now hash-tagged so related keys map to the same cluster slot, preventing cross-slot errors on Redis Cluster deployments. > > > > * **Workflow data:** Mongo partition archiving now batches, checkpoints, and throttles for large datasets, with partition-ID backfill for legacy data. UI flow sessions are included in partitioning and archiving, and an incident-save deadlock in the process engine was fixed. See [Process instance data archiving](/5.9/setup-guides/flowx-engine-setup-guide/process-instance-data-archiving#configuring-partitioning-and-archiving) for the partitioning and archiving settings. > > > > * **Data sync with private CA certificates:** the data-sync job now runs the same certificate-initialization step as the other platform services, so data-sync migrations that call HTTPS endpoints (such as Keycloak) no longer fail certificate validation in environments using an internal certificate authority. > > > > * **Self-hosted installation and upgrade:** fixed Keycloak realm handling during upgrades from 5.1.x (including migration changesets on Oracle), service-account provisioning, and default end-user group seeding on self-hosted environments. As part of this, the migration-created default end-user group is renamed from `User` to `Users Group`; check the upgrade warning under Additional information if you map IDP groups into FlowX. > > > > * **PII Guard:** the input scan no longer corrupts workflow data or redacts example values from instructions, and anonymized values are restored after LLM calls, including in chat-driven workflows that use conversation memory. > > > > * **AI workflow nodes:** JSON schema fields now support `${}` placeholders. > > > > * **Multi-KB retrieval:** retrieval can span multiple knowledge bases in a workflow. > > > > * **AI structured output:** responses from AI nodes with a response schema are now validated against it, with automatic repair retries, and node logs include richer run diagnostics such as the failure reason and rejected output. > > > > * **Document Parser:** a new LiteParse engine parses PDFs and images fully locally without GPU or AI calls, and OCR language support expands to English, Romanian, Hungarian, and Bulgarian. > > > > * **Knowledge bases:** a Custom Agent node can now select multiple knowledge bases, each exposed to the agent as its own retrieval tool, replacing the parallel-nodes workaround. > > > > * **Chat file uploads:** end users can attach multiple files in a chat-driven app; uploads are indexed into a knowledge base scoped to the chat session so AI nodes answer grounded in that content. > > > > * **Evaluations:** an experiment can run against multiple datasets at once with per-dataset scores, and reports include AI-generated prompt-improvement suggestions per judge evaluator. > > > > > > > > This release also includes a broad set of additional fixes and stability improvements across Designer and backend services. > > > > > > > [accordion] Security patches & dependency upgrades > > > > > > > > This release includes security patches and dependency upgrades across platform components. > > *** > [tab] Info > > ## Additional information > > > [!NOTE] > > > > **Upgrade Compatibility**: FlowX.AI 5.9.2 is fully compatible with 5.9.1; standard deployment procedures apply. One migration renames a default end-user group, which needs attention only if group membership is mapped from Keycloak or an external IDP (see the warning below). > > > [!WARNING] > > > > **Default end-user group renamed from `User` to `Users Group`.** The group that the 5.1.x upgrade migration creates for users who held the `FLOWX_ROLE` realm role is renamed from `User` to `Users Group` when you upgrade to 5.9.2 or any later release. Runtime group matching is by exact name: if a Keycloak **Group Membership** mapper or an external IDP claim emits the old name `User` into `attributes.runtimeGroups`, those values no longer match any FlowX group and affected users **lose solution access on their next sign-in, with no error logged**. Update the mapper or source group name to `Users Group` as part of the upgrade. Groups your admins created themselves, including any you named `User`, are not renamed. See the [runtime groups attribute mapper](/5.9/setup-guides/access-management/configuring-an-iam-solution#runtime-groups-attribute-mapper) setup for where this value is configured. > > > [!WARNING] > > > > **Organization-ID migration fix (application-manager).** 5.9.2 corrects the runtime-application organization-ID migration so it converts existing data correctly. If you worked around the original migration on 5.9.0 or 5.9.1 by manually marking it as executed, **remove that record after upgrading to 5.9.2** so the corrected migration runs and actually converts your data. If you did not apply that workaround, no action is needed. > > ### Compatibility > > > [card] Upgrade Path > > > > Direct upgrade from 5.9.1 → 5.9.2 with no breaking changes. Self-hosted customers on 5.1.x LTS upgrade directly to the 5.9.x line; see [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). > > > [card] Component Compatibility > > > > Compatible with FlowX.AI SDKs (Angular/React/iOS/Android), Designer, and Database 5.9.x. > > ### Deployment information > > > [!NOTE] > > > > Component versions for 5.9.2 are tracked in the [5.9.2 deployment guidelines](./deployment-guidelines-v5.9.2). > > ### What's next > > **FlowX.AI 5.9.x LTS** will continue to receive monthly maintenance updates focused on: > > * Security patches and vulnerability fixes > * Stability improvements and bug fixes # Deployment guidelines v5.9.3 Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.3-july-2026/deployment-guidelines-v5.9.3 Component versions, configuration, and deployment notes for FlowX.AI 5.9.3 (5.9.x LTS maintenance release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.9.3 is a maintenance release for the 5.9.x LTS line. It can be deployed as a direct upgrade from 5.9.2 with no breaking changes. > [card] Upgrade Path > > **5.9.2 → 5.9.3**: Direct upgrade with no breaking changes. > > Self-hosted customers still on the 5.1.x LTS upgrade directly to the 5.9.x line — see [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). > [!NOTE] > > **Upgrading from 5.9.0 or 5.9.1 directly?** Review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) first — they include required steps for the organization-ID migration fix and manually marked Liquibase changesets that also apply when you skip 5.9.2. ## Component versions ### Core components | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **process-engine** | 10.165.0 | 10.162.1 | 10.135.0 | 10.106.0 | 9.76.3 | | **admin** | 10.144.0 | 10.141.1 | 10.116.0 | 10.93.0 | 9.76.3 | | **designer** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **cms-core** | 10.105.0 | 10.102.3 | 10.86.0 | 10.67.0 | 9.47.3 | | **scheduler-core** | 10.87.0 | 10.85.1 | 10.70.0 | 10.53.0 | 9.36.3 | | **events-gateway** | 10.93.0 | 10.90.1 | 10.72.0 | 10.55.0 | 9.37.3 | | **notification-plugin** | 10.103.0 | 10.100.2 | 10.83.0 | 10.64.0 | 9.40.3 | | **document-plugin** | 10.116.0 | 10.113.2 | 10.94.0 | 10.75.0 | 9.45.3 | | **task-management-plugin** | 10.105.0 | 10.102.1 | 10.84.0 | 10.66.0 | 9.44.4 | | **reporting-plugin**\* | 10.1.6 | 10.1.6 | 0.2.6 | 0.2.6 | 0.2.8 | | **data-search** | 10.85.0 | 10.83.1 | 10.69.0 | 10.52.0 | 9.33.3 | | **audit-core** | 10.95.0 | 10.93.1 | 10.79.0 | 10.63.0 | 9.41.3 | | **advancing-controller** | 10.91.0 | 10.89.1 | 10.73.0 | 10.55.0 | 9.36.3 | | **integration-designer** | 10.192.0 | 10.189.2 | 10.162.0 | 10.128.0 | 9.60.3 | | **application-manager** | 10.151.1 | 10.148.3 | 10.123.0 | 10.97.0 | 9.83.5 | | **runtime-manager** | 10.151.1 | 10.148.3 | 10.123.0 | 10.97.0 | 9.83.5 | | **data-sync** | 10.100.0 | 10.98.0 | 10.81.0 | 10.58.0 | 9.34.2 | | **authorization-system** | 10.115.0 | 10.112.1 | 10.96.1 | 10.77.0 | 9.44.4 | | **nosql-db-runner** | 10.94.0 | 10.92.1 | 10.75.0 | 10.56.0 | 9.32.3 | | **email-gateway** | 10.93.0 | 10.91.1 | 10.74.0 | 10.56.0 | - | | **organization-manager** | 10.90.0 | 10.88.1 | 10.71.0 | 10.53.0 | - | | **webhook-gateway** | 10.62.0 | 10.60.1 | 10.44.0 | 10.25.0 | - | | **file-gateway** | 10.25.0 | 10.23.1 | 10.8.0 | - | - | | **license** | 10.80.0 | 10.78.1 | 10.63.0 | 10.46.0 | - | \* The reporting plugin is an optional add-on and is versioned independently of the platform, so its numbering does not follow the other components. It moved from the `0.2.x` scheme to `10.x` after 5.9.0. Pin the version listed for your release. ### Embedded components * **SpiceDB** — see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database) — bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **@flowx/angular-sdk** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/angular-theme** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/angular-ui-toolkit** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/react-sdk** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/react-theme** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/react-ui-toolkit** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/react-native-sdk** | 10.266.0 | 10.262.0 | 10.230.2 | - | - | | **@flowx/react-native-theme** | 10.266.0 | 10.262.0 | 10.230.2 | - | - | | **@flowx/react-native-ui-toolkit** | 10.266.0 | 10.262.0 | 10.230.2 | - | - | | **@flowx/core-sdk** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **@flowx/core-theme** | 10.265.6 | 10.260.7 | 10.230.2 | 10.181.0 | 9.164.15 | | **react-saas** | 10.265.6 | 10.260.7 | 10.230.2 | - | - | | **iOS renderer** | 10.5.11 | 10.5.6 | 10.4.1 | 10.3.0 | 9.0.27 | | **Android renderer** | 10.6.6 | 10.5.6 | 10.5.0 | 10.3.0 | 9.0.37 | ### AI components FlowX.AI groups AI services into four tiers by deployment role. **AI Base** components are the foundation; **AI Runtime** and **AI Dev Time** components both require Base to be installed first; **AI Extensions** are optional add-ons layered on top. > [!NOTE] > > **AI component versioning is unified in 5.9.2.** All AI Platform services now ship under a single AI Platform version (**10.9.0**), including services that previously carried their own version lines (`doc-parser`, `doc-converter`, `data-privacy`, `speech-to-text`, `web-crawler`, `evals-judge`). Their 5.9.2 version numbers are therefore not comparable with earlier columns — for example, `doc-parser` moves from 10.10.1 to 10.9.0 without losing anything. Component rows below use the plain service names introduced in 5.9.2 (the `ai-platform-` prefix is dropped — see [AI Platform service naming](../v5.9.2-july-2026/deployment-guidelines-v5.9.2#ai-platform-service-naming)); earlier columns show the same component under its previous name. #### AI Base components | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **knowledgebase-indexer-v2** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | - | | **knowledgebase-rag** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | - | | **embedder** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | - | | **doc-parser** | 10.9.1 | 10.9.0 | 10.9.0 | 10.7.0 | - | #### AI Runtime components | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **agent-builder** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | 9.4.2 | | **data-privacy** | 10.9.1 | 10.9.0 | 10.1.0 | 10.1.0 | - | | **doc-converter** | 10.9.1 | 10.9.0 | 10.2.3 | 10.2.3 | - | | **evals-judge** | 10.9.1 | 10.9.0 | 10.1.1 | - | - | | **speech-to-text** | 10.9.1 | 10.9.0 | 10.3.4 | 10.3.3 | - | | **web-crawler** | 10.9.1 | 10.9.0 | 10.3.5 | 10.3.5 | - | #### AI Dev Time components | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **ai-gateway** | 10.27.0 | 10.25.0 | 10.7.0 | - | - | | **ai-analyst** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | 9.4.2 | | **ai-architect** | 10.9.1 | 10.9.0 | - | - | - | | **ai-assistant** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | - | | **ai-designer** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | 9.4.2 | | **ai-developer** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | 9.4.2 | | **planner** | 10.9.1 | 10.9.0 | 10.7.0 | 10.7.0 | 9.4.2 | | **kb-enrichment** | 10.9.1 | 10.9.0 | - | - | - | | **flowx-docs** | 5.9.3 | 5.9.2 | 5.9.0 | - | - | #### AI Extensions | Component | 5.9.3 | 5.9.2 | 5.9.0 | 5.8.0 | 5.1.11 (LTS) | | - | - | - | - | - | - | | **modpod** | 10.0.7 | 10.0.7 | 10.0.7 | 10.0.7 | - | | **ai-observatory** | 10.7.2 | 10.7.2 | 10.3.2 | - | - | > [!NOTE] > > For the plugins matrix, refer to the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9). ## Kafka topics > [!NOTE] > > 5.9.3 introduces no new Kafka topics over 5.9.2. For the full multi-release topic matrix, see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9#kafka-topics). ## Deployment notes ### Standard deployment This maintenance release follows standard FlowX.AI deployment procedures: 1. Update container images to the 5.9.3 versions listed in the table above. 2. Deploy services using your standard deployment process. 3. Verify deployment via **FlowX.AI Designer → Platform Status**. ### Configuration changes #### Events Gateway — Redis connection pool for blocking mode The Events Gateway's blocking read path is rebuilt on a dedicated Redis connection pool, fixing a connection leak that could previously require periodic Events Gateway restarts under sustained load. The new settings ship with working defaults — no action is required on upgrade. | Environment variable | Default | Change in 5.9.3 | | - | - | - | | `EVENTS_REDIS_POOL_ENABLED` | `true` | New — dedicated connection pool for blocking reads | | `EVENTS_REDIS_POOL_MAXTOTAL` | `50` | New — maximum pooled connections | | `EVENTS_REDIS_POOL_MAXIDLE` | `50` | New — maximum idle pooled connections | | `EVENTS_REDIS_POOL_MINIDLE` | `5` | New — minimum idle pooled connections | | `EVENTS_REDIS_POOL_MAXWAITMILLIS` | `5000` | New — wait time for a pooled connection before failing | | `EVENTS_REDIS_SSE_BUFFERSIZE` | `256` | New — per-subscriber SSE backpressure buffer | | `EVENTS_REDIS_BLOCKDURATIONSECONDS` | `1` | Default lowered from `5` — shortens the blocking-read reissue interval | If you previously set `EVENTS_REDIS_BLOCKDURATIONSECONDS` explicitly, review whether the new default suits your setup. See the [Events Gateway setup guide](/5.9/setup-guides/events-gateway-setup#events) for the full configuration reference. #### Integration Designer — workflow topic partitions `FLOWX_WORKFLOW_TOPICPARTITIONS` (default `1`) sets the number of partitions for auto-created workflow Kafka topics (used with `FLOWX_WORKFLOW_CREATETOPICS`). Existing topics are not modified; the setting applies to newly created topics only. > [!NOTE] > > Confirm any required configuration changes against the setup guides before upgrading. ## Third-party supported component versions Within each version line listed below, versions that have reached upstream end of life are not supported, even though their major/minor is listed. | FlowX.AI Version | 3rd Party Dependency | Supported Versions | | - | - | - | | 5.9.x | Keycloak | 26 | | 5.9.x | Kafka | 3.9, 4.0, 4.1, 4.2 | | 5.9.x | PostgreSQL | 16, 17, 18 | | 5.9.x | Oracle Database | 21c, 23ai | | 5.9.x | MongoDB | 7, 8 | | 5.9.x | Redis | 7, 8 | | 5.9.x | Elasticsearch | 8, 9 | | 5.9.x | Elasticsearch Sink Connector (\*) | 15 | | 5.9.x | Angular (Web SDK) | 20.3, 21.2 | | 5.9.x | React (Web SDK) | 19 | (\*) Required only if using indexing via Kafka. Multiple sink connector implementations also work, as long as they are compatible with both the deployed Kafka and Elasticsearch version. > [!NOTE] > > The table lists version lines, not individual versions. A version is supported for as long as its vendor still supports it, so check the version you plan to deploy against that vendor's lifecycle page before committing to it. When a version reaches upstream end of life it is no longer supported; upgrade that component to keep your deployment on a supported configuration. Versions can also be added during the family's lifetime as FlowX validates them. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.9.3 Release Notes (LTS) Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.3-july-2026/v5.9.3-july-2026 Maintenance release for the 5.9.x LTS line. Bug fixes, security patches, and stability improvements, including the Events Gateway Redis connection-leak fix. > [!NOTE] > > This is a **Long-Term Support (LTS)** maintenance release in the **5.9.x** line, focused on **bug fixes**, **security patches**, and **stability improvements**. Upgrades from **5.9.2 → 5.9.3** are non-breaking and fully compatible. > [card] Release Highlight > > **FlowX.AI 5.9.3** is a maintenance release for the 5.9.x LTS: > > * **Real-time event delivery:** fixes a Redis connection leak in the Events Gateway that could previously require periodic restarts under sustained load > * **Key fixes:** build import race during multi-dependency imports, task-management allocation rules, project re-creation error handling > * **New configuration:** Events Gateway connection-pool tuning and workflow Kafka topic partitions > * Designer, Renderer, and backend stability fixes plus security patches > * No breaking changes; fully compatible upgrade from 5.9.2 *** **What's new? 🆕** > [tab] Highlights > > Bug fixes and stability improvements across the platform. > > 🔧 [**Platform improvements**](#platform-improvements) - Events Gateway stability, Designer and backend bug fixes, security patches. > > *** > > ### **Platform improvements** > > > [card] Platform Improvements > > > > > [tab] Bug fixes > > > > > > > [accordion] Notable bug fixes > > > > > > > > * **Real-time event delivery:** fixed a Redis connection leak in the Events Gateway. Blocking reads now run on a dedicated connection pool with Redis Cluster support, eliminating the gradual connection buildup that could previously require periodic Events Gateway restarts. New tuning options are available — see the [deployment guidelines](./deployment-guidelines-v5.9.3#configuration-changes). > > > > * **Build import:** fixed a race during multi-dependency imports where a transient database write conflict could silently drop a dependency's build, causing runtime errors on substitution tags and enumerations for that build. Large imports may take slightly longer as a result. > > > > * **Task management:** deleting a swimlane allocation rule now removes only the targeted rule instead of clearing other rules along with it, and duplicate rules are no longer created when Save is clicked twice. Task views also no longer reset when the same view is open from different workspaces. > > > > * **Projects:** creating a project with the same name as a previously deleted project now returns a clear validation error instead of an internal server error. > > > > * **Designer stability:** fixed a freeze when opening Runtime after expanding a component's Permissions section, and a pending AI UI-generation draft no longer locks the process diagram read-only. > > > > * **Date Picker:** the calendar now anchors correctly to its field above modals and while scrolling, and label, helper, and error text follow the themed padding. > > > > * **Workflows:** fixed a silent workflow freeze that could occur after a step exhausted its retries. > > > > * **iOS renderer:** the form background is now applied correctly on native iOS, matching the Android behavior. UI Flows on iOS also gain support for the `additionalData` object. > > > > > > > > > [tab] Other improvements > > > > > > > [accordion] Improvements > > > > > > > > * **Media Library:** PDF assets in the list can now be opened in a new tab directly from the Media Library. > > > > * **Process start loading:** web renderers now keep the loading indicator visible until the first user task renders, matching the mobile SDK behavior. > > > > > > > [accordion] Security patches > > > > > > > > This release includes security patches and dependency upgrades across platform components to address known vulnerabilities. > > *** > [tab] Info > > ## Additional information > > > [!NOTE] > > > > **Upgrade Compatibility**: FlowX.AI 5.9.3 is fully compatible with 5.9.2. No configuration changes are required on upgrade; new tuning options ship with working defaults. > > ### Compatibility > > > [card] Upgrade Path > > > > Direct upgrade from 5.9.2 → 5.9.3 with no breaking changes > > > [card] Component Compatibility > > > > Compatible with FlowX.AI SDKs (Angular/React/iOS/Android), Designer, and Database 5.9.x > > ### Deployment information > > > [!NOTE] > > > > Standard deployment procedures apply. No special migration steps are required for this maintenance release. Upgrading directly from 5.9.0 or 5.9.1? Review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) first. > > For detailed deployment guidelines, see [Deployment Guidelines v5.9.3](./deployment-guidelines-v5.9.3). > > ### What's next > > **FlowX.AI 5.9.x LTS** will continue to receive maintenance updates focused on: > > * Security patches and vulnerability fixes > * Stability improvements and bug fixes > * Performance optimizations # Deployment guidelines v5.9.4 Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.4-august-2026/deployment-guidelines-v5.9.4 Component versions, configuration, and deployment notes for FlowX.AI 5.9.4 (5.9.x LTS maintenance release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.9.4 is a maintenance release for the 5.9.x LTS line. The platform upgrade from 5.9.3 is non-breaking, but this release changes how the Helm charts express the container image location, so review [Configuration changes](#configuration-changes) before you deploy. > [card] Upgrade Path > > **5.9.3 → 5.9.4**: Direct upgrade. No data migration is required. > > Self-hosted customers still on the 5.1.x LTS upgrade directly to the 5.9.x line — see [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). > [!WARNING] > > **Helm values change.** The charts now express the image location as `image.registry` plus `image.repository` instead of one combined path. Deployments that set `global.imageRegistry` need no action. Deployments that embedded the registry inside `image.repository` must move it out before upgrading — see [Helm charts: image registry split](#helm-charts-image-registry-split). > [!NOTE] > > **Upgrading from 5.9.0, 5.9.1, or 5.9.2 directly?** Review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) first — they include required steps for the organization-ID migration fix and manually marked Liquibase changesets that also apply when you skip 5.9.2. ## Component versions ### Core components | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **process-engine** | 10.171.3 | 10.165.0 | 10.135.0 | 10.106.0 | 9.76.10 | | **admin** | 10.149.3 | 10.144.0 | 10.116.0 | 10.93.0 | 9.76.8 | | **designer** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **cms-core** | 10.110.4 | 10.105.0 | 10.86.0 | 10.67.0 | 9.47.6 | | **scheduler-core** | 10.91.2 | 10.87.0 | 10.70.0 | 10.53.0 | 9.36.5 | | **events-gateway** | 10.97.2 | 10.93.0 | 10.72.0 | 10.55.0 | 9.37.5 | | **notification-plugin** | 10.107.4 | 10.103.0 | 10.83.0 | 10.64.0 | 9.40.5 | | **document-plugin** | 10.121.3 | 10.116.0 | 10.94.0 | 10.75.0 | 9.45.5 | | **task-management-plugin** | 10.109.3 | 10.105.0 | 10.84.0 | 10.66.0 | 9.44.7 | | **reporting-plugin**\* | 10.1.6 | 10.1.6 | 0.2.6 | 0.2.6 | 0.2.8 | | **data-search** | 10.89.2 | 10.85.0 | 10.69.0 | 10.52.0 | 9.33.5 | | **audit-core** | 10.99.2 | 10.95.0 | 10.79.0 | 10.63.0 | 9.41.5 | | **advancing-controller** | 10.95.2 | 10.91.0 | 10.73.0 | 10.55.0 | 9.36.6 | | **integration-designer** | 10.197.5 | 10.192.0 | 10.162.0 | 10.128.0 | 9.60.7 | | **application-manager** | 10.155.5 | 10.151.1 | 10.123.0 | 10.97.0 | 9.83.8 | | **runtime-manager** | 10.155.5 | 10.151.1 | 10.123.0 | 10.97.0 | 9.83.8 | | **data-sync** | 10.104.3 | 10.100.0 | 10.81.0 | 10.58.0 | 9.34.4 | | **authorization-system** | 10.119.3 | 10.115.0 | 10.96.1 | 10.77.0 | 9.44.6 | | **nosql-db-runner** | 10.98.2 | 10.94.0 | 10.75.0 | 10.56.0 | 9.32.5 | | **email-gateway** | 10.98.2 | 10.93.0 | 10.74.0 | 10.56.0 | - | | **organization-manager** | 10.95.2 | 10.90.0 | 10.71.0 | 10.53.0 | - | | **webhook-gateway** | 10.66.2 | 10.62.0 | 10.44.0 | 10.25.0 | - | | **file-gateway** | 10.30.2 | 10.25.0 | 10.8.0 | - | - | | **license** | 10.84.2 | 10.80.0 | 10.63.0 | 10.46.0 | - | \* The reporting plugin is an optional add-on and is versioned independently of the platform, so its numbering does not follow the other components. It moved from the `0.2.x` scheme to `10.x` after 5.9.0. Pin the version listed for your release. ### Embedded components * **SpiceDB** — see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database) — bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **@flowx/angular-sdk** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-theme** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-ui-toolkit** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-sdk** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-theme** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-ui-toolkit** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-native-sdk** | 10.277.0 | 10.266.0 | 10.230.2 | - | - | | **@flowx/react-native-theme** | 10.277.0 | 10.266.0 | 10.230.2 | - | - | | **@flowx/react-native-ui-toolkit** | 10.277.0 | 10.266.0 | 10.230.2 | - | - | | **@flowx/core-sdk** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/core-theme** | 10.275.0 | 10.265.6 | 10.230.2 | 10.181.0 | 9.165.3 | | **react-saas** | 10.275.0 | 10.265.6 | 10.230.2 | - | - | | **iOS renderer** | 10.6.0 | 10.5.11 | 10.4.1 | 10.3.0 | 9.0.32 | | **Android renderer** | 10.8.0 | 10.6.6 | 10.5.0 | 10.3.0 | 9.0.44 | ### AI components FlowX.AI groups AI services into four tiers by deployment role. **AI Base** components are the foundation; **AI Runtime** and **AI Dev Time** components both require Base to be installed first; **AI Extensions** are optional add-ons layered on top. #### AI Base components | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **knowledgebase-indexer-v2** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | - | | **knowledgebase-rag** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | - | | **embedder** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | - | | **doc-parser** | 10.10.2 | 10.9.1 | 10.9.0 | 10.7.0 | - | #### AI Runtime components | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **agent-builder** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | 9.4.8 | | **data-privacy** | 10.10.2 | 10.9.1 | 10.1.0 | 10.1.0 | - | | **doc-converter** | 10.10.2 | 10.9.1 | 10.2.3 | 10.2.3 | - | | **evals-judge** | 10.10.2 | 10.9.1 | 10.1.1 | - | - | | **speech-to-text** | 10.10.2 | 10.9.1 | 10.3.4 | 10.3.3 | - | | **web-crawler** | 10.10.2 | 10.9.1 | 10.3.5 | 10.3.5 | - | #### AI Dev Time components | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **ai-gateway** | 10.32.2 | 10.27.0 | 10.7.0 | - | - | | **ai-analyst** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-architect** | 10.10.2 | 10.9.1 | - | - | - | | **ai-assistant** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | - | | **ai-designer** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-developer** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | 9.4.8 | | **planner** | 10.10.2 | 10.9.1 | 10.7.0 | 10.7.0 | 9.4.8 | | **kb-enrichment** | 10.10.2 | 10.9.1 | - | - | - | | **flowx-docs** | 5.9.4 | 5.9.3 | 5.9.0 | - | - | #### AI Extensions | Component | 5.9.4 | 5.9.3 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **modpod** | 10.0.7 | 10.0.7 | 10.0.7 | 10.0.7 | - | | **ai-observatory** | 10.7.2 | 10.7.2 | 10.3.2 | - | - | > [!NOTE] > > For the plugins matrix, refer to the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9). ## Kafka topics > [!NOTE] > > 5.9.4 introduces no new Kafka topics over 5.9.3. For the full multi-release topic matrix, see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9#kafka-topics). ## Deployment notes ### Standard deployment This maintenance release follows standard FlowX.AI deployment procedures: 1. Apply the Helm values change described in [Configuration changes](#configuration-changes), if it affects your setup. 2. Update container images to the 5.9.4 versions listed in the table above. 3. Deploy services using your standard deployment process. 4. Verify deployment via **FlowX.AI Designer → Platform Status**. ### Configuration changes #### Helm charts: image registry split Across the FlowX chart set, the container image reference is now expressed as two fields instead of one combined path. The default image location is unchanged: each chart still resolves to the same `registry/repository:tag`. ```yaml theme={"dark"} # Before image: repository: / # After image: registry: repository: ``` The registry resolves to `global.imageRegistry` when that is set, and otherwise to the chart's own `image.registry`. This makes `global.imageRegistry` a single, chart-wide override that redirects the charts to your registry, while each chart ships the correct bare `image.repository` by default. **Upgrade notes** * **If you set `global.imageRegistry` to point the charts at your own registry** (the standard, documented approach): no action is required. Your override continues to work, and it now applies cleanly to the default bare repository names. * **If you embedded the registry inside `image.repository`** (for example `image.repository: harbor.mycorp.internal/flowx/`): move the registry portion out. Set it through `global.imageRegistry`, or the chart's `image.registry`, and let `image.repository` fall back to its default bare image name. Leaving the registry in `image.repository` alongside the now-populated `image.registry` prepends the registry twice. This applies to deployments configured from the FlowX setup guides before 5.9.4, which showed the combined form. If your values files were built from those examples, check them before upgrading. #### Events Gateway service account Events Gateway now authenticates to the Runtime Manager with its own service account, `flowx-events-gateway-sa`, in the service-accounts realm. It needs this identity to resolve and authorize a subscription before admitting the stream. Two new configuration values are involved, and both take the **same secret**: | Service | Environment Variable | Purpose | | - | - | - | | authorization-system | `SPRING_LIQUIBASE_PARAMETERS_SECRETS_SERVICEACCOUNTS_FLOWXEVENTSGATEWAYSA` | Secret the migration assigns to the client it creates | | events-gateway | `SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_MAINIDENTITY_CLIENTSECRET` | Secret Events Gateway authenticates with | **Upgrade notes** * **If you deploy with the FlowX Helm charts and authorization-system runs its migrations with Keycloak admin access**: no action is required. The chart already maps both values to the `KEYCLOAK_EVENTS_GATEWAY_CLIENT_SECRET` key of the `keycloak-flowx-realm-clients` secret, and the authorization-system migration creates the client and grants it the `SA_FLOWX` role. * **If you manage Keycloak clients outside the chart** (external IdP, or authorization-system cannot provision clients): create `flowx-events-gateway-sa` in the service-accounts realm as a confidential client with service accounts enabled and only the client-credentials grant, then supply its secret to both values above. > [!WARNING] > > If `flowx-events-gateway-sa` already exists, the migration leaves its secret untouched by design. A pre-existing client whose secret does not match the one given to Events Gateway will not be corrected on upgrade, and Events Gateway will fail to authorize subscriptions. Make the two match manually in that case. #### Liquibase migration lock moves to database session locks The lock that guards Liquibase schema migrations at service startup is now a database session lock: `pg_advisory_lock` on PostgreSQL, `DBMS_LOCK` on Oracle. A pod that stops mid-migration has its lock released automatically when the database closes the session, so a stale `databasechangeloglock` row no longer needs clearing by hand. On any other database, Liquibase falls back to its standard row-based lock. The previous mechanism verified the lock-holder pod through the Kubernetes API. That dependency is gone: * Service accounts no longer need the `get pods/status` permission, and the FlowX Helm charts no longer create the corresponding Role and RoleBinding. If you maintain that RBAC outside the charts, you can remove the grant. * The lock keeps working on Kubernetes 1.33 and newer, where the previous mechanism silently deactivated itself. **Oracle deployments** must grant each FlowX service's database user the following before upgrading. A service whose grants are missing stops at startup with an error naming the missing grant: ```sql theme={"dark"} GRANT EXECUTE ON SYS.DBMS_LOCK TO ; GRANT SELECT ON SYS.GV_$LOCK TO ; GRANT SELECT ON SYS.GV_$SESSION TO ; ``` PostgreSQL deployments need no action: advisory locks require no additional grant. > [!NOTE] > > Confirm any required configuration changes against the setup guides before upgrading. ## Third-party supported component versions Within each version line listed below, versions that have reached upstream end of life are not supported, even though their major/minor is listed. | FlowX.AI Version | 3rd Party Dependency | Supported Versions | | - | - | - | | 5.9.x | Keycloak | 26 | | 5.9.x | Kafka | 3.9, 4.0, 4.1, 4.2 | | 5.9.x | PostgreSQL | 16, 17, 18 | | 5.9.x | Oracle Database | 21c, 23ai | | 5.9.x | MongoDB | 7, 8 | | 5.9.x | Redis | 7, 8 | | 5.9.x | Elasticsearch | 8, 9 | | 5.9.x | Elasticsearch Sink Connector (\*) | 15 | | 5.9.x | Angular (Web SDK) | 20.3, 21.2 | | 5.9.x | React (Web SDK) | 19 | (\*) Required only if using indexing via Kafka. Multiple sink connector implementations also work, as long as they are compatible with both the deployed Kafka and Elasticsearch version. > [!NOTE] > > The table lists version lines, not individual versions. A version is supported for as long as its vendor still supports it, so check the version you plan to deploy against that vendor's lifecycle page before committing to it. When a version reaches upstream end of life it is no longer supported; upgrade that component to keep your deployment on a supported configuration. Versions can also be added during the family's lifetime as FlowX validates them. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.9.4 Release Notes (LTS) Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.4-august-2026/v5.9.4-august-2026 Maintenance release for the 5.9.x LTS line. Bug fixes, security patches, the Angular 21 renderer upgrade, and a Helm chart image-registry change. > [!NOTE] > > This is a **Long-Term Support (LTS)** maintenance release in the **5.9.x** line, focused on **bug fixes**, **security patches**, and **stability improvements**. The platform upgrade from **5.9.3 → 5.9.4** requires no data migration, but it does change how the Helm charts express the container image location. Review the [deployment guidelines](./deployment-guidelines-v5.9.4#configuration-changes) before you upgrade. > [card] Release Highlight > > **FlowX.AI 5.9.4** is a maintenance release for the 5.9.x LTS: > > * **Helm charts:** the container image reference splits into `image.registry` and `image.repository`, making `global.imageRegistry` a single chart-wide override > * **Angular 21:** the Angular renderer and the web SDKs move to Angular 21 > * **Key fixes:** branch merges no longer getting stuck, build export retry after a dependency timeout, deleting actions that call functions, gateway expression failures surfaced as incidents, library resource overview > * **Cross-version import:** an imported theme is completed from the destination's system theme, so nothing is missing after importing an older export > * Designer, renderer, and backend stability fixes plus security patches > * No data migration; the only upgrade action is the Helm values change, and only for one override pattern *** **What's new? 🆕** > [tab] Highlights > > Bug fixes and stability improvements across the platform, plus a Helm chart change that affects some self-hosted deployments. > > 📦 [**Helm chart image registry**](#helm-chart-image-registry) - `image.repository` splits into `image.registry` + `image.repository`\ > 🅰️ [**Angular 21**](#angular-21) - The Angular renderer and web SDKs move to Angular 21\ > 🔧 [**Platform improvements**](#platform-improvements) - Bug fixes and security patches > > *** > > ### **Helm chart image registry** > > > [card] image.repository splits into image.registry + image.repository > > > > Across the FlowX chart set, the container image reference is now expressed as two fields instead of one combined path. The default image location is unchanged: each chart still resolves to the same `registry/repository:tag`. > > > > ```yaml theme={"dark"} > > # Before > > image: > > repository: / > > > > # After > > image: > > registry: > > repository: > > ``` > > > > The registry resolves to `global.imageRegistry` when that is set, and otherwise to the chart's own `image.registry`. This makes `global.imageRegistry` a single, chart-wide override that redirects the charts to your registry, while each chart ships the correct bare `image.repository` by default. > > > > > [!WARNING] > > > > > > **Check your values files before upgrading.** If you set `global.imageRegistry`, no action is needed. If you embedded the registry inside `image.repository`, move it out first, or the registry is prepended twice. This includes values files built from the FlowX setup guides before 5.9.4, which showed the combined form. Full before-and-after in the [deployment guidelines](./deployment-guidelines-v5.9.4#helm-charts-image-registry-split). > > > > All Deployments > > *** > > ### **Angular 21** > > > [card] Angular renderer and web SDKs on Angular 21 > > > > The Angular renderer and the `@flowx/angular-*` web SDK packages are built on Angular 21. Host apps embedding the Angular SDK should be on Angular 21 before taking 5.9.4. > > > > Angular does not support skipping a major in a single update, so step through the official update guide one major at a time. The **npm** and **node** requirements are unchanged from 5.9.3. > > > > See the [Angular SDK requirements](/5.9/sdks/angular-renderer#angular-project-requirements) for the current version floor, and the [Angular migration guide](/5.9/migrating-from-5.1-lts/angular#framework-upgrade-angular-19-→-21) for the upgrade path. > > > > All Deployments > > *** > > ### **Platform improvements** > > > [card] Platform Improvements > > > > > [tab] Bug fixes > > > > > > > [accordion] Notable bug fixes > > > > > > > > * **Build export:** retrying a build export now re-attempts a dependency library whose own export ended in a timeout, instead of failing again immediately. Previously the retry skipped the timed-out dependency, so the parent build could never finish; the workaround was to export that dependency directly first. > > > > * **Actions:** deleting an action whose business rule calls a function now works instead of returning a server error. This affected any action at any nesting level, in both projects and libraries; the workaround was to delete the rule from the action first. > > > > * **Gateways:** an expression that fails to evaluate on an exclusive gateway now surfaces as an incident on the process instance. Previously the failure appeared only in the service logs, with no feedback in the platform. > > > > * **Task management:** the row-selection checkbox column no longer carries an invisible sort control. Clicking it by accident previously re-sorted the view and cleared the current selection. Changing the page size no longer opens the wrong process from the list. > > > > * **Library resource overview:** opening the resource overview for a library process no longer fails with a server error, and a process used from a library is no longer listed once per consuming project version. > > > > * **Project versions:** a branch merge no longer gets stuck awaiting correction when the final correction response arrives while a background synchronization is still running, and merging versions no longer fails with a navigation-areas error. > > > > * **UI Flows:** table filters, sorting, and the current page are kept when you navigate away and back, and across rebuilds. The page index was previously lost on back-navigation. > > > > * **Reusable UI templates:** static input mappings configured on a reusable template are now applied at runtime. > > > > * **Subprocesses:** dismissing a subprocess started from an embedded call activity no longer returns a 403. > > > > * **Entry points:** the entry-point picker in version settings now lists only processes and UI flows from the current project. Resources from dependency libraries were previously offered and could be selected. > > > > * **Themes and CMS resources:** exporting a theme no longer includes duplicate non-system copies of system icons, so repeated imports stop multiplying them, and importing no longer leaves system substitution tags missing. > > > > * **Documents:** CSV generation from spreadsheet-derived data no longer produces oversized output built from trailing empty cells and rows. > > > > * **Generated documents:** a document whose storage write fails now returns an error instead of being recorded as successful with a download path that cannot be opened. Transient storage write failures are retried first. The same guard covers the archive, encrypt, decrypt, convert, combine, split, and persist operations. > > > > * **Renderers:** the document preview shows its subtitle again, and the file-upload error message picks up the configured theme. > > > > > [tab] Other improvements > > > > > > > [accordion] Improvements > > > > > > > > * **Cross-version import:** importing a project build or version exported from an older platform line now completes the imported theme from the destination's system theme, so components added since the export are no longer missing. Existing values in the exported file are never overwritten, so customizations survive. > > > > * **Access management:** the project share modal warns when an access entity references roles that are missing from the build, and an end-user role can be removed from a project version. > > > > * **Runtime authorization:** runtime-manager, process-engine, and events-gateway check each request from a signed-in end user against the roles defined in the running build, and reject it with a 403 when the user holds none of them. Service accounts aren't affected. > > > > * **Libraries:** the UI Flows entry is hidden from the library menu, where it did not apply. > > > > * **Integration Designer performance:** service startup no longer scans the full token-instance collection to warm up, and the run-list summary queries are indexed and gated. > > > > * **Database migrations:** the lock that guards Liquibase schema migrations at service startup is now a database session lock: `pg_advisory_lock` on PostgreSQL, `DBMS_LOCK` on Oracle. A pod that stops mid-migration has its lock released automatically when the database closes the session, so there is no stale `databasechangeloglock` row to clear by hand. The previous mechanism recovered a stuck lock through the Kubernetes API, which required the `pods/status` permission on every service account and silently deactivated on Kubernetes 1.33 and newer. Oracle deployments need new database grants before upgrading: see the [deployment guidelines](./deployment-guidelines-v5.9.4#liquibase-migration-lock-moves-to-database-session-locks). > > > > > > > [accordion] Security patches > > > > > > > > This release includes security patches and dependency upgrades across platform components to address known vulnerabilities. > > *** > [tab] Info > > ## Additional information > > > [!NOTE] > > > > **Upgrade compatibility:** FlowX.AI 5.9.4 is compatible with 5.9.3. No data migration is required. One deployment-level change applies: the Helm charts split the image reference into `image.registry` and `image.repository`. Oracle deployments also need new database grants for the Liquibase migration session lock. > > > [!WARNING] > > > > **Helm values migration.** Deployments that redirect images through `global.imageRegistry` need no action. Deployments that embedded the registry inside `image.repository` must move the registry portion out before upgrading. See [Configuration changes](./deployment-guidelines-v5.9.4#configuration-changes). > > ### Compatibility > > > [card] Upgrade path > > > > Direct upgrade from 5.9.3 → 5.9.4. No data migration; review the Helm values change first. > > > [card] Component compatibility > > > > Compatible with FlowX.AI SDKs (Angular/React/iOS/Android), Designer, and Database 5.9.x. The Angular SDK moves to Angular 21. > > ### Deployment information > > > [!NOTE] > > > > Upgrading directly from 5.9.0, 5.9.1, or 5.9.2? Review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) first. > > For detailed deployment guidelines, see [Deployment Guidelines v5.9.4](./deployment-guidelines-v5.9.4). > > ### What's next > > **FlowX.AI 5.9.x LTS** will continue to receive maintenance updates focused on: > > * Security patches and vulnerability fixes > * Stability improvements and bug fixes > * Performance optimizations # Deployment guidelines v5.9.5 Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.5-september-2026/deployment-guidelines-v5.9.5 Component versions, configuration, and deployment notes for FlowX.AI 5.9.5 (5.9.x LTS maintenance release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.9.5 is a maintenance release for the 5.9.x LTS line. The upgrade from 5.9.4 is non-breaking and requires no data migration. The headline addition, native PostgreSQL partitioning, is opt-in: deployments that never enabled data partitioning are not affected. Review [Configuration changes](#configuration-changes) before you deploy. > [card] Upgrade Path > > **5.9.4 → 5.9.5**: Direct upgrade. No data migration is required. > > Self-hosted customers still on the 5.1.x LTS upgrade directly to the 5.9.x line. See [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). > [!NOTE] > > **Upgrading from 5.9.3 or earlier directly?** Review the [5.9.4 deployment guidelines](../v5.9.4-august-2026/deployment-guidelines-v5.9.4) first: the Helm image registry split applies when you skip 5.9.4. Upgrading from 5.9.0, 5.9.1, or 5.9.2, also review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) for the organization-ID migration fix and manually marked Liquibase changesets. ## Component versions ### Core components | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **process-engine** | 10.174.10 | 10.171.3 | 10.135.0 | 10.106.0 | 9.76.10 | | **admin** | 10.152.7 | 10.149.3 | 10.116.0 | 10.93.0 | 9.76.8 | | **designer** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **cms-core** | 10.113.7 | 10.110.4 | 10.86.0 | 10.67.0 | 9.47.6 | | **scheduler-core** | 10.94.6 | 10.91.2 | 10.70.0 | 10.53.0 | 9.36.5 | | **events-gateway** | 10.100.7 | 10.97.2 | 10.72.0 | 10.55.0 | 9.37.5 | | **notification-plugin** | 10.110.7 | 10.107.4 | 10.83.0 | 10.64.0 | 9.40.5 | | **document-plugin** | 10.124.7 | 10.121.3 | 10.94.0 | 10.75.0 | 9.45.5 | | **task-management-plugin** | 10.112.6 | 10.109.3 | 10.84.0 | 10.66.0 | 9.44.7 | | **reporting-plugin**\* | 10.1.6 | 10.1.6 | 0.2.6 | 0.2.6 | 0.2.8 | | **data-search** | 10.92.6 | 10.89.2 | 10.69.0 | 10.52.0 | 9.33.5 | | **audit-core** | 10.102.6 | 10.99.2 | 10.79.0 | 10.63.0 | 9.41.5 | | **advancing-controller** | 10.98.7 | 10.95.2 | 10.73.0 | 10.55.0 | 9.36.6 | | **integration-designer** | 10.200.9 | 10.197.5 | 10.162.0 | 10.128.0 | 9.60.7 | | **application-manager** | 10.158.7 | 10.155.5 | 10.123.0 | 10.97.0 | 9.83.8 | | **runtime-manager** | 10.158.7 | 10.155.5 | 10.123.0 | 10.97.0 | 9.83.8 | | **data-sync** | 10.107.7 | 10.104.3 | 10.81.0 | 10.58.0 | 9.34.4 | | **authorization-system** | 10.122.7 | 10.119.3 | 10.96.1 | 10.77.0 | 9.44.6 | | **nosql-db-runner** | 10.101.6 | 10.98.2 | 10.75.0 | 10.56.0 | 9.32.5 | | **email-gateway** | 10.101.6 | 10.98.2 | 10.74.0 | 10.56.0 | - | | **organization-manager** | 10.98.6 | 10.95.2 | 10.71.0 | 10.53.0 | - | | **webhook-gateway** | 10.69.6 | 10.66.2 | 10.44.0 | 10.25.0 | - | | **file-gateway** | 10.33.7 | 10.30.2 | 10.8.0 | - | - | | **license** | 10.87.6 | 10.84.2 | 10.63.0 | 10.46.0 | - | \* The reporting plugin is an optional add-on and is versioned independently of the platform, so its numbering does not follow the other components. It moved from the `0.2.x` scheme to `10.x` after 5.9.0. Pin the version listed for your release. ### Embedded components * **SpiceDB**: see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database): bundled in the AI Platform Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **@flowx/angular-sdk** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-theme** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-ui-toolkit** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-sdk** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-theme** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-ui-toolkit** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-native-sdk** | 10.277.0 | 10.277.0 | 10.230.2 | - | - | | **@flowx/react-native-theme** | 10.277.0 | 10.277.0 | 10.230.2 | - | - | | **@flowx/react-native-ui-toolkit** | 10.277.0 | 10.277.0 | 10.230.2 | - | - | | **@flowx/core-sdk** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/core-theme** | 10.282.5 | 10.275.0 | 10.230.2 | 10.181.0 | 9.165.3 | | **react-saas** | 10.282.5 | 10.275.0 | 10.230.2 | - | - | | **iOS renderer** | 10.6.2 | 10.6.0 | 10.4.1 | 10.3.0 | 9.0.32 | | **Android renderer** | 10.9.3 | 10.8.0 | 10.5.0 | 10.3.0 | 9.0.44 | ### AI components FlowX.AI groups AI services into four tiers by deployment role. **AI Base** components are the foundation; **AI Runtime** and **AI Dev Time** components both require Base to be installed first; **AI Extensions** are optional add-ons layered on top. #### AI Base components | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **knowledgebase-indexer-v2** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | - | | **knowledgebase-rag** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | - | | **embedder** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | - | | **doc-parser** | 10.11.0 | 10.10.2 | 10.9.0 | 10.7.0 | - | #### AI Runtime components | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **agent-builder** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | 9.4.8 | | **data-privacy** | 10.11.0 | 10.10.2 | 10.1.0 | 10.1.0 | - | | **doc-converter** | 10.11.0 | 10.10.2 | 10.2.3 | 10.2.3 | - | | **evals-judge** | 10.11.0 | 10.10.2 | 10.1.1 | - | - | | **speech-to-text** | 10.11.0 | 10.10.2 | 10.3.4 | 10.3.3 | - | | **web-crawler** | 10.11.0 | 10.10.2 | 10.3.5 | 10.3.5 | - | #### AI Dev Time components | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **ai-gateway** | 10.35.6 | 10.32.2 | 10.7.0 | - | - | | **ai-analyst** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-architect** | 10.11.0 | 10.10.2 | - | - | - | | **ai-assistant** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | - | | **ai-designer** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-developer** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | 9.4.8 | | **planner** | 10.11.0 | 10.10.2 | 10.7.0 | 10.7.0 | 9.4.8 | | **kb-enrichment** | 10.11.0 | 10.10.2 | - | - | - | | **flowx-docs** | 5.9.5 | 5.9.4 | 5.9.0 | - | - | #### AI Extensions | Component | 5.9.5 | 5.9.4 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **modpod** | 10.0.7 | 10.0.7 | 10.0.7 | 10.0.7 | - | | **ai-observatory** | 10.7.2 | 10.7.2 | 10.3.2 | - | - | > [!NOTE] > > For the plugins matrix, refer to the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9). ## Kafka topics > [!NOTE] > > 5.9.5 introduces no new Kafka topics over 5.9.4. For the full multi-release topic matrix, see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9#kafka-topics). ## Deployment notes ### Standard deployment This maintenance release follows standard FlowX.AI deployment procedures: 1. Review [Configuration changes](#configuration-changes): everything new in this release is opt-in or ships with a safe default, so no values change is required for a standard upgrade. 2. Update container images to the 5.9.5 versions listed in the table above. 3. Deploy services using your standard deployment process. 4. Verify deployment via **FlowX.AI Designer → Platform Status**. ### Configuration changes #### Native PostgreSQL partitioning (opt-in) Process-instance archiving on PostgreSQL can now use native declarative partitions instead of the legacy copy-based mechanism. Data partitioning itself remains **off by default** (`FLOWX_DATA_PARTITIONING_ENABLED` is `false`), so deployments that never enabled it are not affected. New process-engine variables: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_DATA_PARTITIONING_ARCHIVING_POSTGRESNATIVE` | Use native PostgreSQL partitions for archiving when partitioning is enabled. PostgreSQL only; other databases keep the existing mechanism. | `true` | | `FLOWX_DATA_PARTITIONING_PREMAKECRONEXPRESSION` | Schedule for the job that creates upcoming partitions in advance. | `0 0 23 * * ?` | | `FLOWX_DATA_PARTITIONING_PREMAKEPARTITIONSAHEAD` | How many future partitions the job keeps created ahead of the current one. | `2` | > [!WARNING] > > Enabling native partitioning converts the process-instance tables to partitioned tables, and the conversion is one way: there is no supported path back to unpartitioned tables. Review the [partitioning and archiving setup guide](/5.9/setup-guides/flowx-engine-setup-guide/process-instance-data-archiving#native-postgresql-partitioning) before turning it on. #### Document plugin: processing size limits The document plugin now enforces size limits on archive, encryption, and extraction operations. Input over the limit is rejected instead of processed. The defaults are generous; override them only if your documents legitimately exceed them. | Environment Variable | Description | Default Value | | - | - | - | | `DOCUMENT_ARCHIVE_MAX_FILE_SIZE` | Maximum size, in bytes, of a file accepted for archive operations. | `209715200` (200 MB) | | `DOCUMENT_ENCRYPTION_MAX_FILE_SIZE` | Maximum size, in bytes, of a file accepted for encryption. | `104857600` (100 MB) | | `DOCUMENT_EXTRACT_MAX_UNCOMPRESSED_SIZE` | Maximum total uncompressed size, in bytes, an archive may expand to during extraction. | `209715200` (200 MB) | #### Integration Designer: workflow output size guard Workflow output published to Kafka is now size-checked before sending. A root workflow output that exceeds the limit fails the workflow run with the failure type `outputTooLargeForKafka` instead of being silently dropped by the broker's message-size limit. The check applies to root workflow outputs on automatic and default-path completion; subworkflow outputs are not checked. | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_KAFKA_PAYLOAD_SIZE_LIMIT` | Maximum serialized size, in bytes, of a root workflow output published to Kafka. | `786432` | > [!TIP] > > Keep this limit below your broker's `max.message.bytes`. The default, 768 KB, sits safely under the common 1 MB broker default. #### Advancing datasource metrics The process engine and Integration Designer now register their advancing datasource under a named connection pool (`advancing`), so its metrics are distinguishable from the main datasource pool in Prometheus. No configuration action is required. > [!NOTE] > > Confirm any required configuration changes against the setup guides before upgrading. ## Third-party supported component versions Within each version line listed below, versions that have reached upstream end of life are not supported, even though their major/minor is listed. | FlowX.AI Version | 3rd Party Dependency | Supported Versions | | - | - | - | | 5.9.x | Keycloak | 26 | | 5.9.x | Kafka | 3.9, 4.0, 4.1, 4.2 | | 5.9.x | PostgreSQL | 16, 17, 18 | | 5.9.x | Oracle Database | 21c, 23ai | | 5.9.x | MongoDB | 7, 8 | | 5.9.x | Redis | 7, 8 | | 5.9.x | Elasticsearch | 8, 9 | | 5.9.x | Elasticsearch Sink Connector (\*) | 15 | | 5.9.x | Angular (Web SDK) | 20.3, 21.2 | | 5.9.x | React (Web SDK) | 19 | (\*) Required only if using indexing via Kafka. Multiple sink connector implementations also work, as long as they are compatible with both the deployed Kafka and Elasticsearch version. > [!NOTE] > > The table lists version lines, not individual versions. A version is supported for as long as its vendor still supports it, so check the version you plan to deploy against that vendor's lifecycle page before committing to it. When a version reaches upstream end of life it is no longer supported; upgrade that component to keep your deployment on a supported configuration. Versions can also be added during the family's lifetime as FlowX validates them. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.9.5 Release Notes (LTS) Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.5-september-2026/v5.9.5-september-2026 Maintenance release for the 5.9.x LTS line. Native PostgreSQL partitioning for process data, bug fixes, and security patches. > [!NOTE] > > This is a **Long-Term Support (LTS)** maintenance release in the **5.9.x** line, focused on **bug fixes**, **security patches**, and **stability improvements**. It also brings native PostgreSQL partitioning to process data. Review the [deployment guidelines](./deployment-guidelines-v5.9.5) before you upgrade. > [card] Release Highlight > > **FlowX.AI 5.9.5** is a maintenance release for the 5.9.x LTS: > > * **Native PostgreSQL partitioning:** process data tables are partitioned by the database itself, so removing old data becomes a partition drop instead of a bulk delete > * **Key fixes:** audit entries no longer missing or attributed to the wrong application, merge conflicts raised for changes inside embedded subprocesses, self-hosted Keycloak issuer derived from configuration > * **Integrations:** an SFTP private key can be stored as a multi-line PEM > * Backend, Designer, and renderer stability fixes plus security patches. Every change is listed in the [full changelog](#full-changelog) *** ## Upgrade notes > [!NOTE] > > **Upgrade compatibility:** FlowX.AI 5.9.5 is compatible with 5.9.4, and the upgrade requires no data migration. Native PostgreSQL partitioning is opt-in: if you had already enabled data partitioning, review the [deployment guidelines](./deployment-guidelines-v5.9.5) before you upgrade, because the conversion to native partitions runs automatically for you and is one way. **Before you upgrade, check these:** * **AI job queues:** each AI service now consumes Kafka jobs in its own consumer group instead of the shared `ai-services` group, and the new groups read only jobs published after they start. Wait until the `ai-services` group has no lag on the job topics before you upgrade, so no queued job is skipped. If your cluster restricts consumer groups with ACLs, allow the new groups first. * **Relational data sources:** Oracle data sources connect only to hosts that resolve to a public address. Add private database hosts to the allowlist, as described in [Relational database host restrictions](/5.9/setup-guides/nosql-db-runner#relational-database-host-restrictions). * **Service-account secrets:** confirm every service-account client secret is set on `authorization-system`, or the service stops at startup. The secrets are listed in the [Authorization setup guide](/5.9/setup-guides/authorization-setup-guide). * **Dashboards and alerts:** the Redis cache error counter is renamed from `cache_error_total` to `flowx_cache_error_total`. * **Runtime log levels:** the `loggers` actuator endpoint is no longer exposed by default. Add it back as described in [Changing log levels at runtime](/5.9/setup-guides/admin-setup-guide#changing-log-levels-at-runtime). * **Data partitioning:** if you had already turned on data partitioning, the conversion to native partitions runs automatically on upgrade and is one way. See the [deployment guidelines](./deployment-guidelines-v5.9.5). **Upgrade path:** direct upgrade from 5.9.4. Upgrading directly from 5.9.0, 5.9.1, or 5.9.2? Review the [5.9.2 deployment guidelines](../v5.9.2-july-2026/deployment-guidelines-v5.9.2) first. **Component compatibility:** compatible with FlowX.AI SDKs (Angular/React/iOS/Android), Designer, and Database 5.9.x. Component versions are listed in the [5.9.5 deployment guidelines](./deployment-guidelines-v5.9.5). *** ## Native PostgreSQL partitioning The process engine stores process data in tables that PostgreSQL itself partitions by time. Retention then works by dropping whole partitions rather than deleting rows one at a time, which keeps the cost of removing old data flat as the tables grow. This is the same partitioning model described for the 5.12 line, delivered into the 5.9.x LTS. For how partitioning interacts with archiving and retention, see [Process instance data archiving](/5.9/setup-guides/flowx-engine-setup-guide/process-instance-data-archiving). *** ## Full changelog ### New * **Integrations:** an SFTP private key can be stored as a multi-line PEM, in both the Private Key field and in a configuration parameter, and is passed through to the connection. * **Process engine:** process data tables can use native PostgreSQL partitioning, so retention drops whole partitions instead of deleting rows. Opt-in. See [Native PostgreSQL partitioning](#native-postgresql-partitioning). ### Changed * **AI Gateway:** logs carry structured key-value fields and record the length of a user message instead of an excerpt of its text. * **AI platform services:** every AI service applies the platform's Kafka security setting the same way, including TLS, and accepts the same OAuth token endpoint setting as the core services. An unsupported Kafka security protocol now stops the service at startup. * **AI platform services:** each AI service consumes Kafka jobs in its own consumer group instead of the shared `ai-services` group. The new groups read only jobs published after they start, so let the `ai-services` group reach zero lag before you upgrade. If your Kafka cluster restricts consumer groups with ACLs, allow the new groups before you upgrade. * **AI platform services:** the LLM configuration cache listener keeps one stable Kafka consumer group per pod, so restarts no longer leave orphaned groups on the broker. * **Application manager:** loading app versions is faster on databases that hold many deleted apps. The upgrade creates two new database indexes. * **Authorization system:** a missing or blank service-account client secret now stops `authorization-system` at startup, and the log names each affected client and its setting. * **Builds:** exporting and importing a build resolves dependencies more consistently, and a parent build is reconciled when an import it depends on finishes. * **Document plugin:** archive, encryption, and extraction operations enforce size limits, and input over the limit is rejected. See [Document plugin: processing size limits](./deployment-guidelines-v5.9.5#document-plugin-processing-size-limits). * **Integration Designer:** a root workflow output larger than the Kafka payload limit fails the run with `outputTooLargeForKafka` instead of being dropped by the broker. See [Integration Designer: workflow output size guard](./deployment-guidelines-v5.9.5#integration-designer-workflow-output-size-guard). * **NoSQL DB runner:** Oracle data sources can connect only to hosts that resolve to a public address, unless the host is allowed explicitly. Databases on a private network need an allowlist entry. See [Relational database host restrictions](/5.9/setup-guides/nosql-db-runner#relational-database-host-restrictions). * **Observability:** the `loggers` actuator endpoint is no longer exposed by default. To keep changing log levels at runtime, add `loggers` to the exposure list, as described in [Changing log levels at runtime](/5.9/setup-guides/admin-setup-guide#changing-log-levels-at-runtime). * **Observability:** the advancing engine reports additional metrics for its processing, and the metric names follow the platform naming convention. * **Observability:** the Redis cache error counter is renamed from `cache_error_total` to `flowx_cache_error_total` and gains an `error_class` label. Update dashboards and alerts that use the old name. ### Fixed * **Audit:** audit entries are no longer missing, duplicated, or recorded against the wrong application. * **Authorization system:** service-account clients that were created without a secret receive the configured secret on upgrade. Clients that already have a secret keep it. * **Designer:** searching reusable functions is case-insensitive, in the Functions list and in the function picker of Script and Fork nodes. * **Document plugin:** archive, extract, encrypt, and decrypt operations stage files in temporary storage instead of holding them in memory, so a large archive no longer exhausts service memory. * **Events gateway:** real-time updates resume automatically within seconds after a Redis failover, instead of requiring a pod restart. * **Identity:** on self-hosted deployments the Keycloak issuer is derived from configuration and matched exactly, so tokens are no longer rejected when the configured base URL and the issuer in the token differ. * **Process execution:** fixed rare cases where a process or workflow token stopped advancing with no error logged, and a database deadlock during cleanup of finished advancing partitions. * **Project versions:** a change made inside an embedded subprocess is now taken into account when a merge computes conflicts. Previously such a change could pass through a merge without a conflict being raised. * **Redis connectivity:** platform services, including AI Gateway, reconnect automatically after a Redis Sentinel failover or a dropped connection, and start even when Redis is briefly unavailable, without a pod restart. * **Renderers:** text substitution no longer breaks when a substitution tag receives an empty value. * **Runtime:** the runtime app context is cached correctly, which removes recurring `Redis cache PUT error` warnings and a database lookup on each runtime request. ### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. # Deployment guidelines v5.9.6 Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6 Component versions, configuration, and deployment notes for FlowX.AI 5.9.6 (5.9.x LTS maintenance release). > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 5.9.6 is a maintenance release for the 5.9.x LTS line. The upgrade from 5.9.5 adds one Kafka topic, a database table, and a MongoDB index. The table and the index are created automatically when the services start. Review [Kafka topics](#kafka-topics), [Configuration changes](#configuration-changes), and the [5.9.6 upgrade notes](./v5.9.6-october-2026#upgrade-notes) before you deploy. > [card] Upgrade Path > > **5.9.5 → 5.9.6**: Direct upgrade. No manual data migration is required. > > **5.9.6 → 6.0.0**: See [Migrating from v5.9.x to v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview). > > Self-hosted customers still on the 5.1.x LTS upgrade directly to the 5.9.x line. See [Migrating from 5.1 LTS](/5.9/migrating-from-5.1-lts/overview). > [!NOTE] > > **Upgrading from 5.9.4 or earlier directly?** Review the [5.9.5 deployment guidelines](../v5.9.5-september-2026/deployment-guidelines-v5.9.5) first, then the earlier pages they point to. ## Component versions ### Core components | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **process-engine** | 10.174.17 | 10.174.10 | 10.135.0 | 10.106.0 | 9.76.10 | | **admin** | 10.152.14 | 10.152.7 | 10.116.0 | 10.93.0 | 9.76.8 | | **designer** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **cms-core** | 10.113.13 | 10.113.7 | 10.86.0 | 10.67.0 | 9.47.6 | | **scheduler-core** | 10.94.11 | 10.94.6 | 10.70.0 | 10.53.0 | 9.36.5 | | **events-gateway** | 10.101.1 | 10.100.7 | 10.72.0 | 10.55.0 | 9.37.5 | | **notification-plugin** | 10.111.1 | 10.110.7 | 10.83.0 | 10.64.0 | 9.40.5 | | **document-plugin** | 10.124.13 | 10.124.7 | 10.94.0 | 10.75.0 | 9.45.5 | | **task-management-plugin** | 10.112.12 | 10.112.6 | 10.84.0 | 10.66.0 | 9.44.7 | | **reporting-plugin**\* | 10.1.8 | 10.1.6 | 0.2.6 | 0.2.6 | 0.2.8 | | **data-search** | 10.92.11 | 10.92.6 | 10.69.0 | 10.52.0 | 9.33.5 | | **audit-core** | 10.102.11 | 10.102.6 | 10.79.0 | 10.63.0 | 9.41.5 | | **advancing-controller** | 10.98.12 | 10.98.7 | 10.73.0 | 10.55.0 | 9.36.6 | | **integration-designer** | 10.201.2 | 10.200.9 | 10.162.0 | 10.128.0 | 9.60.7 | | **application-manager** | 10.159.3 | 10.158.7 | 10.123.0 | 10.97.0 | 9.83.8 | | **runtime-manager** | 10.159.3 | 10.158.7 | 10.123.0 | 10.97.0 | 9.83.8 | | **data-sync** | 10.107.13 | 10.107.7 | 10.81.0 | 10.58.0 | 9.34.4 | | **authorization-system** | 10.122.13 | 10.122.7 | 10.96.1 | 10.77.0 | 9.44.6 | | **nosql-db-runner** | 10.101.13 | 10.101.6 | 10.75.0 | 10.56.0 | 9.32.5 | | **email-gateway** | 10.102.1 | 10.101.6 | 10.74.0 | 10.56.0 | - | | **organization-manager** | 10.98.12 | 10.98.6 | 10.71.0 | 10.53.0 | - | | **webhook-gateway** | 10.69.12 | 10.69.6 | 10.44.0 | 10.25.0 | - | | **file-gateway** | 10.33.14 | 10.33.7 | 10.8.0 | - | - | | **license** | 10.87.12 | 10.87.6 | 10.63.0 | 10.46.0 | - | \* The reporting plugin is an optional add-on and is versioned independently of the platform, so its numbering does not follow the other components. It moved from the `0.2.x` scheme to `10.x` after 5.9.0. Pin the version listed for your release. ### Embedded components * **SpiceDB** 1.52.0, deployed and upgraded by the **SpiceDB operator** 1.25.1. * **Qdrant** (vector database): bundled in the `flowx-ai` Helm chart; its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/5.9/setup-guides/qdrant) for deployment and configuration. ### Renderers | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **@flowx/angular-sdk** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-theme** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/angular-ui-toolkit** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-sdk** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-theme** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-ui-toolkit** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/react-native-sdk** | 10.285.4 | 10.277.0 | 10.230.2 | - | - | | **@flowx/react-native-theme** | 10.285.4 | 10.277.0 | 10.230.2 | - | - | | **@flowx/react-native-ui-toolkit** | 10.285.4 | 10.277.0 | 10.230.2 | - | - | | **@flowx/core-sdk** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **@flowx/core-theme** | 10.285.4 | 10.282.5 | 10.230.2 | 10.181.0 | 9.165.3 | | **solution-portal** (renamed from react-saas) | 10.285.4 | 10.282.5 | 10.230.2 | - | - | | **iOS renderer** | 10.9.2 | 10.6.2 | 10.4.1 | 10.3.0 | 9.0.32 | | **Android renderer** | 10.10.2 | 10.9.3 | 10.5.0 | 10.3.0 | 9.0.44 | ### AI components FlowX.AI groups AI services into four tiers by deployment role. **AI Base** components are the foundation; **AI Runtime** and **AI Dev Time** components both require Base to be installed first; **AI Extensions** are optional add-ons layered on top. #### AI Base components | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **knowledgebase-indexer-v2** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | - | | **knowledgebase-rag** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | - | | **embedder** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | - | | **doc-parser** | 10.11.2 | 10.11.0 | 10.9.0 | 10.7.0 | - | #### AI Runtime components | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **agent-builder** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | 9.4.8 | | **data-privacy** | 10.11.2 | 10.11.0 | 10.1.0 | 10.1.0 | - | | **doc-converter** | 10.11.2 | 10.11.0 | 10.2.3 | 10.2.3 | - | | **evals-judge** | 10.11.2 | 10.11.0 | 10.1.1 | - | - | | **speech-to-text** | 10.11.2 | 10.11.0 | 10.3.4 | 10.3.3 | - | | **web-crawler** | 10.11.2 | 10.11.0 | 10.3.5 | 10.3.5 | - | #### AI Dev Time components | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **ai-gateway** | 10.35.13 | 10.35.6 | 10.7.0 | - | - | | **ai-analyst** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-architect** | 10.11.2 | 10.11.0 | - | - | - | | **ai-assistant** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | - | | **ai-designer** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | 9.4.8 | | **ai-developer** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | 9.4.8 | | **planner** | 10.11.2 | 10.11.0 | 10.7.0 | 10.7.0 | 9.4.8 | | **kb-enrichment** | 10.11.2 | 10.11.0 | - | - | - | | **flowx-docs** | 5.9.6 | 5.9.5 | 5.9.0 | - | - | #### AI Extensions | Component | 5.9.6 | 5.9.5 | 5.9.0 | 5.8.0 | 5.1.13 (LTS) | | - | - | - | - | - | - | | **modpod** | 10.0.7 | 10.0.7 | 10.0.7 | 10.0.7 | - | | **ai-observatory** | 10.7.2 | 10.7.2 | 10.3.2 | - | - | > [!NOTE] > > For the plugins matrix, refer to the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9). ## Kafka topics 5.9.6 adds one Kafka topic. If your cluster does not create topics automatically, create it before you deploy, and allow both services in your ACLs. | Topic | Producer | Consumer | Purpose | | - | - | - | - | | `ai.flowx.build.deployment-failed.v1` | runtime-manager | application-manager | Reports a build deployment that failed, so application-manager can queue it for a retry. | The topic is included in the FlowX Kafka topics chart from version 10.2.0. For the full multi-release topic matrix, see the [5.9.0 deployment guidelines](../v5.9.0-june-2026/deployment-guidelines-v5.9#kafka-topics). ## Deployment notes ### Standard deployment This maintenance release follows standard FlowX.AI deployment procedures: 1. Create the `ai.flowx.build.deployment-failed.v1` Kafka topic if your cluster does not create topics automatically. See [Kafka topics](#kafka-topics). 2. Review [Configuration changes](#configuration-changes). No values change is required for a standard upgrade. 3. The `ai-platform` umbrella Helm chart has been superseded by the `flowx-ai` chart. If you installed the `ai-platform` chart, follow [Migrate to the flowx-ai Helm chart](/5.9/setup-guides/migrate-to-flowx-ai-helm-chart) as part of your upgrade to 5.9.6. The migration needs downtime. See the [5.9.6 upgrade notes](./v5.9.6-october-2026#upgrade-notes). 4. Update container images to the 5.9.6 versions listed in the tables above. 5. Deploy services using your standard deployment process. 6. Verify deployment via **FlowX.AI Designer → Platform Status**. ### Configuration changes #### Build redeployment retries When a build deployment fails, application-manager queues it for a retry. The queue is now stored in the application-manager database, in the new `failed_deployment` table, instead of in Redis. The table is created automatically on startup. runtime-manager reports each failure on the `ai.flowx.build.deployment-failed.v1` topic, and application-manager consumes it. New application-manager variables (the defaults fit a standard deployment): | Environment Variable | Description | Default Value | | - | - | - | | `KAFKA_TOPIC_BUILD_DEPLOYMENTFAILED` | Topic that carries failed build deployments. | `ai.flowx.build.deployment-failed.v1` | | `KAFKA_CONSUMER_GROUPID_BUILD_DEPLOYMENTFAILED` | Consumer group that reads the topic. | `build-deployment-failed-group` | | `KAFKA_CONSUMER_THREADS_BUILD_DEPLOYMENTFAILED` | Number of consumer threads for the topic. | `1` | > [!WARNING] > > Retries that are still queued in Redis when you upgrade are not moved to the new table. Re-publish any build whose deployment failed shortly before the upgrade. The old entries stay in the Redis hash `build:failed-deployments:v3`, under the persistence key prefix configured for application-manager. Nothing reads them after the upgrade, so you can delete the hash. #### MongoDB setting names Services that use MongoDB now read their connection settings from new names. The previous `SPRING_DATA_MONGODB_*` variables still feed the new settings, so existing deployments need no change. Use the new names in new configuration. | Previous variable | New variable | | - | - | | `SPRING_DATA_MONGODB_URI` | `SPRING_MONGODB_URI` | | `SPRING_DATA_MONGODB_REPRESENTATION_UUID` | `SPRING_MONGODB_REPRESENTATION_UUID` | | `SPRING_DATA_MONGODB_STORAGE` | `FLOWX_DATASOURCE_MONGO_STORAGE` | | `SPRING_DATA_MONGODB_RUNTIME_ENABLED` | `FLOWX_DATASOURCE_APPRUNTIME_ENABLED` | | `SPRING_DATA_MONGODB_RUNTIME_URI` | `FLOWX_DATASOURCE_APPRUNTIME_URI` | | `SPRING_DATA_MONGODB_RUNTIME_REPRESENTATION_UUID` | `FLOWX_DATASOURCE_APPRUNTIME_REPRESENTATION_UUID` | `SPRING_DATA_MONGODB_RUNTIME_AUTOINDEXCREATION` no longer has any effect: indexes on the runtime database are never created automatically. #### Document parser models The document parser image now contains its layout, table, and OCR models, so the parser downloads nothing at startup or on the first parse. It runs without internet access and on a read-only filesystem. `USE_DOCLING` no longer has any effect on the document parser and can be removed from its configuration. #### Integration Designer: document download timeout A REST node JSON body can include `"@@base64File()"` to send a Document Plugin file as base64. Downloading the file from the Document Plugin is cancelled after this timeout. See [Content Type: JSON](/5.9/docs/platform-deep-dive/integrations/endpoint-file-handling#content-type-json). New integration-designer variable: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_DOCUMENTPLUGIN_DOWNLOADTIMEOUT` | Longest time a Document Plugin file download for a REST node JSON body may take before it is cancelled. | `PT5M` | > [!NOTE] > > Confirm any required configuration changes against the setup guides before upgrading. ## Third-party supported component versions Within each version line listed below, versions that have reached upstream end of life are not supported, even though their major/minor is listed. | FlowX.AI Version | 3rd Party Dependency | Supported Versions | | - | - | - | | 5.9.x | Keycloak | 26 | | 5.9.x | Kafka | 3.9, 4.0, 4.1, 4.2 | | 5.9.x | PostgreSQL | 16, 17, 18 | | 5.9.x | Oracle Database | 21c, 23ai | | 5.9.x | MongoDB | 7, 8 | | 5.9.x | Redis | 7, 8 | | 5.9.x | Elasticsearch | 8, 9 | | 5.9.x | Elasticsearch Sink Connector (\*) | 15 | | 5.9.x | Angular (Web SDK) | 20.3, 21.2 | | 5.9.x | React (Web SDK) | 19 | (\*) Required only if using indexing via Kafka. Multiple sink connector implementations also work, as long as they are compatible with both the deployed Kafka and Elasticsearch version. > [!NOTE] > > The table lists version lines, not individual versions. A version is supported for as long as its vendor still supports it, so check the version you plan to deploy against that vendor's lifecycle page before committing to it. When a version reaches upstream end of life it is no longer supported; upgrade that component to keep your deployment on a supported configuration. Versions can also be added during the family's lifetime as FlowX validates them. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](../../overview). # FlowX.AI 5.9.6 Release Notes (LTS) Source: https://docs.flowx.ai/release-notes/v5.x/v5.9.6-october-2026/v5.9.6-october-2026 Maintenance release for the 5.9.x LTS line. Durable build redeployment retries, project version merge fixes, and security patches. > [!NOTE] > > This is a **Long-Term Support (LTS)** maintenance release in the **5.9.x** line, focused on **bug fixes**, **security patches**, and **stability improvements**. Review the [deployment guidelines](./deployment-guidelines-v5.9.6) before you upgrade: this release adds one Kafka topic. > [card] Release Highlight > > **FlowX.AI 5.9.6** is a maintenance release for the 5.9.x LTS: > > * **Durable build redeployments:** a build deployment that failed and waits for a retry is stored in the database, so a Redis flush or restart no longer drops it > * **Key fixes:** project version merges no longer lose navigation areas, Resources Changed no longer flags unchanged resources, and Number attributes keep the selected subtype > * Backend, Designer, and AI stability fixes plus security patches. Every change is listed in the [full changelog](#full-changelog) *** ## Upgrade notes > [!NOTE] > > **Upgrade compatibility:** FlowX.AI 5.9.6 is compatible with 5.9.5. The upgrade adds a database table and a MongoDB index, both created automatically when the services start. **Before you upgrade, check these:** * **AI Platform Helm chart:** the `ai-platform` umbrella Helm chart has been superseded by the `flowx-ai` chart. If you installed the `ai-platform` chart, follow [Migrate to the flowx-ai Helm chart](/5.9/setup-guides/migrate-to-flowx-ai-helm-chart) as part of your upgrade to 5.9.6. The migration needs downtime. * **Kafka topics:** create the `ai.flowx.build.deployment-failed.v1` topic if your cluster does not create topics automatically, and allow it in your ACLs. `runtime-manager` produces it and `application-manager` consumes it. See [Kafka topics](./deployment-guidelines-v5.9.6#kafka-topics). * **Pending build redeployments:** retries that are still queued in Redis when you upgrade are not carried over. Re-publish any build whose deployment failed shortly before the upgrade. See [Build redeployment retries](./deployment-guidelines-v5.9.6#build-redeployment-retries). * **Workflow node retries:** retry waits now grow exponentially and the max interval caps each wait instead of the whole retry window. Review the retry settings of nodes that rely on the previous timing. * **Connection tests:** testing an SMTP connection needs the permission to edit notification templates, and testing an IMAP or Microsoft Outlook connection needs the permission to edit data sources. Grant these to custom roles that run connection tests. * **Integration Designer startup:** the first start after the upgrade builds a new index on the `workflow_instances` MongoDB collection. On a large collection, allow extra time before the readiness check passes. * **React Native SDK hosts:** when the backend starts a new process, the SDK notifies your app through `FlowX.newProcessStarted` and keeps showing the current process, like the Android and iOS SDKs. Update your app to dispose the current process handle and continue the new process. See [New process started](/5.9/sdks/react-native-renderer#new-process-started). **Upgrade path:** direct upgrade from 5.9.5. Upgrading from 5.9.4 or earlier? Review the [5.9.5 deployment guidelines](../v5.9.5-september-2026/deployment-guidelines-v5.9.5) first. **Component compatibility:** compatible with FlowX.AI SDKs (Angular/React/React Native/iOS/Android) and Designer 5.9.x. Component versions are listed in the [5.9.6 deployment guidelines](./deployment-guidelines-v5.9.6). *** ## Full changelog ### New * **Integration Designer:** a REST node JSON body can include `"@@base64File()"`. When the request is sent, the marker is replaced with the base64-encoded content of the Document Plugin file at that path. The download from the Document Plugin times out after 5 minutes by default (`FLOWX_DOCUMENTPLUGIN_DOWNLOADTIMEOUT`). See [Content Type: JSON](/5.9/docs/platform-deep-dive/integrations/endpoint-file-handling#content-type-json) and [Integration Designer: document download timeout](./deployment-guidelines-v5.9.6#integration-designer-document-download-timeout). ### Changed * **AI Platform services:** the `ai-platform` umbrella Helm chart has been superseded by the `flowx-ai` chart. See [Migrate to the flowx-ai Helm chart](/5.9/setup-guides/migrate-to-flowx-ai-helm-chart). * **All services:** every service image sets `MALLOC_ARENA_MAX=2`, which lowers native memory use. A value set in your deployment overrides it. * **Builds:** a build deployment that failed and waits for a retry is stored in the `application-manager` database instead of Redis, so a Redis flush or restart no longer drops it. The failure is reported on the new `ai.flowx.build.deployment-failed.v1` Kafka topic. Retries still queued in Redis at upgrade are not carried over. See [Build redeployment retries](./deployment-guidelines-v5.9.6#build-redeployment-retries). * **Designer:** a custom component, document template, or notification template that is still in use can be deleted. The delete confirmation first lists where it is used, because those references break when it is deleted. * **Document parser:** the layout, table, and OCR models are part of the image, so nothing is downloaded at startup or on the first parse, and the parser works without internet access or on a read-only filesystem. A request for the RapidOCR engine runs Tesseract instead. The `USE_DOCLING` setting has no effect. See [Document parser models](./deployment-guidelines-v5.9.6#document-parser-models). * **Integration Designer:** workflow node retry waits grow exponentially (the interval multiplied by the coefficient for each further attempt), and the max interval caps each wait instead of limiting the whole retry window. Each attempt keeps its own entry in the run history. * **Integration Designer:** a new index on the `workflow_instances` MongoDB collection speeds up lookups of child workflow runs. It is created when the service starts. * **MongoDB settings:** services read the MongoDB connection from new setting names, such as `SPRING_MONGODB_URI`. Existing `SPRING_DATA_MONGODB_*` values keep working, so no change is needed. See [MongoDB setting names](./deployment-guidelines-v5.9.6#mongodb-setting-names). * **Notifications and data sources:** testing an SMTP connection needs the permission to edit notification templates, and testing an IMAP or Microsoft Outlook connection needs the permission to edit data sources. * **Import:** the compatibility of an export file is now validated at the start of the import, so an incompatible file fails faster. * **Solution portal:** the `react-saas` web app is renamed `solution-portal`, and its container image is published under the new name. See the [5.9.6 deployment guidelines](./deployment-guidelines-v5.9.6) for its version. ### Fixed * **Advancing controller:** Prometheus can scrape the metrics endpoint, like the other services. Paths outside the actuator endpoints stay closed. * **AI services:** services start when `PYTHONPATH` is overridden in the pod spec, for example by an APM agent injector. * **Android SDK:** the loader shows while an action runs on a modal screen, and tapping an action button several times in a row no longer leaves the loader on screen with the next screen never shown. * **Data model:** switching an attribute from one Number subtype to another shows and saves the subtype you selected. * **Project versions:** **Resources Changed** no longer reports a resource as changed when only its misconfiguration warnings differ, so editing one business rule no longer flags the other business rules in the process. * **Project versions:** merging a branch keeps navigation area lists whole, so areas no longer disappear or fail with "Navigation area name already exists". Merging also removes UI templates whose parent container the merge deleted, instead of leaving them at the root of the UI flow. * **React Native SDK:** when the backend starts a new process, the SDK notifies your app through `FlowX.newProcessStarted` instead of replacing the shown process itself, like the Android and iOS SDKs. See [New process started](/5.9/sdks/react-native-renderer#new-process-started). * **React Native SDK:** a custom component keeps receiving data after the app returns from the background, for example from the Android document picker, so a document upload waiting for its link completes. * Stability fixes across project version merges, Integration Designer workflows, builds, the Designer, the renderers, and the AI services. ### Security * **All components:** security patches and dependency upgrades to address known vulnerabilities. # FlowX.AI 5.9.x to 6.0.0 changelog Source: https://docs.flowx.ai/release-notes/v6.x/5.9-to-6.0-changelog Every change a self-hosted FlowX.AI 5.9.x installation picks up when it moves to 6.0.0, grouped by release and type, with an RSS feed. This page lists what changes for a self-hosted FlowX.AI 5.9.x installation that moves to 6.0.0, newest first. Releases 5.10 to 5.13 shipped to SaaS first, and self-hosted installations get their features with 6.0.0. Changes already delivered in a 5.9.x patch are in the [5.9.x LTS changelog](/release-notes/v5.x/5.9-lts-changelog) and are not repeated here. Mobile renderers and the React Native SDK are covered in their own release notes. On FlowX.AI SaaS, apps moved from 5.13.0 to 6.0.0, so only the 6.0.0 entry applies to them, including its upgrade actions. **6.0.0** October 2026 **Upgrade actions:** check these in your existing apps. * **AI node prompts:** the chat message is no longer appended. Reference `${userMessage}` in **Context**. [Details](/6.x/ai-platform/chat-driven-workflows#context) * **AI node retries:** on by default, up to 10 times, 30 seconds apart. [Details](/6.x/ai-platform/agent-builder/node-types#what-happens-when-an-ai-node-can’t-reach-its-ai-service) * **Substitution tags:** `@@key` is rewritten to `${tag:key}`, and a missing `sys_*` tag now renders empty. [Details](/6.x/docs/platform-deep-dive/core-extensions/content-management/substitution-tags#what-changes-in-existing-apps-when-you-upgrade) * **FlowX Database and Unmanaged MongoDB writes:** `UPDATE`, `UPDATE_MANY`, `DELETE`, and `DELETE_MANY` operations with a missing or empty filter are rejected. To match every document, pass `{"_id": {"$exists": true}}`. [Details](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-behavior-nosql-db-runner-host-restrictions-cover-mongodb) * **Masked names:** data-privacy placeholders now carry the gender, such as ``. Update prompts or scripts that match ``. [Details](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-behavior-name-placeholders-in-data-privacy) * **Email triggers over IMAPS:** the mail server's certificate is now verified, so a self-signed or mismatched certificate stops the trigger from connecting. [Details](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-default-imaps-certificate-verification-in-email-gateway) * **Evaluations:** datasets become test cases with no checks, so an experiment skips them until you add an assert or evaluator. [Details](/6.x/ai-platform/evaluations#datasets-from-earlier-versions) * **Exports from 5.1.x:** they no longer import, and 5.1.x is no longer an export target. Import a 5.1.x export into a 5.9.x environment and export it again from there. [Details](/6.x/docs/flowx-designer/managing-a-project-flow/export-import-a-process-definition#exports-from-5-1-x) * **Scripts on GraalVM:** they now stop at the same per-language time limit as the native engine, 5,000 ms for JavaScript and 10,000 ms for Python by default. Before 6.0.0 they had no limit. [Details](/6.x/docs/building-blocks/actions/business-rule-action/business-rule-action#script-size-and-execution-limits) Self-hosted installations also follow the [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0) and the [migration guide](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview) for the Helm chart and renderer SDKs. #### New * **Developer Agentic Harness:** a plan can split the work into stories, delivered one at a time, each with how to test it. Comment mode lets you select a component in the running app and ask for a change, and conversations follow you across the Designer. See [Developer Agentic Harness](/6.x/ai-platform/developer-agentic-harness). * **Integration Designer:** add schedules to a workflow's Start node to run it once on a date or repeatedly on an ISO or cron cycle. A schedule fires only after you activate it in **Runtime** → **Runtime Settings** → **Schedules**. See [How do I run a workflow on a schedule?](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#how-do-i-run-a-workflow-on-a-schedule). * **Integration Designer:** the Generate Tabular File node turns an array of rows into a CSV or XLSX file. See [Generate Tabular File node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#generate-tabular-file-node). * **FlowX Database:** an index can enforce unique values on one attribute or a compound key, and existing duplicates are reported when you run **Apply Indexes**. You can also delete a document from the collection view. See [How do I make an index unique?](/6.x/docs/platform-deep-dive/integrations/flowx-database#how-do-i-make-an-index-unique). * **Knowledge Base:** **Disable Entry** takes an entry out of retrieval without removing it, **Activate Entry** puts it back, and an entry can be permanently deleted. See [Disable, re-activate, or permanently delete an entry](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/managing-content#how-do-i-disable-re-activate-or-permanently-delete-an-entry). * **Resources:** **Documentation** in a resource's menu holds a short description and longer Markdown documentation. Media Library assets get a description, used as the image's alt text. See [How do I document a resource?](/6.x/docs/projects/resources#how-do-i-document-a-resource). * **Substitution tags:** write `${tag:key}` anywhere in a component's text, next to static text and process data. The upgrade rewrites whole-value `@@key` references to `${tag:key}`, and `@@key` keeps working as a whole value. See [How do I reference a substitution tag in UI content?](/6.x/docs/platform-deep-dive/core-extensions/content-management/substitution-tags#how-do-i-reference-a-substitution-tag-in-ui-content). #### Changed * **Designer header:** the header holds the project name, the **Config** / **Runtime** switch, the **Build with AI** and **Comment** toggles, and **Run project**. Branching, the current version, and **Commit Changes** move to a version block in the footer. See [Header and version block](/6.x/docs/projects/managing-applications/versioning#header-and-version-block). * **AI nodes:** every AI node except Deep Research retries up to 10 times, 30 seconds apart, when its AI service or provider can't be reached. Turn on **Allow Retry** to set your own count, interval, and backoff. See [AI node retries](/6.x/ai-platform/agent-builder/node-types#what-happens-when-an-ai-node-can’t-reach-its-ai-service). * **Chat-driven workflows:** the chat message is no longer appended to an AI node's prompt. Reference `${userMessage}` in the node's **Context**. See [Context](/6.x/ai-platform/chat-driven-workflows#context). * **Evaluations:** each workflow has its own test cases, grouped by tags, with **equals** and **equals as JSON** asserts and LLM evaluators. The upgrade converts datasets to test cases with no checks, so add an assert or evaluator to each one before you run it. See [Datasets from earlier versions](/6.x/ai-platform/evaluations#datasets-from-earlier-versions). * **Certificates:** the **Certificates** panel on REST and File Storage data sources has two parts: **Trust** (System CAs, Custom CA, or None (insecure)) and **Identity** for mutual TLS. Existing settings are converted automatically. See [Certificates](/6.x/docs/platform-deep-dive/integrations/data-sources-and-endpoints#certificates). * **Knowledge Base:** turning **Containing Personal Information** on or off re-embeds the existing content with the new model. See [Can I change personal information after content is ingested?](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview#can-i-change-personal-information-after-content-is-ingested). * **Issues Console:** a check also covers the version itself: entry points, theme, library builds, and unused dependencies. See [Which version settings does a check cover?](/6.x/docs/projects/managing-applications/checking-for-issues#which-version-settings-does-a-check-cover). * **Notification center:** covers version imports and build exports and imports, alongside version exports and process instance migrations. See [What sends a notification](/6.x/docs/flowx-designer/notification-center#what-sends-a-notification). * **Configuration parameters:** after you save a sensitive value, the Designer shows `********` in its place. The real value is still used at runtime. See [What happens after you save a sensitive value?](/6.x/docs/platform-deep-dive/core-extensions/configuration-parameters#what-happens-after-you-save-a-sensitive-value). * **Script engine:** scripts on GraalVM stop at the same time limit as the native engine: 5,000 ms for JavaScript and 10,000 ms for Python by default. See [Script size and execution limits](/6.x/docs/building-blocks/actions/business-rule-action/business-rule-action#script-size-and-execution-limits). * **Canvas:** **Auto-arrange** on the workflow canvas and **Arrange** on the process canvas show a layout preview before anything moves. See [How do I auto-arrange the workflow canvas?](/6.x/docs/platform-deep-dive/integrations/integration-workflows#how-do-i-auto-arrange-the-workflow-canvas). * **Timer events:** timer nodes use the schedule editor. Dates and times are picked in local time and saved in UTC. See [Which entry modes can I use?](/6.x/docs/building-blocks/node/timer-events/timer-events#which-entry-modes-can-i-use). * **Versioning:** branch names can be up to 40 characters, up from 16. See [Creating a new branch](/6.x/docs/projects/managing-applications/versioning#creating-a-new-branch). * **Datepicker:** **Allow manual input** lets users type a date in the pattern of the project's default locale. Web only. * **Data mapping:** typing a new attribute path, such as `client.address.street`, creates the data types it names when you save the mapping. #### Removed * **AI agents:** the Command Center, the standalone Analyst, Architect, Assistant, Designer, and Developer agents, and the AI buttons inside the editors are removed. Open the agent rail with ⌘K (Ctrl+K) or the sparkle toggle in the header. See [Developer Agentic Harness](/6.x/ai-platform/developer-agentic-harness). * **Evaluations:** the Code evaluators are removed. Use **equals** in place of Exact match and **equals as JSON** in place of JSON match. Levenshtein has no replacement. See [Evaluations](/6.x/ai-platform/evaluations). * **Export and import:** exports from 5.1.x no longer import, and 5.1.x is no longer an export target. See [Exports from 5.1.x](/6.x/docs/flowx-designer/managing-a-project-flow/export-import-a-process-definition#exports-from-5-1-x). #### Deprecated * **GraalVM script engine:** deprecated. FlowX.AI 6.1.x is the last release family that supports it. Scripts on GraalVM keep working in 6.0.0; move them to the native engine. See [Move scripts off the GraalVM engine](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview#move-scripts-off-the-graalvm-engine). [6.0.0 release notes](/release-notes/v6.x/v6.0.0-october-2026/v6.0.0-october-2026) · [6.0.0 deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0) **5.13.0** September 2026 #### New * **Developer Agentic Harness:** an AI agent in the Designer builds and changes apps from a plain-language description. It surveys the app, drafts a plan for you to confirm, and runs the change on its own branch; merging and serving a new version stay with you. See [Developer Agentic Harness](/6.x/ai-platform/developer-agentic-harness). * **Notification center:** a bell in the Designer opens a 30-day notification history with read state, search, and filters. See [Notification center](/6.x/docs/flowx-designer/notification-center). * **UI Designer:** copy UI components and paste them into another UI Flow, app, or context. The paste names anything it could not place, and pasted components get unique names. * **Versioning:** committing or merging a version takes an optional description of up to 2000 characters, and a commit details view shows what a version contains. See [Commit descriptions and details](/6.x/docs/projects/managing-applications/versioning#commit-descriptions-and-details). * **Runtime:** an operator with the corrective-actions role moves the token of a running process instance to another node. See [Move tokens](/6.x/docs/projects/runtime/active-process/move-token). * **Document classifiers:** a classifier's corpus can be exported and imported between environments, and viewed read-only in the **Data** tab. See [What travels between environments](/6.x/docs/platform-deep-dive/integrations/document-classifiers#what-travels-between-environments). * **Integration Designer:** the File Encryption node encrypts or decrypts a file with a password inside a workflow. The file path and password take expressions. * **UI Designer:** a start workflow trigger takes a condition, so the workflow starts only when the condition holds. * **FlowX Database:** the Intersects operator matches documents whose array field shares at least one value with a given list. See [Intersects on array fields](/6.x/docs/platform-deep-dive/integrations/flowx-database#intersects-on-array-fields). * **Personal Information Guard:** AI nodes with the input scan on log the request as the model received it, with placeholders in place of the detected values. See [Request after PII anonymization](/6.x/ai-platform/personal-information-guard#request-after-pii-anonymization). #### Changed * **Access management:** the Workspace corrective actions editor role replaces the Workspace operations editor role. Users and groups with the old role move to the new one automatically. See [Workspace corrective actions editor permission matrix](/6.x/setup-guides/access-management/roles-permissions-matrix#workspace-corrective-actions-editor-permission-matrix). * **Export and import:** version exports bundle dependencies the same way build exports do, and the export dialog preselects the target platform version. See [Version exports that bundle dependencies](/6.x/docs/flowx-designer/managing-a-project-flow/export-import-a-process-definition#version-exports-that-bundle-dependencies). * **Integration Designer:** the Tabular Data Extraction node becomes the Data Parse node and also parses XML and JSON. See [Data Parse: XML and JSON support](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#data-parse-xml-and-json-support). * **Knowledge Base:** embedding jobs are scheduled fairly by default, so a large ingestion no longer delays small jobs queued behind it. * **File sources:** Document and Image components share one source configuration. In process user tasks, the **Document Plugin Path** source takes a Documents plugin `downloadPath` directly. See [Selecting the file to download](/6.x/docs/building-blocks/ui-designer/ui-component-types/file-download#selecting-the-file-to-download). * **Task management:** the task list searches, filters, and sorts on the translated labels it displays. See [Search and sort on translated labels](/6.x/docs/platform-deep-dive/core-extensions/task-management/task-management-localization#search-and-sort-on-translated-labels). * **Substitution tags:** custom tags can no longer start with `sys_`, which is reserved for system tags. See [Substitution tags](/6.x/docs/platform-deep-dive/core-extensions/content-management/substitution-tags). * **Elasticsearch:** new process instance and audit log indices default to `auto_expand_replicas` `0-1`, which overrides a fixed replica count. See [Elasticsearch replica auto-expansion](/release-notes/v5.x/v5.13.0-september-2026/deployment-guidelines-v5.13#changed-default-elasticsearch-replica-auto-expansion). * **Processes:** the process name moves from **Settings** into a **Details** modal. * **User management:** inviting many users at once has a reworked flow, and a sign-up link takes new users directly to the right solution. [5.13.0 release notes](/release-notes/v5.x/v5.13.0-september-2026/v5.13.0-september-2026) · [5.13.0 deployment guidelines](/release-notes/v5.x/v5.13.0-september-2026/deployment-guidelines-v5.13) **5.12.0** September 2026 **Upgrade actions:** the webhook gateway now reads the runtime registry, which adds a MongoDB dependency it did not have before. See [New databases and secrets](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-databases-and-secrets). #### New * **Integration Designer:** turn on **Parallel Multi-Instance** on a Subworkflow node to start one subworkflow per element of an input array and collect the results in an output array. See [Parallel multi-instance](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#parallel-multi-instance). * **Integration Designer:** email and webhook triggers can start an integration workflow, not only a process. See [External triggers](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#external-triggers). * **Integration Designer:** a Subworkflow node can route a mapping failure to its own branch instead of stopping the parent workflow. It is opt-in per node. See [Routing a subworkflow failure](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#routing-a-subworkflow-failure). * **Integration Designer:** the Send Notification node fills a project notification template from workflow data and sends it. See [Send Notification node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#send-notification-node). * **Db2 data source:** IBM Db2 joins the relational data sources, with Db2 for i as the default and Db2 LUW also supported. Db2 for z/OS is listed but not implemented, and selecting it fails with an error. See [Db2 database](/6.x/docs/platform-deep-dive/integrations/db2-database). * **Runtime:** bulk migration moves a filtered set of process instances to a new build in one run, with a check before it runs. See [Migrate process instances](/6.x/docs/projects/runtime/active-process/migrate-process-instances). * **Runtime:** a Workflow Instances page lists every workflow run in the project, filterable by status, date, and origin. The Process Instances and UI Flow Sessions lists gain status and start-date filters. See [Workflow instances](/6.x/docs/projects/runtime/workflow-instances). * **Personal Information Guard:** mask and restore nodes place personal-data handling as explicit workflow steps. See [Masking and restoring across several nodes](/6.x/ai-platform/personal-information-guard#masking-and-restoring-across-several-nodes). * **Deep Research node:** researches a question across the open web and files a cited report into a Knowledge Base. Depth is Quick, Standard, Deep, or Custom, and domains can be restricted with an allow or deny list. See [Deep Research node](/6.x/docs/platform-deep-dive/integrations/deep-research-node). * **Custom Agent:** a reusable function with input and output slices can be an agent tool. Built-in tools are a catalog of twenty tools in five categories: Math, List, Date, Text, and Web search. See [Tools tab](/6.x/docs/platform-deep-dive/integrations/custom-agent-node#tools-tab). * **Chat component:** users rate an agent's answer and add a reason, and the ratings are recorded in audit. See [Rating an answer](/6.x/ai-platform/chat-component#rating-an-answer). * **Evaluations:** custom evaluators score with Numeric or Binary rules and belong to the workflow you create them in. See [Custom evaluators](/6.x/ai-platform/evaluations#custom). * **Issues panel:** the Designer validates the resources in a project version and collects the findings in one **Issues** panel. See [Checking for issues](/6.x/docs/projects/managing-applications/checking-for-issues). * **Versioning:** merge into any branch you can merge into, and archive, unarchive, or delete branches. See [Managing branches](/6.x/docs/projects/managing-applications/versioning#managing-branches). * **Process canvas:** a **New Node** panel, drop-anywhere connecting, draggable control points on sequence flows, and swimlanes that resize from all four edges. See [Faster ways to build](/6.x/docs/building-blocks/process/process#faster-ways-to-build). * **Reusable UI templates:** a template can be built for UI Flow pages as well as process user tasks. Templates created earlier count as Process templates. See [Where a template can be used](/6.x/docs/building-blocks/reusable-resources/reusable-ui#where-a-template-can-be-used). [5.12.0 release notes](/release-notes/v5.x/v5.12.0-september-2026/v5.12.0-september-2026) · [5.12.0 deployment guidelines](/release-notes/v5.x/v5.12.0-september-2026/deployment-guidelines-v5.12) **5.11.0** August 2026 #### New * **Custom Agent:** attach FlowX workflows as tools, each with a hint that tells the agent when to call it. See [How workflow tools run](/6.x/docs/platform-deep-dive/integrations/custom-agent-node#how-workflow-tools-run). * **Custom Agent:** agentic knowledge base search breaks a question into sub-queries and retries with reworded queries when the first pass finds nothing. **Show Reasoning** records the model's reasoning summary in the logs. See [Agentic knowledge base search](/6.x/docs/platform-deep-dive/integrations/custom-agent-node#agentic-knowledge-base-search). * **Knowledge Base:** a Knowledge Base with **Containing Personal Information** on can use a local embedding model, set up as a CUSTOM provider in the organization AI settings. See [Containing personal information](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview#containing-personal-information). * **Knowledge Base:** the Update Knowledge Base node can delete entries that match a metadata filter, and its FAIL branch reports what failed and how many chunks were rolled back. See [Delete entries](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/managing-content#delete-entries). * **Document classifiers:** define classes, upload training data, and train or import a model, then route each document page with the Document Classification node. See [Document classifiers](/6.x/docs/platform-deep-dive/integrations/document-classifiers). * **Reusable functions:** Script and Condition (Fork) nodes in the Integration Designer can call reusable functions. See [Reusable functions](/6.x/docs/building-blocks/reusable-resources/reusable-functions). * **Integration Designer:** the Subworkflow node can map input per start node and output per end node instead of raw JSON. See [Subworkflow node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#subworkflow-node). * **Data model:** attributes support validators such as Required, Min/Max Value, Min/Max Length, Pattern, and Email Format, wherever the data model is used. See [Attribute validations](/6.x/docs/building-blocks/project-data-model#attribute-validations). * **Templates:** document and notification templates use the structured data model, with typed attributes and an **Input Parameters** tab. See [Managing notification templates](/6.x/docs/platform-deep-dive/core-extensions/content-management/notifications-plugin/managing-notification-templates). * **Chat component:** the chat button shows an unread-message badge, the panel searches conversation history, and the input can be disabled by a condition. See [Chat](/6.x/docs/building-blocks/ui-designer/ui-component-types/chat). * **UI Flows:** a **Navigate To** action can require selected forms to pass validation before it navigates. See [Navigate To action](/6.x/docs/building-blocks/ui-flows#navigate-to-action). * **UI Flows:** with **Allow multiple editors** off, a running session is restricted to its owner. New flows default to single-owner; existing and imported flows keep the shared behavior. See [Session owner](/6.x/docs/building-blocks/ui-flows#session-owner). * **Process Renderer:** a process-end trigger runs a configured action when the embedded process ends. See [Process end handling](/6.x/docs/building-blocks/ui-flows#process-end-handling). #### Changed * **Chat-driven workflows:** a conversational workflow must send at least one chat reply, or the run fails with an error. See [Chat-driven workflows](/6.x/ai-platform/chat-driven-workflows). * **Custom Agent:** the **Instructions** field is limited to 10,000 characters. See [Custom Agent node](/6.x/docs/platform-deep-dive/integrations/custom-agent-node). * **Response caching:** POST REST endpoints, file-storage LIST and DOWNLOAD, and Mongo FIND, FIND\_ONE, and AGGREGATE operations are cacheable. Mutating operations are never cached. See [REST endpoint caching](/6.x/docs/platform-deep-dive/integrations/data-sources-and-endpoints#rest-endpoint-caching). * **Email triggers:** Email Trigger and Microsoft Outlook data sources filter attachments by file extension. Existing category selections are migrated automatically. See [Attachment handling](/6.x/docs/platform-deep-dive/integrations/email-trigger#attachment-handling). * **Audit:** UI Flow runtime sessions are audited in more detail, including workflow runs, chat messages, and conversation reads. See [Audit](/6.x/docs/platform-deep-dive/core-extensions/audit). * **Export and import:** exporting to an older platform version removes UI-template features the target cannot read. See [Cross-version export and import](/6.x/docs/flowx-designer/managing-a-project-flow/export-import-a-process-definition#cross-version-export-and-import). * **UI Flows:** an expired session shows a session-expired screen with a start-fresh option. * **Renderers:** enumeration lookups are batched into a single request. [5.11.0 release notes](/release-notes/v5.x/v5.11.0-august-2026/v5.11.0-august-2026) · [5.11.0 deployment guidelines](/release-notes/v5.x/v5.11.0-august-2026/deployment-guidelines-v5.11) **5.10.0** July 2026 #### New * **PostgreSQL data source:** connect a workflow to a PostgreSQL database and run SQL query operations from workflow nodes. See [PostgreSQL database](/6.x/docs/platform-deep-dive/integrations/postgresql-database). * **SOAP data source:** import a WSDL from a URL or file, and call each operation from workflows with a SOAP Operation node. See [SOAP System](/6.x/docs/platform-deep-dive/integrations/soap-system). * **FlowX Database:** MongoDB aggregation pipelines group, join, and reshape documents beyond a single query. See [Aggregation pipelines](/6.x/docs/platform-deep-dive/integrations/flowx-database#aggregation-pipelines). * **Integration Designer:** the Tabular Data Extraction node reads a spreadsheet or CSV file into structured JSON, one object per row. See [Tabular Data Extraction node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#tabular-data-extraction-node). * **Integration Designer:** the Template Filling node generates a PDF or DOCX document from a document template filled with workflow data. See [Template Filling node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#template-filling-node). * **Integration Designer:** the Combine Files node merges PDFs in a given order, and the Split File node splits a PDF by page ranges or per page. See [Combine Files node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#combine-files-node) and [Split File node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#split-file-node). * **Documents plugin:** template-based generation can produce DOCX as well as PDF, set with `outputFormat`. See [Generating DOCX output](/6.x/docs/platform-deep-dive/core-extensions/content-management/documents-plugin/generating-from-html-templates#generating-docx-output). * **Knowledge Base:** a failed ingestion shows its status and reason, and **Retry** re-runs the last operation after cleaning up partial content. The Update Knowledge Base node gains a FAIL exit with per-operation rollback. See [Error handling and retry](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview#error-handling-and-retry). * **File Download component:** end users download files directly from a rendered app. See [File download](/6.x/docs/building-blocks/ui-designer/ui-component-types/file-download). * **Global header and footer:** a UI Flow can define a header and footer shown on every page. See [Global header and footer](/6.x/docs/building-blocks/ui-designer/ui-component-types/root-components/global-header-footer). * **Event handlers:** event handlers can fire on a condition. The **Save Local Variable** action saves the clicked collection row into local data under a key. See [Conditional triggers](/6.x/docs/building-blocks/ui-designer/event-handlers#conditional-triggers) and [Save Local Variable](/6.x/docs/building-blocks/ui-designer/event-handlers#save-local-variable). * **Image component:** the Image component honors a color property. See [Image](/6.x/docs/building-blocks/ui-designer/ui-component-types/image). * **Data source testing:** the database query testing modals have a **Documents** tab, and multi-record operations report an affected-record count. See [Testing data sources](/6.x/docs/platform-deep-dive/integrations/testing-data-sources). * **Mistral provider:** add Mistral with your own API key under **Organization Settings** → **AI Settings** → **Model Providers**, then assign its models per capability. See [AI providers](/6.x/ai-platform/ai-providers). #### Changed * **Documents:** the **Document Type** field is renamed **Document Tag**. Behavior is unchanged. [5.10.0 release notes](/release-notes/v5.x/v5.10.0-july-2026/v5.10.0-july-2026) · [5.10.0 deployment guidelines](/release-notes/v5.x/v5.10.0-july-2026/deployment-guidelines-v5.10) # Deployment guidelines v6.0.0 Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0 Component versions, Kafka topics, environment variables, and Helm chart changes for FlowX.AI 6.0.0, with the steps a self-hosted upgrade needs. > [!NOTE] > > After 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**. ## Upgrade overview FlowX.AI 6.0 is a feature release. On SaaS, FlowX applies every change on this page. Self-hosted deployments usually follow LTS releases and receive these changes with the next LTS release family. If you upgrade a self-hosted installation to 6.0.0, apply the changes below in the order given in [Migrating from v5.9.x to v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview). ### Before you upgrade a self-hosted installation * Set every AI service group flag explicitly. See [AI service groups in the Helm chart](#ai-service-groups-in-the-helm-chart). * Deploy designer-user, the new `core` service. harness and ui-driver (`devtime`) and dynamic-classifier (`runtime`) deploy only if you turn their group on. See [New services](#new-services). * Create the new database users and secrets for the services you deploy. Every installation needs the four new keys in `keycloak-flowx-realm-clients`. See [New databases and secrets](#new-databases-and-secrets). * Give process-engine read access to the integration-designer bucket. See [New databases and secrets](#new-databases-and-secrets). * If you turn on dynamic-classifier, set its bucket name and provide its 20Gi volume. See [Update your values](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/helm-chart#update-your-values). * If you route with Kubernetes Ingress, move callers off the admin Ingress routes that the chart no longer creates. See [New databases and secrets](#new-databases-and-secrets). * Create the new Kafka topics. If your cluster uses ACLs, also give the new clients of three existing topics access. See [New Kafka topics](#new-kafka-topics). * Let audit-core reach Redis. It now uses Redis only to choose which replica runs its nightly cleanup job, not as a cache, and the chart connects it to the same Redis server as the other services. If you restrict which services can reach Redis, add audit-core. See [Configuring Redis](/6.x/setup-guides/audit-setup-guide#configuring-redis). * Set the personal-data encryption master key on integration-designer. See [Personal-data encryption master key](#new-required-secret-personal-data-encryption-master-key). * Choose how Elasticsearch replicates new indices. See [Elasticsearch replica auto-expansion](#changed-default-elasticsearch-replica-auto-expansion). * Add the MongoDB hosts on your private network that data sources use to `FLOWX_SSRFALLOWEDHOSTS`. See [nosql-db-runner host restrictions](#changed-behavior-nosql-db-runner-host-restrictions-cover-mongodb). * Trust the certificates of the IMAP servers your email triggers read from. See [IMAPS certificate verification](#changed-default-imaps-certificate-verification-in-email-gateway). Upgrading from 5.9.5 or earlier? Two changes from 5.9.6 also apply. See [Upgrading from an older patch release](#upgrading-from-an-older-patch-release). ## Component versions The versions below are the component versions that make up FlowX.AI 6.0.0, next to FlowX.AI 5.9.6, the latest 5.9.x release a self-hosted installation upgrades from. A dash marks a component that is new since 5.9.6. On SaaS, FlowX manages these versions. ### Core components | Component | 6.0.0 | 5.9.6 | | - | - | - | | **admin** | 11.132.0 | 10.152.14 | | **advancing-controller** | 11.86.0 | 10.98.12 | | **application-manager** | 11.143.0 | 10.159.3 | | **audit-core** | 11.92.0 | 10.102.11 | | **authorization-system** | 11.102.0 | 10.122.13 | | **cms-core** | 11.114.0 | 10.113.13 | | **data-search** | 11.87.0 | 10.92.11 | | **data-sync** | 11.94.0 | 10.107.13 | | **designer** | 11.252.0 | 10.285.4 | | **designer-user** | 11.31.0 | - | | **document-plugin** | 11.122.0 | 10.124.13 | | **email-gateway** | 11.110.0 | 10.102.1 | | **events-gateway** | 11.93.0 | 10.101.1 | | **file-gateway** | 11.105.0 | 10.33.14 | | **integration-designer** | 11.158.0 | 10.201.2 | | **license** | 11.94.0 | 10.87.12 | | **nosql-db-runner** | 11.98.0 | 10.101.13 | | **notification-plugin** | 11.113.0 | 10.111.1 | | **organization-manager** | 11.101.0 | 10.98.12 | | **process-engine** | 11.137.1 | 10.174.17 | | **runtime-manager** | 11.143.0 | 10.159.3 | | **scheduler-core** | 11.89.0 | 10.94.11 | | **task-management-plugin** | 11.109.0 | 10.112.12 | | **webhook-gateway** | 11.102.0 | 10.69.12 | ### AI base components | Component | 6.0.0 | 5.9.6 | | - | - | - | | **ai-gateway** | 11.118.1 | 10.35.13 | | **embedder** | 11.7.0 | 10.11.2 | | **knowledgebase-indexer-v2** | 11.7.0 | 10.11.2 | | **knowledgebase-rag** | 11.7.0 | 10.11.2 | | **doc-parser** | 11.7.0 | 10.11.2 | ### AI dev-time components | Component | 6.0.0 | 5.9.6 | | - | - | - | | **ai-analyst** | 11.7.0 | 10.11.2 | | **ai-architect** | 11.7.0 | 10.11.2 | | **ai-assistant** | 11.7.0 | 10.11.2 | | **ai-designer** | 11.7.0 | 10.11.2 | | **ai-developer** | 11.7.0 | 10.11.2 | | **harness** | 11.7.0 | - | | **kb-enrichment** | 11.7.0 | 10.11.2 | | **planner** | 11.7.0 | 10.11.2 | | **ui-driver** | 11.252.0 | - | ### AI runtime components | Component | 6.0.0 | 5.9.6 | | - | - | - | | **agent-builder** | 11.7.0 | 10.11.2 | | **cee-pii** | 11.7.0 | - | | **data-privacy** | 11.7.0 | 10.11.2 | | **doc-converter** | 11.7.0 | 10.11.2 | | **dynamic-classifier** | 11.7.0 | - | | **evals-judge** | 11.7.0 | 10.11.2 | | **speech-to-text** | 11.7.0 | 10.11.2 | | **web-crawler** | 11.7.0 | 10.11.2 | ### AI extensions | Component | 6.0.0 | 5.9.6 | | - | - | - | | **modpod** | 11.0.1 | 10.0.7 | | **observatory-api** | 11.29.4 | 10.7.2 | | **observatory-platform** | 11.29.4 | 10.7.2 | | **observatory-web** | 11.29.4 | 10.7.2 | In FlowX.AI 6.0, the Observatory components run on environments operated by FlowX. They aren't included in client deployments in this release. ### Embedded components * **SpiceDB:** see the [5.9.0 deployment guidelines](/release-notes/v5.x/v5.9.0-june-2026/deployment-guidelines-v5.9) for details. * **Qdrant** (vector database): bundled in the `flowx-ai` Helm chart and deployed with the AI base group (see [AI service groups in the Helm chart](#ai-service-groups-in-the-helm-chart)). Its version is managed by the chart and not pinned here. See the [Qdrant setup guide](/6.x/setup-guides/qdrant) for deployment and configuration. ### Renderers The web SDKs ship at the **designer** version (`11.252.0` for FlowX.AI 6.0.0). The native iOS and Android renderers version independently. | Component | 6.0.0 | 5.9.6 | | - | - | - | | **@flowx/angular-sdk** | 11.252.0 | 10.285.4 | | **@flowx/angular-theme** | 11.252.0 | 10.285.4 | | **@flowx/angular-ui-toolkit** | 11.252.0 | 10.285.4 | | **@flowx/react-sdk** | 11.252.0 | 10.285.4 | | **@flowx/react-theme** | 11.252.0 | 10.285.4 | | **@flowx/react-ui-toolkit** | 11.252.0 | 10.285.4 | | **@flowx/react-native-sdk** | 11.252.0 | 10.285.4 | | **@flowx/react-native-theme** | 11.252.0 | 10.285.4 | | **@flowx/react-native-ui-toolkit** | 11.252.0 | 10.285.4 | | **@flowx/core-sdk** | 11.252.0 | 10.285.4 | | **@flowx/core-theme** | 11.252.0 | 10.285.4 | | **solution-portal** | 11.252.0 | 10.285.4 | | **iOS renderer** | 11.6.0 | 10.9.2 | | **Android renderer** | 11.18.0 | 10.10.2 | The **solution-portal** container app tracks the designer version. *** ## Configuration changes This section compares environment variables, Kafka topics, and the `flowx-ai` Helm chart with FlowX.AI 5.9.6. It includes the changes that reached SaaS in 5.10 to 5.13, so a self-hosted upgrade from 5.9.6 needs only this page. ### New Kafka topics Compared with 5.9.6, create these 42 topics. Create all of them, whatever your group flags: topics for services you don't deploy stay unused. On SaaS they are created and managed automatically. **AI nodes as durable jobs:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.ai-platform.agent-node.job.request.v1` | integration-designer → agent-builder | | `ai.flowx.ai-platform.agent-node.job.response.v1` | agent-builder → integration-designer | | `ai.flowx.ai-platform.agent-node.job.progress.v1` | agent-builder → integration-designer | | `ai.flowx.ai-platform.agent-node.job.cancel.v1` | integration-designer → agent-builder | | `ai.flowx.ai-platform.agent-node.job.dlq.v1` | agent-builder → none (dead-letter topic) | **Deep research node:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.ai-platform.deep-research.job.request.v1` | integration-designer → agent-builder | | `ai.flowx.ai-platform.deep-research.job.response.v1` | agent-builder → integration-designer | | `ai.flowx.ai-platform.deep-research.job.dlq.v1` | agent-builder → none (dead-letter topic) | **Validation findings:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.application-version.validation-findings.request-admin.v1` | application-manager → admin | | `ai.flowx.application-version.validation-findings.request-cms.v1` | application-manager → cms-core | | `ai.flowx.application-version.validation-findings.request-document-plugin.v1` | application-manager → document-plugin | | `ai.flowx.application-version.validation-findings.request-integration.v1` | application-manager → integration-designer | | `ai.flowx.application-version.validation-findings.request-notification-plugin.v1` | application-manager → notification-plugin | | `ai.flowx.application-version.validation-findings.request-application-manager.v1` | application-manager → application-manager | | `ai.flowx.application-version.validation-findings.response.v1` | admin, cms-core, document-plugin, integration-designer, notification-plugin → application-manager | | `ai.flowx.application-version.validation-findings.job-completed.v1` | application-manager → harness | **Structured template data model:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.plugin.template-data-model.migration.v1` | admin → document-plugin, notification-plugin | | `ai.flowx.application-version.sync.document-template.in.v1` | application-manager → document-plugin | | `ai.flowx.application-version.sync.notification-template.in.v1` | application-manager → notification-plugin | | `ai.flowx.application-version.correction-after-app-operation.document-template.request.v1` | application-manager → document-plugin | | `ai.flowx.application-version.correction-after-app-operation.notification-template.request.v1` | application-manager → notification-plugin | **Runtime content import and export:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.runtime-content.task.request.v1` | application-manager → integration-designer | | `ai.flowx.runtime-content.task.response.v1` | integration-designer → application-manager | | `ai.flowx.ai-platform.knowledgebase.job.request.v1` | integration-designer → embedder | | `ai.flowx.ai-platform.knowledgebase.job.response.v1` | embedder → integration-designer | **Document classification and extraction:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.dynamic-classifier.job.request.v1` | integration-designer → dynamic-classifier | | `ai.flowx.dynamic-classifier.job.response.v1` | dynamic-classifier → integration-designer | | `ai.flowx.dynamic-classifier.job.dlq.v1` | dynamic-classifier → none (dead-letter topic) | | `ai.flowx.plugin.document.trigger.ml-archive-extract.v1` | integration-designer → document-plugin | | `ai.flowx.plugin.document.ml-archive-extract.results.v1` | document-plugin → integration-designer | | `ai.flowx.ai-platform.doc-parser.job.response.ml.v1` | doc-parser → integration-designer | **Event-triggered workflows:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.build.trigger-subscription-change.in.v1` | admin, integration-designer → application-manager | | `ai.flowx.core.trigger.start-for-event.workflow.v1` | email-gateway, webhook-gateway → integration-designer | **Workflow schedules:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.build.workflow-schedules.updates.in.v1` | integration-designer → runtime-manager | | `ai.flowx.core.notify.timer-event-schedule.state.v1` | scheduler-core → runtime-manager | **Bulk instance migration and move token:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.core.trigger.instance-migration.batch.v1` | process-engine → process-engine | | `ai.flowx.core.trigger.token-move.batch.v1` | process-engine → process-engine | **Run auditing:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.core.run.segment.v1` | process-engine, integration-designer → audit-core | | `ai.flowx.core.runtime.failure.v1` | process-engine, integration-designer → audit-core | **Designer notifications and preferences:** | Topic | Producer → Consumer | | - | - | | `ai.flowx.designer-user.notifications.v1` | application-manager, process-engine → designer-user | | `ai.flowx.eventsgateway.user.notifications.v1` | designer-user → events-gateway | | `ai.flowx.designer-user.user-preferences.v1` | designer-user → designer-user | > [!NOTE] > > If your Kafka cluster uses ACLs, also give the new clients of these existing topics access: > > * `ai.flowx.application-version.sync.out.v1`: document-plugin and notification-plugin > * `ai.flowx.application-version.correction-after-app-operation.response.v1`: document-plugin and notification-plugin > * `ai.flowx.application-version.resources-usages.sub-res-validation.response.v1`: document-plugin ### New services Compared with 5.9.6, the `flowx-ai` Helm chart adds four services. On SaaS they are provisioned and managed by FlowX. | Service | Group | What it does | Dependencies | | - | - | - | - | | designer-user | `core` | Stores Designer user preferences, such as the last-used workspace, and delivers Designer notifications | MongoDB, Redis, Kafka | | harness | `devtime` | Runs the Developer Agentic Harness | PostgreSQL, Redis, Kafka | | ui-driver | `devtime` | Renders UI flows in the background for the Developer Agentic Harness | None | | dynamic-classifier | `runtime` | Classifies documents with trained models | PostgreSQL, a persistent volume, Kafka | The databases, secrets, and volume are in [New databases and secrets](#new-databases-and-secrets). The harness reuses the platform's existing Redis, so nothing new is provisioned. It uses Redis to stream a running turn to every open Designer session and to cancel a turn from any harness pod. Without Redis, turns still run, but live progress and cancellation across pods don't work. The harness also consumes the existing `ai.flowx.llm.config.changed.v1` topic, so a change to an organization's AI model settings reaches it right away. Without Kafka, it picks up the change when its cache expires. ### AI service groups in the Helm chart The `flowx-ai` Helm chart groups the services into four groups. Each group has its own flag, `groups..enabled`: | Group | Services | | - | - | | `core` | Core platform services | | `base` | The AI base: ai-gateway, doc-parser, embedder, knowledgebase-indexer-v2, knowledgebase-rag, and the bundled Qdrant | | `devtime` | ai-analyst, ai-architect, ai-assistant, ai-designer, ai-developer, harness, kb-enrichment, planner, ui-driver | | `runtime` | agent-builder, data-privacy, doc-converter, dynamic-classifier, evals-judge, speech-to-text, web-crawler. cee-pii is in this group but needs `services.cee-pii.enabled: true` as well | The groups are the same as in 5.9.6. The 6.0.0 chart adds designer-user to `core`, harness and ui-driver to `devtime`, and cee-pii and dynamic-classifier to `runtime`. The `base` group is unchanged. Set all four flags in your values. `core` is `true` in every combination: | To install | `base` | `devtime` | `runtime` | | - | - | - | - | | Core services only | `false` | `false` | `false` | | Core, base, and devtime services | `true` | `true` | `false` | | Core, base, and runtime services | `true` | `false` | `true` | | All services | `true` | `true` | `true` | > [!WARNING] > > **Set every group flag explicitly for self-hosted upgrades.** Don't rely on the chart's group defaults. The `devtime` and `runtime` services call the AI base services, so turn `base` on whenever either of them is on. The chart doesn't check this for you. ### New databases and secrets Compared with the `flowx-ai` Helm chart in 5.9.6, these services need new databases. Create a database only if its service's group is on. designer-user is in `core`, so every installation needs its database: | Service | Group | Database user | Secret | | - | - | - | - | | agent-builder | `runtime` | PostgreSQL `agent_builder` | `flowx-postgres-agent-builder` | | dynamic-classifier | `runtime` | PostgreSQL `dynamic_classifier` | `flowx-postgres-dynamic-classifier` | | harness | `devtime` | PostgreSQL `harness` | `flowx-postgres-harness` | | designer-user | `core` | MongoDB `designer-user` | `mongodb-designer-user-designer-user` | Each database has the same name as its user. Each secret holds the user's password under the key `password`. The webhook-gateway also connects to the existing `app-runtime` MongoDB database with the `app-runtime` user. The `keycloak-flowx-realm-clients` secret needs four new keys, one for each new service account: | Secret key | Keycloak client | | - | - | | `KEYCLOAK_DESIGNER_USER_CLIENT_SECRET` | `flowx-designer-user-sa` | | `KEYCLOAK_AI_HARNESS_CLIENT_SECRET` | `flowx-ai-harness-sa` | | `KEYCLOAK_NOTIFICATION_PLUGIN_CLIENT_SECRET` | `flowx-notification-plugin-sa` | | `KEYCLOAK_DOCUMENT_PLUGIN_CLIENT_SECRET` | `flowx-document-plugin-sa` | Other chart changes: * **process-engine** needs read-only access (`s3:GetObject`) to the integration-designer bucket, to download the Kafka payloads that integration-designer stores there. The chart reads the access key ID from `global.flowx.s3.credentials.processEngine.accessKey` (default `flowx-process-engine-accesskey`) and the secret access key from the `flowx-process-engine-s3` secret, key `SecretAccessKey`. * **dynamic-classifier** stores its data on a 20Gi `ReadWriteOnce` persistent volume claim, `dynamic-classifier-data`, and uses the `Recreate` deployment strategy, so an upgrade stops the old pod before the new one starts. * **dynamic-classifier** reads an OpenAI API key for its LLM judge from the `dynamic-classifier-openai` secret, key `OPENAI_API_KEY`. The secret is optional: without it, the pod still starts and classification keeps working. * The chart no longer creates an admin Ingress for doc-converter, data-privacy, speech-to-text, web-crawler, and dynamic-classifier. ai-gateway keeps its own. ### New required secret: personal-data encryption master key The Mask Personal Data and Restore Personal Data nodes encrypt the placeholder map they keep during a workflow run. The key material comes from a new integration-designer variable with **no default**: without it, the mask and restore nodes fail rather than encrypt personal data with a published value. On SaaS this secret is provisioned and managed by FlowX. New integration-designer variables: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_PII_ENCRYPTION_MASTER_KEY` | Master secret the mask and restore nodes derive their encryption key from. Any non-empty string; use a strong random value and store it as a secret. Must be identical across all pods and stable over time: changing it invalidates every in-flight placeholder map | none (required) | | `FLOWX_PII_ENCRYPTION_KEY_ID` | Label recorded on new placeholder-map entries so a future migration can support key rotation. Only the configured key is held today | `k1` | | `FLOWX_PII_MAP_TTL` | How long a masked value stays restorable. Bounds exposure when a run ends without reaching the instance-end cleanup hooks; enforced by a MongoDB TTL index | `PT24H` | ### New object storage bucket: runtime content Runtime content export and import stores its files in a new shared bucket, `runtime-content-bucket`. Application Manager creates the bucket on first use, Integration Designer writes export files and reads imports there, and the embedder reads and writes Knowledge Base vectors at the paths each request names. Grant all three services access to the bucket. Browsers upload import files and download export files directly, through presigned URLs that Application Manager signs. By default it signs them with the internal storage endpoint, which only pods can reach, so set `APPLICATION_FILESTORAGE_S3_PRESIGNSERVERURL` to a storage endpoint that browsers can reach. New variables on application-manager and integration-designer. Set the bucket on both, and the presign settings on application-manager only: | Environment Variable | Description | Default Value | | - | - | - | | `APPLICATION_FILESTORAGE_S3_RUNTIMECONTENTBUCKET` | Bucket for runtime content export and import files | `runtime-content-bucket` | | `APPLICATION_FILESTORAGE_S3_PRESIGNSERVERURL` | Storage endpoint used to sign the presigned upload and download URLs. Leave empty to sign with the internal storage endpoint | empty | | `APPLICATION_FILESTORAGE_S3_PRESIGNREGION` | Region used to sign the presigned URLs | `us-east-1` | For the full list of buckets, see [Data architecture](/6.x/docs/platform-overview/data-architecture#s3-compatible-object-storage-buckets). ### Changed default: Elasticsearch replica auto-expansion New process instance indices and new audit log indices now use the Elasticsearch `auto_expand_replicas` setting, with a default of `0-1`. Elasticsearch keeps 0 replicas when the cluster has one data node and 1 replica when it has two or more, and adjusts the count as nodes join or leave. On SaaS, Elasticsearch is managed by FlowX. New process-engine and audit-core variable: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS` | Replica range that Elasticsearch applies to new indices. Set to `false` to use the fixed `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS` value instead | `0-1` | * **Overrides the fixed replica count:** while auto-expansion is on, `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS` has no effect on new indices. * **New indices only:** the setting applies to the `process_instance` index and index template and to the audit logs data stream template. Existing indices keep their current settings. * **Disk usage:** on clusters with two or more data nodes, the replica roughly doubles the disk space these indices use. > [!WARNING] > > **Breaking change for self-hosted upgrades.** A deployment that pins a fixed replica count, for example `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS=3`, loses it on new indices unless it also sets `FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS=false`. On multi-node clusters, check free disk space before upgrading. To apply auto-expansion to indices created before the upgrade, update their settings once: ```http theme={"dark"} PUT process_instance*,.ds-audit-logs*/_settings {"index": {"auto_expand_replicas": "0-1"}} ``` ### Changed behavior: nosql-db-runner host restrictions cover MongoDB The host restriction that relational data sources already had now applies to external MongoDB connections too. The nosql-db-runner checks every address a MongoDB host resolves to, including replica-set members and SRV targets, and rejects the connection if any of them is private. For FlowX Database and Unmanaged MongoDB data sources alike, it also rejects `UPDATE`, `UPDATE_MANY`, `DELETE`, and `DELETE_MANY` operations with a missing or empty filter. To match every document, pass `{"_id": {"$exists": true}}`. nosql-db-runner variables (both already existed for relational data sources): | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_SSRFALLOWEDHOSTS` | Hosts or CIDR blocks, separated by commas, that may connect even though they resolve to a private address. Addresses on the local machine or in a link-local range stay blocked | empty | | `FLOWX_SSRFPROTECTIONENABLED` | Turns the host restriction on or off | `true` | > [!WARNING] > > **Breaking change for self-hosted upgrades.** Unmanaged MongoDB data sources that point to a host on a private network stop connecting after the upgrade. Add those hosts to `FLOWX_SSRFALLOWEDHOSTS`. ### Changed behavior: name placeholders in data-privacy When data-privacy masks a person's name, the placeholder now carries the gender, for example `` or ``. When the name doesn't show the gender, the placeholder stays ``. Prompts or scripts that match the old placeholder form need updating. ### Changed behavior: Workspace operations editor role replaced The upgrade replaces the Workspace operations editor role with the [Workspace corrective actions editor](/6.x/setup-guides/access-management/roles-permissions-matrix#workspace-corrective-actions-editor-permission-matrix) role. Users and groups that had the old role get the new one automatically and keep access to process instance migration and move token. No action is needed. ### New environment variables: audit index retention The Audit service can now delete old audit data and roll over by shard size. Both settings are off by default, so the Audit service doesn't delete data unless you set a retention period. New audit-core variables: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_ELASTICSEARCH_INDEXRETENTIONDAYS` | Days after a backing index rolls over before it's deleted | Not set: indices are never deleted | | `FLOWX_ELASTICSEARCH_INDEXROLLOVERMAXPRIMARYSHARDSIZE` | Also roll over when a primary shard reaches this size, such as `50gb` | Not set: roll over by age only | > [!WARNING] > > When you first set `FLOWX_ELASTICSEARCH_INDEXRETENTIONDAYS`, the Audit service also deletes backing indices that rolled over more than that many days ago. See [Configuring Elasticsearch](/6.x/setup-guides/audit-setup-guide#configuring-elasticsearch). ### Changed default: IMAPS certificate verification in email-gateway The email-gateway now verifies the certificate of every IMAPS server it connects to. A server must present a certificate signed by a trusted authority and matching its host name. New email-gateway variable: | Environment Variable | Description | Default Value | | - | - | - | | `EMAILGATEWAY_IMAP_SSLTRUSTEDHOSTS` | Mail hosts that skip certificate verification, separated by spaces or commas. Use `*` to skip it for every host | empty | > [!WARNING] > > **Breaking change for self-hosted upgrades.** Email triggers that read from an IMAP server with a self-signed, private-CA, or mismatched certificate stop connecting after the upgrade. Add the server's CA to the email-gateway trust store, or list the host in `EMAILGATEWAY_IMAP_SSLTRUSTEDHOSTS`. ### Changed default: AI node retry AI nodes without retry settings of their own now retry when a dependency is temporarily unavailable, such as an LLM provider outage, a rate limit, or a lost connection. Permanent errors aren't retried, and deep research nodes never retry by default. A node's own retry settings replace the default. New integration-designer variables: | Environment Variable | Description | Default Value | | - | - | - | | `FLOWX_WORKFLOW_AINODEDEFAULTRETRY_ENABLED` | Turns the default retry for AI nodes on or off | `true` | | `FLOWX_WORKFLOW_AINODEDEFAULTRETRY_MAXATTEMPTS` | Maximum retry attempts | `10` | | `FLOWX_WORKFLOW_AINODEDEFAULTRETRY_BACKOFFPERIOD` | Wait between attempts, as an ISO-8601 duration | `PT30S` | ### Upgrading from an older patch release Upgrading from 5.9.5 or earlier? Apply the [5.9.6 deployment guidelines](/release-notes/v5.x/v5.9.6-october-2026/deployment-guidelines-v5.9.6#build-redeployment-retries) as well. Two 5.9.6 changes affect the upgrade: * **Build redeployment retries:** the queue of build deployments waiting for a retry moved from Redis to the application-manager PostgreSQL database, with a new topic, `ai.flowx.build.deployment-failed.v1`. Deployments waiting for a retry in Redis when you upgrade aren't moved to the new queue. Re-publish those builds after the upgrade. * **advancing-controller management port:** `MANAGEMENT_SECURITY_ENABLED` is no longer read. Actuator endpoints on the management port, including Prometheus, answer without authentication. > [!WARNING] > > Keep the advancing-controller management port, `8081`, off any public ingress. > [!NOTE] > > For previous FlowX.AI releases, please refer to the [Release Notes overview](/release-notes/overview). # Android SDK Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/android Migrate the FlowX Android renderer SDK from 5.9.x to 6.0.0. ## Android SDK migration guide FlowX.AI 6.0 moves the Android SDK to `compileSdk` 37, Android Gradle plugin 9 and Kotlin 2.4, and aligns the SDK's names with the iOS and web SDKs. Update your build setup first, then the renamed SDK APIs. ### System requirements * **minSdk = 26** (unchanged) * **compileSdk = 37** The SDK library was built using: * **[Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin) 9.5.0** * **[Gradle](https://gradle.org/releases/) 9.8.2** * **[Kotlin](https://kotlinlang.org/) 2.4.21** Your container app must build with at least: * **Android Gradle Plugin 9.1.0** * **Gradle 9.3.1** (the minimum depends on your Android Gradle Plugin version) * **Kotlin 2.4** * **JDK 17** ### Library dependencies | Dependency | 5.9.x | 6.0 | | - | - | - | | [Android Core KTX](https://developer.android.com/kotlin/ktx#core) | 1.16.0 | **1.19.1** | | [Android Activity Compose](https://developer.android.com/jetpack/androidx/releases/activity) | 1.10.1 | **1.13.0** | | [Compose BOM](https://developer.android.com/jetpack/compose/bom/bom-mapping) | 2025.09.01 | **2026.09.00** | | [Compose Navigation](https://developer.android.com/develop/ui/compose/navigation) | 2.9.1 | **2.10.2** | | [Android Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle) | 2.9.1 | **2.11.0** | | [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) | 1.10.2 | **1.11.0** | | [Android DataStore](https://developer.android.com/jetpack/androidx/releases/datastore) | 1.1.7 | **1.3.0** | | [Android Security](https://developer.android.com/jetpack/androidx/releases/security) | 1.1.0-beta01 | **1.1.0** | | [OkHttp BOM](https://square.github.io/okhttp/) | 4.12.0 | **5.5.1** | | [Retrofit](https://square.github.io/retrofit/) | 2.12.0 | **3.0.0** | | [Coil BOM](https://coil-kt.github.io/coil/) | 3.4.0 | **3.6.3** | | [Google Protobuf](https://github.com/protocolbuffers/protobuf/tree/main/java#use-java-protocol-buffers-on-android) | 4.31.1 | **4.36.2** | | [Mozilla Rhino](https://github.com/mozilla/rhino) | 1.8.0 | **1.9.2** | | [Accompanist Permissions](https://google.github.io/accompanist/permissions/) | 0.37.3 | 0.37.3 | | [Moshi](https://github.com/square/moshi) | 1.15.2 | 1.15.2 | | [Android Core Library Desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring) | 2.1.5 | 2.1.5 | > [!WARNING] > > The SDK now depends on **OkHttp 5** and **Retrofit 3**. Gradle resolves your app to these versions even if you declare OkHttp 4 or Retrofit 2, so update any code in your app that uses APIs removed in these major versions. Align your app's versions of these libraries with the SDK's versions to avoid compatibility issues. ### Migration steps To build and run your container app with the 6.0 SDK, follow these steps in order: **1. Update the SDK version** ```kotlin [rootProject]/app/build.gradle.kts theme={"dark"} implementation("ai.flowx.android:sdk:<5.9.x version>") // [!code --] implementation("ai.flowx.android:sdk:<6.0 version>") // [!code ++] ``` > [!NOTE] > > Find the SDK version that matches your platform version in **Release Notes → v6.0 → Deployment guidelines → Component versions**. **2. Increase the `compileSdk` version to `37`** ```kotlin [rootProject]/app/build.gradle.kts theme={"dark"} android { compileSdk = 35 // [!code --] compileSdk = 37 // [!code ++] } ``` > [!NOTE] > > The SDK and its AndroidX, OkHttp and Coil dependencies require `compileSdk` 37. Raising `targetSdk` is not required. **3. Update the `Android Gradle plugin` version to at least `9.1.0`** ```kotlin [rootProject]/build.gradle.kts theme={"dark"} plugins { id("com.android.application") version "8.10.0" apply false // [!code --] id("com.android.application") version "9.5.0" apply false // [!code ++] } ``` > [!TIP] > > Android Gradle plugin 9 is a major release with breaking build changes. Consult the [Android Gradle plugin 9.0 release notes](https://developer.android.com/build/releases/agp-9-0-0-release-notes). **4. Update the `Gradle` version** ```properties [rootProject]/gradle/wrapper/gradle-wrapper.properties icon="ini" theme={"dark"} distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip # [!code --] distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-bin.zip # [!code ++] ``` > [!NOTE] > > Android Gradle plugin 9.1 requires at least Gradle 9.3.1, and 9.5 requires at least Gradle 9.6.0. Check the minimum for your version in the [Android Gradle plugin release notes](https://developer.android.com/build/releases/gradle-plugin). **5. Remove the `Kotlin Android` plugin** Android Gradle plugin 9 compiles Kotlin by itself (built-in Kotlin), so the `org.jetbrains.kotlin.android` plugin must be removed: ```kotlin [rootProject]/build.gradle.kts theme={"dark"} plugins { id("org.jetbrains.kotlin.android") version "2.2.0" apply false // [!code --] } ``` ```kotlin [rootProject]/app/build.gradle.kts theme={"dark"} plugins { id("org.jetbrains.kotlin.android") // [!code --] } ``` > [!TIP] > > Consult the [Migrate to built-in Kotlin](https://developer.android.com/build/migrate-to-built-in-kotlin) guide. **6. Update the `Kotlin` version to at least `2.4`** With built-in Kotlin, your app compiles with the version of the Kotlin Gradle plugins you declare, such as the Compose Compiler plugin. The Kotlin version that Android Gradle plugin uses by default is too old to read the SDK's classes. Use the same version for every Kotlin Gradle plugin your project declares, such as Parcelize or Serialization. ```kotlin [rootProject]/build.gradle.kts theme={"dark"} plugins { id("org.jetbrains.kotlin.plugin.compose") version "2.2.0" apply false // [!code --] id("org.jetbrains.kotlin.plugin.compose") version "2.4.21" apply false // [!code ++] } ``` > [!WARNING] > > With an older Kotlin version, the build fails with an error like: `The binary version of its metadata is 2.4.0, expected version is 2.2.0`. **7. Make sure core library desugaring is enabled** The SDK requires core library desugaring. If your app does not enable it yet, add: ```kotlin [rootProject]/app/build.gradle.kts theme={"dark"} android { compileOptions { isCoreLibraryDesugaringEnabled = true // [!code ++] } } dependencies { coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5") // [!code ++] } ``` **8. Rename the `imageBaseUrl` and `customHeaders` properties of the `Config` interface** `imageBaseUrl` is now `assetsBaseUrl`, and `customHeaders` is now `additionalHttpHeaders`: ```kotlin [rootProject]/app/src/main/[java|kotlin]/com/example/MyApp.kt theme={"dark"} Flowx.getInstance().init( context = applicationContext, config = object : Config { ... override val imageBaseUrl = "URL to FlowX CMS Media Library" // [!code --] override val assetsBaseUrl = "URL to FlowX CMS Media Library" // [!code ++] override val customHeaders: Map? = mapOf("Custom-Header" to "custom header value") // [!code --] override val additionalHttpHeaders: Map? = mapOf("Custom-Header" to "custom header value") // [!code ++] ... }, ... ) ``` > [!NOTE] > > The default value of the `locale` property changed from `Locale.getDefault()` to `Locale.forLanguageTag("en-US")`. If your app relies on the device locale for date, number and currency formatting, set it explicitly: > > ```kotlin theme={"dark"} > override val locale: Locale = Locale.getDefault() > ``` **9. Stop passing `null` to the `setAccessToken` method** The `setAccessToken` method no longer accepts `null`: ```kotlin theme={"dark"} fun setAccessToken(accessToken: String?) // [!code --] fun setAccessToken(accessToken: String) // [!code ++] ``` Remove the calls that clear the token (for example, on logout or after a failed login): ```kotlin theme={"dark"} Flowx.getInstance().setAccessToken(null) // [!code --] ``` A token can't be cleared once set. When another user logs in, set that user's token. If no token is ever set, the SDK runs in anonymous mode. For details, see the [Authentication](/6.x/sdks/android-renderer#authentication) section of the Android SDK reference. \[!WARNING] Passing an empty string (`""`) no longer clears the token. The SDK sends it as is and the backend rejects the requests. **10. Rename the `closeModalFunc` parameter to `onDismissRequested`** The parameter of the `startProcess` and `continueProcess` methods was renamed. Its lambda now runs in the `ProjectScope` context: ```kotlin theme={"dark"} Flowx.getInstance().startProcess( ... closeModalFunc = { processName -> ... }, // [!code --] onDismissRequested = { processName -> ... }, // [!code ++] ) Flowx.getInstance().continueProcess( ... closeModalFunc = { processName -> ... }, // [!code --] onDismissRequested = { processName -> ... }, // [!code ++] ) ``` > [!TIP] > > Replace the deprecated `CloseModalProcessScope` type with `ProjectScope`, as described in the [Replace deprecated APIs](#replace-deprecated-apis) section. **11. Rename the `imageBaseUrl` parameter of the `changeEnvironment` method (if used)** ```kotlin theme={"dark"} fun changeEnvironment(baseUrl: String, imageBaseUrl: String, enginePath: String) // [!code --] fun changeEnvironment(baseUrl: String, assetsBaseUrl: String, enginePath: String) // [!code ++] ``` ### Replace deprecated APIs The following 5.9 names still compile in 6.0, but they are deprecated and **will be removed in the next LTS release**. Replace them now. The parameters are unchanged: | Deprecated (5.9) | Replacement (6.0) | Available on | | - | - | - | | `CloseModalProcessScope` | `ProjectScope` | The `onDismissRequested` lambda of `startProcess` and `continueProcess` | | `replaceSubstitutionTag` | `getSubstitutionTagContent` | `ProjectScope`, `CustomComponentScope`, `CustomLoaderScope` | | `getMediaResourceUrl` | `getMediaItemUrl` | `ProjectScope`, `CustomComponentScope`, `CustomLoaderScope` | | `getEnumeration` | `getEnumerationItems` | `ProjectScope`, `CustomComponentScope`, `CustomLoaderScope` | | `executeAction` | `runAction` | `CustomComponentScope` | | `executeUploadAction` | `runUploadAction` | `CustomComponentScope` | | `configureUpdateState` | `setUpdateStateEnabled` | `Flowx` | > [!TIP] > > Android Studio offers a **Replace with** quick fix on every deprecated call. These changes are reflected in an actual implementation as shown below: ```kotlin theme={"dark"} import ai.flowx.android.sdk.api.CloseModalProcessScope // [!code --] import ai.flowx.android.sdk.api.ProjectScope // [!code ++] // close process confirmation alert @Composable private fun CloseModalProcessScope.CloseModalProcessConfirmAlert(show: MutableState) { // [!code --] private fun ProjectScope.CloseModalProcessConfirmAlert(show: MutableState) { // [!code ++] ... Text(replaceSubstitutionTag("@@close_message")) // [!code --] Text(getSubstitutionTagContent("@@close_message")) // [!code ++] } // custom component flowxScope.executeAction(action = it, params = JSONObject()) // [!code --] flowxScope.runAction(action = it, params = JSONObject()) // [!code ++] // custom loader flowxScope.replaceSubstitutionTag(text) // [!code --] flowxScope.getSubstitutionTagContent(text) // [!code ++] flowxScope.getMediaResourceUrl(key) // [!code --] flowxScope.getMediaItemUrl(key) // [!code ++] ``` ## Related resources > [card] [Android SDK reference](/6.x/sdks/android-renderer) > > Android renderer SDK documentation > [card] [Migration overview](./migration-overview) > > Full 5.9.x → 6.0.0 container app upgrade guide # Angular SDK Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/angular Migrate the FlowX Angular renderer SDK from 5.9.x to 6.0.0. ## Angular SDK migration guide 6.0 moves the Angular renderer to Angular 22 and aligns the SDK's names with the iOS and Android SDKs. Update your app to the new input and function names. The framework upgrade, the custom component input, and the removed `logSink` and `logCategories` inputs need code changes. ### Framework upgrade: Angular 21 → 22 Upgrade your host app **before** you bump the FlowX SDK. Follow the official [Angular update guide](https://angular.dev/update-guide) from `21.0` to `22.0`. | Requirement | 5.9 | 6.0 | | - | - | - | | Angular CLI and `@angular/*` | \~21 | **\~22** | | Node | ≥ 24.0.0 | **≥ 26.0.0** | | npm | ≥ 11.0.0 | ≥ 11.0.0 | | TypeScript | ≥ 5.9, \< 6.1 | **≥ 6.0, \< 6.1** | The FlowX Angular packages declare `@angular/*` ≥ 22.0.0 as peer dependencies, so `npm install` fails on an Angular 21 app. ### FlowX SDK changes #### Renamed inputs and functions Replace each 5.9 name with its 6.0 name. The 5.9 names still work in 6.0, but they are deprecated. | 5.9 | 6.0 | | - | - | | `apiUrl` input | `baseUrl` | | `processApiPath` input | `enginePath` (the leading slash is optional) | | `staticAssetsPath` input | `assetsBaseUrl` | | `authToken` input | `accessToken` | | `withConfig({ customLoader })` | `customLoaderProvider` (same shape) | | `getEnumeration(name, parentName?)` | `getEnumerationItems(name, parentName?)` | | `getStaticAsset(key)` | `getMediaItemUrl(key)` | | `getMediaItemURL(mediaItemId)` (async) | `getMediaItemUrl(key)` (sync, once the process has loaded its media) | | `getSubstitutionTag(code)` | `getSubstitutionTagContent(key)` | `baseUrl` and `assetsBaseUrl` apply to the process, UI Flow, chat and task management renderers. `enginePath` applies to the process, UI Flow and chat renderers. ```diff theme={"dark"} ``` #### Custom components: `data$` → `input` signal Custom components receive their data through an `input` signal input instead of the `data$` Observable. The process data moves under `input().data`, and actions run through `runAction` and the new `runUploadAction`. Both return an Observable. | 5.9 | 6.0 | | - | - | | `data$` input (Observable) | `input` signal input | | Data fields read from the top level (`data.`) | `input().data.` | | `data.actionsFn.(params)` | `input().runAction(name, params?)` | | None | `input().runUploadAction(name, file, params?)` | ```typescript theme={"dark"} import { Component, computed, input } from '@angular/core'; import { FlxCustomComponentData } from '@flowx/angular-sdk'; @Component({ selector: 'my-custom-component', templateUrl: './custom-component.component.html', }) export class CustomComponentComponent { input = input() client = computed(() => this.input()?.data.client) submit(file: Blob) { this.input()?.runAction('action_one', { amount: 3 }).subscribe(); this.input()?.runUploadAction('upload_document', file, { side: 'front' }).subscribe(); } } ``` #### `logSink` and `logCategories` inputs removed The `[logSink]` and `[logCategories]` inputs on `` and the UI Flow renderer are removed. Subscribe a log sink once at app start with `logSink()` from `@flowx/core-sdk` instead. It takes the same sinks and categories and returns a function that stops logging. ```diff theme={"dark"} - [logSink]="formattedLogger" - [logCategories]="['rest', 'sse']" ``` ```typescript theme={"dark"} import { formattedLogger, logSink } from '@flowx/core-sdk'; const stopLogging = logSink(formattedLogger, { categories: ['rest', 'sse'] }); ``` `@flowx/angular-sdk` no longer re-exports `formattedLogger`, `createFormattedLogger` or the log types (`FlxLogCategory`, `FlxLogEvent`, `FlxLogSink`, `FlxLogSinkOptions`, `FormattedLoggerOptions`). Import them from `@flowx/core-sdk`. #### Inputs removed or deprecated without replacement | Input | Status in 6.0 | | - | - | | `legacyHttpVersion` | Deprecated, no replacement. Still honored. | | `debugLogs` | Removed. It never had any effect. Use `logSink()` from `@flowx/core-sdk`. | #### Behavior changes * `baseUrl` is required on the process, UI Flow, chat and task management renderers, and `assetsBaseUrl` on the process, UI Flow and chat renderers. Without them, the renderer throws ``[FlowX] `baseUrl` is required.`` (or `` `assetsBaseUrl` ``) at start. The template compiler doesn't report a missing value. * Links and URLs now carry only `?processInstanceUuid=`, including task management links. Links with `?processUuid=` still resume. An app on a 5.9 SDK reads only `?processUuid=`, so it can't resume from links a 6.0 app writes: upgrade every app that opens these links together. ## Related resources > [card] [Angular SDK reference](/6.x/sdks/angular-renderer) > > Angular renderer SDK documentation > [card] [Migration overview](./migration-overview) > > Full 5.9.x → 6.0.0 container app upgrade guide # Helm chart Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/helm-chart Upgrade a FlowX.AI installation on the flowx-ai Helm chart from 5.9.x to 6.0.0. > [!NOTE] > > FlowX.AI 6.0.0 is a feature release. Self-hosted deployments usually follow LTS releases. Use this guide if you upgrade a self-hosted installation to 6.0.0. This page covers the Helm side of an upgrade from FlowX.AI 5.9.x to 6.0.0 for an installation that already runs on the `flowx-ai` Helm chart. The [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0) list every change in detail. This page puts the ones that need action in the order you do them. > [!NOTE] > > If you still run the per-service charts or the `ai-platform` umbrella chart, move to the `flowx-ai` chart on 5.9.x first, as described in [Migrate self-hosted FlowX.AI to the flowx-ai Helm chart](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart). That migration recreates every workload. Doing it separately keeps the 6.0.0 upgrade a single `helm upgrade` of one release. ## Before you begin * Read the [FlowX.AI 6.0.0 release notes](/release-notes/v6.x/v6.0.0-october-2026/v6.0.0-october-2026) and [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0). * Get pull access to the `flowx-ai` chart at the chart version for 6.0.0. The chart version is the platform release. * Take a backup of PostgreSQL, MongoDB, the object store, and the Qdrant collections right before the upgrade. * If you run a container app with a FlowX renderer SDK, plan its upgrade with the [renderer SDK guides](./migration-overview#renderer-sdk-migration). The commands on this page read the namespace from `NS`: ```bash theme={"dark"} export NS={your-flowx-namespace} ``` ## Update your values **1. Set every group flag explicitly** Don't rely on the chart's group defaults. Set all four group flags in your values. `core` is `true` in every combination: | To install | `base` | `devtime` | `runtime` | | - | - | - | - | | Core services only | `false` | `false` | `false` | | Core, base, and devtime services | `true` | `true` | `false` | | Core, base, and runtime services | `true` | `false` | `true` | | All services | `true` | `true` | `true` | `base` is the AI base: ai-gateway, doc-parser, embedder, knowledgebase-indexer-v2, knowledgebase-rag, and Qdrant. The `devtime` and `runtime` services call it, so turn `base` on whenever either of them is on. The chart doesn't check this for you. For example, to install the core, base, and runtime services: ```yaml theme={"dark"} groups: core: enabled: true base: enabled: true devtime: enabled: false runtime: enabled: true ``` See [AI service groups in the Helm chart](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#ai-service-groups-in-the-helm-chart) for the services in each group, and [How do the switches combine?](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart#how-do-the-switches-combine) for how group and service flags combine. **2. Provision databases and secrets for the services you turn on** In 6.0.0, these services need their own database users and secrets: agent-builder, dynamic-classifier, and harness in PostgreSQL, and designer-user in MongoDB. Create them before the upgrade for every service your group flags turn on. designer-user is in the `core` group, so it always needs its database. The `keycloak-flowx-realm-clients` secret needs four new client secret keys, whatever your group flags. authorization-system reads all four at startup and, when it has Keycloak admin access (the default), creates the matching service-account clients with those secrets. If a key is missing, its database migration fails and authorization-system doesn't start. Without Keycloak admin access, create the four clients in Keycloak yourself. See [New databases and secrets](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-databases-and-secrets) for the user, secret, key, and client names. **3. Grant process-engine read access to the integration-designer bucket** process-engine now reads Kafka payloads that integration-designer stores in its bucket. Give the process-engine credentials `s3:GetObject` on that bucket. See [New databases and secrets](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-databases-and-secrets) for the secret names. **4. Set a bucket name for dynamic-classifier** If you turn on dynamic-classifier, set its bucket under `services.dynamic-classifier.component.s3.applicationFileStorage.bucketName`. The chart sets no bucket names, as described in [Migrate S3 buckets](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart#migrate-s3-buckets). dynamic-classifier also stores data on a 20Gi `ReadWriteOnce` volume, so your cluster needs a storage class that can provide one. Unlike the Qdrant volumes, this claim is part of the Helm release. `helm uninstall`, or deleting the Argo CD Application with cascading deletion, deletes it, and with a `Delete` reclaim policy its data too. **5. Move callers off the removed admin Ingress routes** If you route with Kubernetes Ingress, the chart no longer creates an admin Ingress for doc-converter, data-privacy, speech-to-text, web-crawler, and dynamic-classifier, and the upgrade deletes the existing ones. ai-gateway keeps its own. Platform services and frontends don't use these routes. If anything outside the cluster calls one of these paths on the admin host, such as `/speech-to-text`, move it to the service's in-cluster address before you upgrade. Installations that use the Gateway API aren't affected. **6. Allow private MongoDB hosts** nosql-db-runner now applies its host restriction to external MongoDB connections. Unmanaged MongoDB data sources that point to a host on a private network stop connecting after the upgrade. Add those hosts to `FLOWX_SSRFALLOWEDHOSTS` on nosql-db-runner. See [nosql-db-runner host restrictions](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-behavior-nosql-db-runner-host-restrictions-cover-mongodb). **7. Trust your IMAP servers' certificates** email-gateway now verifies the certificate of every IMAPS server it connects to. Email triggers that read from a server with a self-signed, private-CA, or mismatched certificate stop connecting after the upgrade. Add the server's CA to the email-gateway trust store, or list the host in `EMAILGATEWAY_IMAP_SSLTRUSTEDHOSTS`. See [IMAPS certificate verification](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-default-imaps-certificate-verification-in-email-gateway). **8. Keep the management port private** Upgrading from 5.9.5 or earlier? Since 5.9.6, advancing-controller no longer reads `MANAGEMENT_SECURITY_ENABLED`, and the actuator endpoints on its management port, `8081`, including Prometheus, answer without authentication. Check that no public Ingress or Gateway route exposes that port. See [Upgrading from an older patch release](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#upgrading-from-an-older-patch-release). **9. Set the personal-data encryption key** In 6.0.0, integration-designer needs `FLOWX_PII_ENCRYPTION_MASTER_KEY` for the Mask Personal Data and Restore Personal Data nodes. The variable has no default and the chart doesn't set it, so without it those nodes fail when a workflow runs them. Store a strong random value in a secret under the key `FLOWX_PII_ENCRYPTION_MASTER_KEY`, and load the secret into integration-designer: ```yaml theme={"dark"} services: integration-designer: extraEnvVarsSecret: {your-pii-secret-name} ``` Keep the value identical on every pod and stable over time: changing it invalidates every in-flight placeholder map. See [Personal-data encryption master key](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-required-secret-personal-data-encryption-master-key). **10. Choose how Elasticsearch replicates new indices** In 6.0.0, process-engine and audit-core create new indices with the Elasticsearch `auto_expand_replicas` setting `0-1`, which overrides `FLOWX_ELASTICSEARCH_INDEXSETTINGS_REPLICAS`. On a cluster with two or more data nodes, the replica roughly doubles the disk space these indices use. To keep a fixed replica count instead, turn auto-expansion off on both services: ```yaml theme={"dark"} services: process-engine: env: FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS: "false" audit-core: env: FLOWX_ELASTICSEARCH_INDEXSETTINGS_AUTOEXPANDREPLICAS: "false" ``` See [Elasticsearch replica auto-expansion](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-default-elasticsearch-replica-auto-expansion). **11. Create the new Kafka topics** New capabilities since 5.9.x depend on new Kafka topics. Create them before you upgrade. The 6.0.0 [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-kafka-topics) list every topic added since 5.9.6. Upgrading from 5.9.5 or earlier? Also create `ai.flowx.build.deployment-failed.v1`, added in 5.9.6. If your cluster uses ACLs, also give the new clients of three existing topics access, as listed in the [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#new-kafka-topics). If the chart creates your topics, add the new names to the list under `global.flowx.kafka.topics.topics`. The chart creates topics only when `global.flowx.kafka.topics.enabled` is `true`, as Strimzi `KafkaTopic` resources with 3 partitions and 3 replicas unless you set other values under `global.flowx.kafka.topics.defaults`: ```yaml theme={"dark"} global: flowx: kafka: topics: enabled: true topics: - ai.flowx.build.deployment-failed.v1 ``` ## Render and compare Render the 6.0.0 chart with your updated values before you upgrade, and compare it with what runs today: ```bash theme={"dark"} helm template {your-release-name} {flowx-ai-chart-reference} --version {chart-version} \ -n "$NS" -f values-flowx-ai.yaml > rendered.yaml ``` Check that the rendered Deployments are the services you expect. A missing AI base service, or an AI runtime service you didn't plan for, means a group flag isn't set. The render fails if your values still contain top-level `devtime` or `runtime` keys, or service keys outside `services`. See [Render and compare](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart#render-and-compare) for commands that compare environment variables per Deployment. Using a mirrored or air-gapped registry? List the images the render references, mirror them, and point the chart at your registry with `global.imageRegistry`, as described in [Container images and registry](/6.x/setup-guides/setup-guides-overview#container-images-and-registry): ```bash theme={"dark"} grep -E '^\s+image:' rendered.yaml | sort -u ``` ## Upgrade Run `helm upgrade` on your `flowx-ai` release with the 6.0.0 chart version and your updated values: ```bash theme={"dark"} helm upgrade {your-release-name} {flowx-ai-chart-reference} --version {chart-version} \ -n "$NS" -f values-flowx-ai.yaml ``` dynamic-classifier uses the `Recreate` deployment strategy, so its old pod stops before the new one starts. ## After the upgrade * **Upgrading from 5.9.5 or earlier: re-publish builds that were waiting for a retry.** The retry queue for failed build deployments moves from Redis to PostgreSQL, and deployments waiting in Redis are not moved. 5.9.6 already uses the PostgreSQL queue. See [Upgrading from an older patch release](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#upgrading-from-an-older-patch-release). * **Check component versions.** In FlowX.AI Designer, go to **Platform Status** and compare the versions with the [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#component-versions). * **Check files from before the upgrade.** Open a process attachment, a media library asset, and a knowledge base document, and confirm they load. A bucket-not-found error in the logs points at a bucket name that didn't carry over. * **Update name placeholders.** data-privacy now masks names with gendered placeholders, such as ``. Update prompts or scripts that match the old form. See [Name placeholders in data-privacy](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-behavior-name-placeholders-in-data-privacy). * **Expect a new workspace role name.** Users and groups with the Workspace operations editor role now have the Workspace corrective actions editor role, and keep access to process instance migration and move token. See [Workspace operations editor role replaced](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#changed-behavior-workspace-operations-editor-role-replaced). ## Related resources > [card] [Deployment guidelines v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0) > > Component versions and every deployment-level change in 6.0.0 > [card] [Migrate to the flowx-ai Helm chart](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart) > > Move from the per-service or ai-platform charts to the single chart # iOS SDK Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/ios Migrate the FlowX iOS renderer SDK from 5.9.x to 6.0.0. ## iOS SDK migration guide FlowX.AI 6.0 aligns the names of five iOS SDK APIs with the Android and web SDKs. The build requirements and library dependencies are unchanged, and the 5.9 names still compile, so your app builds with the 6.0 SDK after you update the pod version. Replace the deprecated names afterwards. ### System requirements | Requirement | 5.9.x | 6.0 | | - | - | - | | Minimum iOS | iOS 15 | iOS 15 | | Swift | 5.9 | 5.9 | ### Library dependencies | Dependency | 5.9.x | 6.0 | | - | - | - | | [Alamofire](https://github.com/Alamofire/Alamofire) | `~> 5.9.0` | `~> 5.9.0` | | [SDWebImageSwiftUI](https://github.com/SDWebImage/SDWebImageSwiftUI) | 3.0.3 | 3.0.3 | | [SDWebImageSVGCoder](https://github.com/SDWebImage/SDWebImageSVGCoder) | `~> 1.7.0` | `~> 1.7.0` | ### Migration steps **1. Update the SDK version** ```ruby Podfile theme={"dark"} pod 'FlowXRenderer', '<5.9.x version>' # [!code --] pod 'FlowXRenderer', '<6.0 version>' # [!code ++] ``` > [!NOTE] > > Find the SDK version that matches your platform version in **Release Notes → v6.0 → Deployment guidelines → Component versions**. **2. Replace the deprecated APIs** Replace the 5.9 names with the 6.0 names listed in the [Replace deprecated APIs](#replace-deprecated-apis) section. The parameters, types and behavior are unchanged. ### Replace deprecated APIs The following 5.9 names still compile in 6.0, but they are deprecated and **will be removed in the next LTS release**. Replace them now. `imageBaseURL` is a property of `FXConfig`; the others are methods of `FlowX.sharedInstance`: | Deprecated (5.9) | Replacement (6.0) | | - | - | | `imageBaseURL` | `assetsBaseURL` | | `updateAuthorization(token:)` | `setAccessToken(token:)` | | `getTag(withKey:)` | `getSubstitutionTagContent(key:)` | | `getEnumeration(name:parentName:)` | `getEnumerationItems(name:parentName:)`, async and completion versions | | `continueExistingProcess(uuid:name:…)` | `continueProcess(uuid:name:…)`, all three versions | > [!TIP] > > Xcode shows a deprecation warning on every deprecated call, with a **Fix-it** that replaces it with the new name. These changes are reflected in an actual implementation as shown below: ```swift theme={"dark"} // configuration FXConfig.sharedInstance.configure { config in config.imageBaseURL = myImageBaseURL // [!code --] config.assetsBaseURL = myAssetsBaseURL // [!code ++] } // authorization token changes FlowX.sharedInstance.updateAuthorization(token: accessToken) // [!code --] FlowX.sharedInstance.setAccessToken(token: accessToken) // [!code ++] // substitution tags FlowX.sharedInstance.getTag(withKey: "@@close_message") // [!code --] FlowX.sharedInstance.getSubstitutionTagContent(key: "@@close_message") // [!code ++] // enumerations let items = await FlowX.sharedInstance.getEnumeration(name: "cities", parentName: "countries") // [!code --] let items = await FlowX.sharedInstance.getEnumerationItems(name: "cities", parentName: "countries") // [!code ++] // resuming a process FlowX.sharedInstance.continueExistingProcess(uuid: uuid, // [!code --] FlowX.sharedInstance.continueProcess(uuid: uuid, // [!code ++] name: processName, navigationController: processNavigationController, isModal: true) ``` ## Related resources > [card] [iOS SDK reference](/6.x/sdks/ios-renderer) > > iOS renderer SDK documentation > [card] [Migration overview](./migration-overview) > > Full 5.9.x → 6.0.0 container app upgrade guide # Overview Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview Migration guide for upgrading container apps and the flowx-ai Helm chart from FlowX.AI 5.9.x to 6.0.0 FlowX.AI 6.0.0 is a feature release. Self-hosted deployments usually follow LTS releases. Use this guide if you upgrade a self-hosted installation to 6.0.0. > [!WARNING] > > A FlowX.AI 6.0.0 renderer SDK can need a newer framework version in your container app. Check the guide for your SDK, and upgrade the host app before you bump the FlowX SDK. ## Who is affected Teams that run a container app with a FlowX renderer SDK (Angular, React, iOS, Android, or React Native) and move it to FlowX.AI 6.0.0. See [Renderer SDK migration](#renderer-sdk-migration). Teams that run FlowX.AI on the `flowx-ai` Helm chart and upgrade it from 5.9.x to 6.0.0. See [Helm chart upgrade](#helm-chart-upgrade). Teams with business rules, reusable functions, or workflow scripts that still run on the GraalVM script engine. See [Move scripts off the GraalVM engine](#move-scripts-off-the-graalvm-engine). ## What's changing An upgrade to 6.0.0 touches up to three areas, depending on what you run: * **Helm chart:** set every AI service group flag explicitly, and create databases and secrets for the new services that need them. See [Helm chart upgrade](#helm-chart-upgrade). * **GraalVM script engine:** deprecated. Scripts on GraalVM keep running after this upgrade, now with the same time limit as the native engine, and 6.1.x is the last release family that supports the engine. See [Move scripts off the GraalVM engine](#move-scripts-off-the-graalvm-engine). * **Renderer SDKs:** container apps upgrade the FlowX renderer SDK, and the host framework where the SDK needs it. See [Renderer SDK migration](#renderer-sdk-migration). ## Migration process Follow these steps in order, and skip the ones for areas you don't run. **1. Check your starting point** Upgrade to 6.0.0 from FlowX.AI 5.9.x on the `flowx-ai` Helm chart. If you still run the per-service charts or the `ai-platform` umbrella chart, first [migrate to the flowx-ai Helm chart](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart) on 5.9.x, as a separate change. **2. Read the release notes and deployment guidelines** The [release notes](/release-notes/v6.x/v6.0.0-october-2026/v6.0.0-october-2026) list what changes in 6.0.0. The [deployment guidelines](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0) list the component versions, environment variables, and other configuration changes. The [5.9.x to 6.0.0 changelog](/release-notes/v6.x/5.9-to-6.0-changelog) lists every feature change since 5.9.x, including the 5.10 to 5.13 feature releases. **3. Prepare the infrastructure** Create what the 6.0.0 services need before the upgrade window: new PostgreSQL and MongoDB database users and their secrets, four new keys in the `keycloak-flowx-realm-clients` secret, read access for process-engine to the integration-designer bucket, and storage for a 20Gi `ReadWriteOnce` volume if you turn on dynamic-classifier. Create the new Kafka topics, or list them for the chart to create. Also set the personal-data encryption key for integration-designer, choose how Elasticsearch replicates new indices, and allow the private MongoDB hosts and IMAP servers that existing connections use. [Before you upgrade a self-hosted installation](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0#before-you-upgrade-a-self-hosted-installation) is the full checklist, and [Update your values](./helm-chart#update-your-values) walks through each item. **4. Check GraalVM scripts and plan the move off GraalVM** Scripts on GraalVM keep running, but from 6.0.0 they stop at the same time limit as the native engine. Before the upgrade, check the scripts that can run longer than the limit, or raise it. Then plan their move to the native engine, as described in [Move scripts off the GraalVM engine](#move-scripts-off-the-graalvm-engine). **5. Back up** Take the backups listed in [Before you begin](./helm-chart#before-you-begin) right before the upgrade. **6. Upgrade the Helm release** Update your values and upgrade the release, as described in [Helm chart](./helm-chart). **7. Upgrade your container apps** For each container app, upgrade the host framework first if the SDK needs it, then the FlowX renderer SDK. See [Renderer SDK migration](#renderer-sdk-migration). Container apps on a 5.9.x renderer SDK keep running against a 6.0.0 backend, but screens can render incorrectly wherever 6.0.0 changed behavior. Release the upgraded apps in the same window as the Helm upgrade. For iOS and Android apps, end users who don't install the app update stay on the 5.9.x SDK, so plan how you move them to the new version. ## Helm chart upgrade > [card] [Migrate to the flowx-ai Helm chart](/6.x/setup-guides/migrate-to-flowx-ai-helm-chart) > > Move from the per-service or ai-platform charts to the single `flowx-ai` chart > [card] [Helm chart](./helm-chart) > > Upgrade an installation on the `flowx-ai` Helm chart from 5.9.x to 6.0.0 ## Move scripts off the GraalVM engine The GraalVM script engine is deprecated. FlowX.AI 6.1.x is the last release family that supports GraalVM as a script engine for JavaScript and Python. Scripts that run on GraalVM keep running after the upgrade to 6.0.0, but they now stop at the same time limit as the native engine: 5,000 ms for JavaScript and 10,000 ms for Python by default. Before 6.0.0, a GraalVM script had no time limit. Before you upgrade, check the GraalVM scripts that can run longer than these limits, or raise the limits, as described in [Script size and execution limits](/6.x/docs/building-blocks/actions/business-rule-action/business-rule-action#script-size-and-execution-limits). Then plan the move to the native engine. **1. Find the scripts that run on GraalVM** Business rules and reusable functions created before the move to the native engine run on GraalVM unless you switched them. The engine selector in each rule's script editor shows the engine it runs on. Workflow scripts run on GraalVM only if `APPLICATION_SCRIPTENGINE_PROVIDER=graalvm` is set on `integration-designer`. **2. Test each script on the native engine** The two engines don't always write the same output. Follow the step-by-step list in [Port a script from GraalVM to native](/6.x/docs/building-blocks/supported-scripts#port-a-script-from-graalvm-to-native), check the [common pitfalls](/6.x/docs/building-blocks/supported-scripts#common-pitfalls), and search scripts for Python imports the native engine blocks, such as `os` and `subprocess`, JavaScript `require(...)`, `process`, or `global`, and calls into Java classes such as `Java.type(...)`. The native engine supports none of these. **3. Switch to the native engine** Switch business rules [per rule](/6.x/docs/building-blocks/actions/business-rule-action/business-rule-action#script-engine-per-rule). Move a reusable function and the rules that call it together: a function written for GraalVM fails when a rule on the native engine calls it. For workflow scripts, remove `APPLICATION_SCRIPTENGINE_PROVIDER=graalvm` from `integration-designer`. The default is `native`. ## Renderer SDK migration > [card] [Angular SDK](./angular) > > Migrate the Angular renderer SDK to 6.0.0 > [card] [React SDK](./react) > > Migrate the React renderer SDK to 6.0.0 > [card] [iOS SDK](./ios) > > Migrate the iOS renderer SDK to 6.0.0 > [card] [Android SDK](./android) > > Migrate the Android renderer SDK to 6.0.0 > [card] [React Native SDK](./react-native) > > Migrate the React Native renderer SDK to 6.0.0 # React SDK Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/react Migrate the FlowX React renderer SDK from 5.9.x to 6.0.0. ## React SDK migration guide 6.0 moves the React renderer to Node 26 and aligns the SDK's names with the iOS and Android SDKs. Update your app to the new prop and function names. The `logSink` and `logCategories` renderer props are removed and need a code change. ### Framework requirements React stays on 19. Upgrade Node in your build and CI environments. | Requirement | 5.9 | 6.0 | | - | - | - | | React | 19 | 19 | | Node | ≥ 24.0.0 | **≥ 26.0.0** | | npm | ≥ 11.0.0 | ≥ 11.0.0 | ### FlowX SDK changes #### Renamed props and functions Replace each 5.9 name with its 6.0 name. The 5.9 names still work in 6.0, but they are deprecated. | 5.9 | 6.0 | | - | - | | `apiUrl` prop | `baseUrl` | | `processApiPath` prop | `enginePath` (the leading slash is optional) | | `staticAssetsPath` prop | `assetsBaseUrl` | | `authToken` prop | `accessToken` | | `customLoader` prop | `customLoaderProvider` (same shape) | | UI Flow `appInfo.selectedProcessResourceId` | `resourceId` | | Custom component `input.actionsFn.(params)` | `input.runAction(name, params?)` | | Custom component `registerValidation` prop | `validate` | | `getEnumeration(name, parentName?)` | `getEnumerationItems(name, parentName?)` | | `useEnumeration(name, parentName?)` | `useEnumerationItems(name, parentName?)` | | `getStaticAsset(key)` | `getMediaItemUrl(key)` | | `getMediaItemURL(mediaItemId)` (async) | `getMediaItemUrl(key)` (sync, once the process has loaded its media) | | `getSubstitutionTag(code)` | `getSubstitutionTagContent(key)` | `baseUrl` and `assetsBaseUrl` apply to the process, UI Flow, chat and task management renderers. `enginePath` applies to the process, UI Flow and chat renderers. `customLoaderProvider` applies to the process and UI Flow renderers. ```diff theme={"dark"} ``` #### New custom component action: `runUploadAction` Custom components get `input.runUploadAction(name, file, params?)` to upload a file through an upload action. `params` are sent as extra form fields beside the file. ```typescript theme={"dark"} input.runAction('action_one', { amount: 3 }) input.runUploadAction('upload_document', file, { side: 'front' }) ``` `FlxCustomComponentData` is now generic (`FlxCustomComponentData`) and requires `runAction` and `runUploadAction`. If your tests build a mock of it by hand, add both. #### `logSink` and `logCategories` props removed The `logSink` and `logCategories` props on `FlxProcessRenderer` and the UI Flow renderer are removed. Subscribe a log sink once at app start with `logSink()` from `@flowx/core-sdk` instead. It takes the same sinks and categories and returns a function that stops logging. ```diff theme={"dark"} - + import { formattedLogger, logSink } from '@flowx/core-sdk' + + const stopLogging = logSink(formattedLogger, { categories: ['rest', 'sse'] }) ``` `@flowx/react-sdk` no longer re-exports `formattedLogger`, `createFormattedLogger` or the log types (`FlxLogCategory`, `FlxLogEvent`, `FlxLogSink`, `FlxLogSinkOptions`, `FormattedLoggerOptions`). Import them from `@flowx/core-sdk`. #### Props removed or deprecated without replacement | Prop | Status in 6.0 | | - | - | | `legacyHttpVersion` on the process renderer | Deprecated, no replacement. Still honored. | | `legacyHttpVersion` on the UI Flow renderer | Removed. It never had any effect. | | `customHeaders` | Removed. It never had any effect. | | `updateStateEnabled` | Removed. It never had any effect. | | `isAnonymousMode` | Removed. It never had any effect. | | `fw` | Removed. It never had any effect. | Delete the removed props from your process and UI Flow renderer props. #### Behavior changes * Links and URLs now carry only `?processInstanceUuid=`, including task management links. Links with `?processUuid=` still resume. An app on a 5.9 SDK reads only `?processUuid=`, so it can't resume from links a 6.0 app writes: upgrade every app that opens these links together. ## Related resources > [card] [React SDK reference](/6.x/sdks/react-renderer) > > React renderer SDK documentation > [card] [Migration overview](./migration-overview) > > Full 5.9.x → 6.0.0 container app upgrade guide # React Native SDK Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/react-native Migrate the FlowX React Native renderer SDK from 5.9.x to 6.0.0. ## React Native SDK migration guide 6.0 moves the validated React Native target to Expo SDK 57 and aligns the SDK's names with the iOS and Android SDKs. Update your app to the new configuration and prop names. The Android Material 3 date picker opt-in is removed. ### Prerequisites and version range The peer dependency floors are unchanged: `react-native` ≥ 0.83.0 and `react` ≥ 19.2.0. The validated target moves up one Expo SDK. | Requirement | 5.9 | 6.0 | | - | - | - | | Validated target | Expo SDK 56, React Native 0.85.3 | **Expo SDK 57, React Native 0.86.3** | | React | 19.2.3 (Expo SDK 56 pin) | 19.2.3 (Expo SDK 57 pin) | | `react-native-blob-util` | ^0.24.9 | **^0.25.1** | | `@react-native-community/datetimepicker` | Required peer | **No longer used** | For an Expo project, align the project to Expo SDK 57, then reinstall the FlowX packages with `npx expo install`: ```bash theme={"dark"} npx expo install expo@^57.0.0 --fix ``` For the full install command and the Expo SDK 57 reference versions, see the [React Native SDK reference](/6.x/sdks/react-native-renderer). ### FlowX SDK changes #### Renamed configuration options and props Replace each 5.9 name with its 6.0 name. The 5.9 names still work in 6.0, but they are deprecated. | 5.9 | 6.0 | | - | - | | `FlxConfig.baseURL`, `apiUrl` prop | `baseUrl` | | `processApiPath` | `enginePath` (the leading slash is optional) | | `staticAssetsPath` | `assetsBaseUrl` | | `authToken` prop | `accessToken` | | `customHeaders` | `additionalHttpHeaders` | | `customLoader` | `customLoaderProvider` (same shape) | | `customStepperHeader` | `customStepperHeaderProvider` (same component) | | `configure({ locale, language })` | `FlowX.changeLocaleSettings(locale?, language?)` | | `configure({ updateStateEnabled })` | `FlowX.setUpdateStateEnabled(enabled)` | | `setAccessToken(token: string)` | `setAccessToken(token?: string \| null)`: `null`, `undefined` or `''` switches to anonymous access | | `processUuid` prop | `processInstanceUuid` | | `onClose(name?)` | `onDismissRequested(name?)` (same argument) | | Custom component `input.actionsFn.(params)` | `input.runAction(name, params?)` | | Custom component `registerValidation` prop | `validate` | | `getEnumeration(name, parentName?)` | `getEnumerationItems(name, parentName?)` | | `getStaticAsset(key)` | `getMediaItemUrl(key)` | | `getMediaItemURL(mediaItemId)` (async) | `getMediaItemUrl(key)` (sync, once the process has loaded its media) | | `getSubstitutionTag(code)` | `getSubstitutionTagContent(key)` | `baseUrl`, `enginePath` and `assetsBaseUrl` apply to `FlowX.configure` and to the process, UI Flow and chat renderers. `onDismissRequested` applies to `startProcess`, `continueProcess`, `startUiFlow` and the process and UI Flow renderers. In 5.9 the content helpers came only from `@flowx/core-sdk/rn`. `@flowx/react-native-sdk` now exports them too, under their new names only (`getEnumerationItems`, `getMediaItemUrl`, `getSubstitutionTagContent`). ```diff theme={"dark"} FlowX.configure({ - baseURL: 'https://api.example.com', - processApiPath: 'onboarding', - staticAssetsPath: 'https://media.example.com', - customHeaders: { 'x-tenant': 'acme' }, - language: 'en', - locale: 'en-US', + baseUrl: 'https://api.example.com', + enginePath: 'onboarding', + assetsBaseUrl: 'https://media.example.com', + additionalHttpHeaders: { 'x-tenant': 'acme' }, organizationId, }) +FlowX.changeLocaleSettings('en-US', 'en') ``` #### New custom component action: `runUploadAction` Custom components get `input.runUploadAction(name, { uri, name, type }, params?)` to upload a file through an upload action. `FlxCustomComponentData` requires `runAction` and `runUploadAction`. If your tests build a mock of it by hand, add both. #### Android Material 3 date picker removed The opt-in Material 3 date picker for `FlxDatePicker` on Android is removed, along with the `@react-native-community/datetimepicker` peer dependency. * Remove `material3` from any `configureFlxUiToolkit` call. * The `@react-native-community/datetimepicker` package is no longer needed by FlowX. Uninstall it if nothing else in your app uses it. * Keep the `@flowx/react-native-ui-toolkit` Expo config plugin registered. It no longer changes `AppTheme` or sets `extra.flxUiToolkit.material3`. It now adds `fontScale` to the main activity's `android:configChanges` and declares the microphone permissions used by chat voice input. Run `npx expo prebuild` again after the upgrade. #### Behavior changes * A session with no usable access token now starts as anonymous instead of failing. In 5.9, a token that was `null`, `undefined` (never set) or an empty string (`''`) made the start throw `Call FlowX.setAccessToken(...) before starting a process.` In 6.0 all three values start an anonymous session, and a backend that requires a token answers `401`. If your token fetch can return `null`, `undefined` or `''`, check the value before you start a process; otherwise the failure only shows up later as a `401`. * Error and warning messages name `baseUrl` and `assetsBaseUrl` instead of `baseURL` and `staticAssetsPath`. Update any host code that matches on their text. ## Related resources > [card] [React Native SDK reference](/6.x/sdks/react-native-renderer) > > React Native renderer SDK documentation > [card] [Migration overview](./migration-overview) > > Full 5.9.x → 6.0.0 container app upgrade guide # FlowX.AI 6.0.0 Release Notes Source: https://docs.flowx.ai/release-notes/v6.x/v6.0.0-october-2026/v6.0.0-october-2026 What's new in FlowX.AI 6.0: the Developer Agentic Harness builds story by story, plus bulk process-instance migration, scheduled workflows, and certificates. [FlowX.AI 6.0.0 release hero](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/6.x/hero-6.0.0.html) > [!NOTE] > > **Deployment models:** > > * SaaS Managed FlowX cloud deployments > * All Deployments Available in both self-hosted and SaaS FlowX.AI 6.0 is a feature release, live on FlowX.AI SaaS. Self-hosted installations usually wait for the next LTS release family, and can also upgrade to 6.0.0 now: see [Migrating from v5.9.x to v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview). > [!WARNING] > > **Check your existing apps:** 6.0.0 changes how AI node prompts and retries, substitution tags, FlowX Database writes, masked names, IMAPS email triggers, evaluations, 5.1.x exports, and GraalVM scripts behave. See the [upgrade actions](/release-notes/v6.x/5.9-to-6.0-changelog) for what to check in each. Coming from 5.9.x? On the same page, also check the **Changed** entries for 5.10 to 5.13. > [accordion] What changed since 5.13.0 > > | 5.13.0 | 6.0.0 | > | - | - | > | The harness built the whole approved plan in one run | **Story-by-story delivery**: build one slice of the app, test it, then continue | > | Changes to the app were described in words | **Comment mode**: select a component in the running app and say what should change | > | The Command Center and the AI buttons in each editor opened standalone AI agents | **One agent rail**: **⌘K** or the header toggle opens the harness, which uses those agents internally | > | A workflow started only when a process or caller started it | **Scheduled workflows**: date or cycle schedules on the Start node | > | TLS was configured with keystores, truststores, and a skip switch | **Trust and Identity**: choose what the host is checked against, and whether to present a client certificate | > | The Issues Console checked resources only | **Version checks**: entry points, theme, and library dependencies | > | Only version exports sent notifications | **Import and export notifications**: version imports, build exports, and build imports notify you too | > | A substitution tag had to be a property's whole value | **Tags inside any text**: `${tag:key}` next to static text and process data | > | An AI node failed as soon as its AI service or provider couldn't be reached | **AI node retries**: on by default, up to 10 times, 30 seconds apart | > | The chat message was appended to the end of an AI node's prompt | **Chat message in prompts**: reference `${userMessage}` in **Context** where the agent should answer it | > | Evaluations grouped test cases into datasets and checked outputs with Code evaluators | **Test cases and asserts**: tagged test cases per workflow, checked with asserts and LLM evaluators | > | The embedding model was locked once a Knowledge Base held content | **Re-embedding**: change **Containing Personal Information** later and the content is re-embedded | > | Exporting rows to a file needed a Script node | **Generate Tabular File node**: a CSV or XLSX file from an array of rows | > | A FlowX Database index couldn't reject duplicate values | **Unique indexes**: **Enforce unique values** on one attribute or a compound key | > | A sensitive configuration value was shown in the Designer after saving | **Sensitive values stay hidden**: the Designer shows `********` in its place | > | GraalVM was a supported script engine | **GraalVM deprecated**: 6.1.x is the last release family that supports it | ### **Coming from 5.9.x** Releases 5.10 to 5.13 shipped to SaaS first. An installation that moves from 5.9.x to 6.0.0 gets their features too, including the [corrective actions](#corrective-actions-on-running-instances) below. The highlights: > [card] New data sources > > [PostgreSQL](/6.x/docs/platform-deep-dive/integrations/postgresql-database) and [Db2](/6.x/docs/platform-deep-dive/integrations/db2-database) databases, and [SOAP services](/6.x/docs/platform-deep-dive/integrations/soap-system) imported from a WSDL. > [card] Document nodes in workflows > > [Fill a template](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#template-filling-node) into a PDF or DOCX, [combine](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#combine-files-node) or [split](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#split-file-node) PDFs, and [parse](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#data-parse-xml-and-json-support) spreadsheets, CSV, XML, and JSON. > [card] Multi-instance and triggered workflows > > Run [one subworkflow per array element](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#parallel-multi-instance) in parallel, and start a workflow from an [email or webhook trigger](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#external-triggers). > [card] Workflow Instances page > > [Every workflow run in the project](/6.x/docs/projects/runtime/workflow-instances), filterable by status, date, and origin. > [card] Branches and the Issues panel > > [Merge into any branch](/6.x/docs/projects/managing-applications/versioning#managing-branches), archive or delete branches, and [see validation findings](/6.x/docs/projects/managing-applications/checking-for-issues) in one panel. > [card] Workflows as agent tools > > A Custom Agent node [calls FlowX workflows as tools](/6.x/docs/platform-deep-dive/integrations/custom-agent-node#how-workflow-tools-run), each with a hint for when to use it. Full list: the [5.9.x to 6.0.0 changelog](/release-notes/v6.x/5.9-to-6.0-changelog), and the [5.10](/release-notes/v5.x/v5.10.0-july-2026/v5.10.0-july-2026), [5.11](/release-notes/v5.x/v5.11.0-august-2026/v5.11.0-august-2026), [5.12](/release-notes/v5.x/v5.12.0-september-2026/v5.12.0-september-2026), and [5.13](/release-notes/v5.x/v5.13.0-september-2026/v5.13.0-september-2026) release notes. *** ### **Developer Agentic Harness** > [card] Developer Agentic Harness > > > [tab] Overview > > > > The Developer Agentic Harness is the Designer's AI agent: it surveys your app, plans the change, and builds it on its own branch. > > > > **Before 6.0:** the harness ran an approved plan as a single run, and a conversation stayed tied to the app and branch where you started it. **Now:** a plan can split the work into stories, each a slice of the app you can try on its own, delivered one story at a time. You can point at a component in the running app to ask for a change. Your conversations follow you across the Designer. > > > > Each story says how to test it and what the agent needs from you, so you check one working slice before the next one starts. Comment mode turns the running UI flow or process into the brief: select a component, say what should change, and the comment lands in the conversation with the component attached. A conversation writes to the project and branch set by the first change you confirm, wherever you navigate after that, and the agent asks before it reads beyond that target. > > > > > [!NOTE] > > > > > > **Removed:** the Command Center, the standalone Analyst, Architect, Assistant, Designer, and Developer agents, and the AI buttons inside the editors, such as **Generate** on the data model and the sparkle buttons in business rules, reusable functions, and Script nodes. Open the agent rail instead: press **⌘K** (**Ctrl+K** on Windows and Linux) or select the sparkle toggle in the header. The harness still uses those agents internally for focused generation work. See [Developer Agentic Harness](/6.x/ai-platform/developer-agentic-harness#what-the-agent-can-see-and-change). > > > > > > > > See [Developer Agentic Harness](/6.x/ai-platform/developer-agentic-harness). > > > [tab] Key Features > > > > > [card] [Story-by-story delivery](/6.x/ai-platform/developer-agentic-harness#how-does-a-plan-with-stories-run) > > > > > > Implement the next story, test it with the steps the story gives, then continue with one story or all that remain. > > > > > [card] [Comment on the running app](/6.x/ai-platform/developer-agentic-harness#how-do-i-comment-on-the-running-app) > > > > > > Select **Comment** in the header, pick a component in the running UI flow or process, and say what should change. > > > > > [card] [Conversations that follow you](/6.x/ai-platform/developer-agentic-harness#sessions) > > > > > > Every conversation you have in the organization, searchable. Each keeps writing to the project and branch of its first confirmed change, wherever you navigate. > > > > > [card] [Asks before reading more](/6.x/ai-platform/developer-agentic-harness#what-happens-when-the-agent-asks-to-read-another-project) > > > > > > Read-only access to another project needs **Allow for this conversation**, and you can revoke it from the rail. > > > > > [card] [Attach your material](/6.x/ai-platform/developer-agentic-harness#attach-files-to-a-conversation) > > > > > > Give the agent PDF and DOCX briefs, screenshots, or BPMN diagrams to plan and build from. > > > > > [card] [Delete with a plan export](/6.x/ai-platform/developer-agentic-harness#delete-a-conversation) > > > > > > Deleting a conversation keeps its commits on the branch and offers **Export plan** for what wasn't run. > > > > > [card] [Entry points, handovers, and repairs](/6.x/ai-platform/developer-agentic-harness#entry-points-handovers-timeouts-and-repairs) > > > > > > The agent suggests an entry point and asks again before serving, adds handover buttons, times out workflow waits, and proposes a repair when a step fails, a limited number of times per step. > > SaaS ### **Corrective actions on running instances** > [card] Corrective actions on running instances > > > [tab] Overview > > > > Corrective actions shipped in the 5.12 and 5.13 feature releases. They fix running process instances in place, without restarting them, from **Runtime** → **Runtime Control** → **Corrective Actions**. > > > > **Bulk process-instance migration** moves a filtered set of running instances from one build to another in one run, so a fix made in a newer build reaches instances already in flight. **Move token** takes the active token off the node the instances are stuck on and places it on another node of the same process, and the instances stay on their build. > > > > The **Workspace corrective actions editor** role grants both. It replaces the Workspace operations editor role, and the upgrade moves users and groups that had the old role to the new one. > > > > See [Migrate process instances](/6.x/docs/projects/runtime/active-process/migrate-process-instances) and [Move tokens](/6.x/docs/projects/runtime/active-process/move-token). > > > [tab] Key Features > > > > > [card] [Build to build, in bulk](/6.x/docs/projects/runtime/active-process/migrate-process-instances) > > > > > > Pick the source build, the target build, and the instances to move, then review the eligible count and map any node missing from the target build before you start. > > > > > [card] [Move token](/6.x/docs/projects/runtime/active-process/move-token) > > > > > > Resume stuck instances from another node of the same process, on one or many instances at once. > > > > > [card] [Dedicated role](/6.x/setup-guides/access-management/roles-permissions-matrix#workspace-corrective-actions-editor-permission-matrix) > > > > > > Grant corrective actions without handing out workspace admin rights. > > > > > [card] [Notified when done](/6.x/docs/flowx-designer/notification-center#what-sends-a-notification) > > > > > > The notification center reports when a bulk migration finishes. > > SaaS ### **New Designer header** > [card] New Designer header > > **Before 6.0:** the branch selector, the version state, and **Commit Changes** sat in the project's top bar. **Now:** the header holds the project name, the **Config** / **Runtime** switch (**Config** to edit a version, **Runtime** for builds and their settings), the **Build with AI** and **Comment** toggles, and **Run project**, which starts the version's entry point. Branching, the current version, and **Commit Changes** move to a version block at the start of the footer on Config pages. > > ![Designer project on a Config page: the header shows the project name, the Config and Runtime switch, the Build with AI toggle, and Run project; the footer starts with the version block showing the main branch, the version name, and Start New Version](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/6.x/designer-header-6-0.png) > > The Designer also opens the workspace you used last, and **Organization settings** is in the avatar menu. See [Header and version block](/6.x/docs/projects/managing-applications/versioning#header-and-version-block). > > SaaS ### **AI node retries** > [card] AI node retries > > **Before 6.0:** an AI node failed as soon as its AI service or LLM provider couldn't be reached. **Now:** every AI node except Deep Research retries up to 10 times, 30 seconds apart, when the service is unreachable, the provider is unavailable or rate-limits the request, or the connection fails. Timeouts aren't retried by default, because the node may already have called its tools. > > Toggle **Allow Retry** on in the node's **Settings** to set your own count, interval, and exponential backoff. After the last retry, the workflow continues down the node's failure exit if one is connected. With **Allow Retry** on, the workflow run logs show each attempt on its own line. See [AI node retries](/6.x/ai-platform/agent-builder/node-types#what-happens-when-an-ai-node-can’t-reach-its-ai-service). > > SaaS ### **Knowledge Base re-embedding and entry lifecycle** > [card] Knowledge Base re-embedding and entry lifecycle > > **Before 6.0:** the embedding model was locked once a Knowledge Base held content. **Now:** turning **Containing Personal Information** on or off later re-embeds the existing content with the new model. Search keeps using the current embedding while it runs, and content changes are locked until it finishes. If some documents fail, the Knowledge Base stays on its previous model and the header says how many weren't re-embedded. > > Entries also have their own lifecycle: **Disable Entry** takes an entry out of retrieval without removing it, **Activate Entry** puts it back, and an entry can be permanently deleted. See [Can I change personal information after content is ingested?](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/knowledge-base-overview#can-i-change-personal-information-after-content-is-ingested) and [disable, re-activate, or permanently delete an entry](/6.x/docs/platform-deep-dive/integrations/knowledge-base-integration/managing-content#how-do-i-disable-re-activate-or-permanently-delete-an-entry). > > SaaS ### **Chat message in AI node prompts** > [card] Chat message in AI node prompts > > > [!WARNING] > > > > **Behavior change.** The chat message is no longer appended to the end of an AI node's prompt automatically. In chat-driven workflows, reference `${userMessage}` in the node's **Context** wherever the agent should answer the user's message. > > The message still reaches the model inside the input data when **Use only referenced values as input** is off. See [Context](/6.x/ai-platform/chat-driven-workflows#context). > > SaaS ### **Evaluations: test cases replace datasets** > [card] Evaluations: test cases replace datasets > > **Before 6.0:** test cases lived in datasets, and the Code evaluators checked outputs for an exact, JSON, or Levenshtein match. **Now:** each workflow has its own test cases, grouped by tags. Each case carries its checks: asserts for **equals** and **equals as JSON**, and LLM evaluators with a pass threshold. An experiment runs the test cases you select. See [Evaluations](/6.x/ai-platform/evaluations). > > > [!WARNING] > > > > **Behavior change.** The upgrade converts each dataset's test cases and keeps the dataset name as a tag, but adds no checks. An experiment skips a case with no enabled check, so add an assert or evaluator to each converted case before you run it. The Code evaluators are removed: use the **equals** assert in place of **Exact match**, and **equals as JSON** in place of **JSON match**. **Levenshtein** has no replacement. See [Datasets from earlier versions](/6.x/ai-platform/evaluations#datasets-from-earlier-versions). > > SaaS ### **Scheduled workflows** > [card] Scheduled workflows > > > [tab] Overview > > > > **Before 6.0:** an integration workflow started only when a process, a UI flow, or another caller started it. **Now:** add schedules to the workflow's **Start** node and it starts by itself at each fire time. > > > > Schedules fire once on a date or repeatedly on an ISO or cron cycle, and the dialog previews the next fire times in your local time zone. Saving a schedule or publishing a build never turns it on: activate it in **Runtime** → **Runtime Settings** → **Schedules**. > > > > See [How do I run a workflow on a schedule?](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow#how-do-i-run-a-workflow-on-a-schedule). > > > [tab] Key Features > > > > > [card] Date or cycle > > > > > > Fire once at a date and time, or repeatedly with an ISO or cron expression built from guided fields. > > > > > [card] Up to 50 per workflow > > > > > > Each schedule has a name that is unique on its workflow. Schedules are available on Output Focused workflows, which process structured input and output. > > > > > [card] Explicit activation > > > > > > A schedule fires only after you activate it on the **Schedules** page, for a workflow in the project's active build. > > > > > [card] Next fire times > > > > > > Check the previewed fire times before you save. > > SaaS ### **Certificates: trust and identity** > [card] Certificates: trust and identity > > > [tab] Overview > > > > **Before 6.0:** a REST data source combined keystore, truststore, and a skip-verification switch in one TLS setup. **Now:** the **Certificates** panel has two independent parts. **Trust** decides what the host's certificate is checked against: **System CAs** (the default), a **Custom CA**, or **None (insecure)**. **Identity** is the client certificate FlowX presents for mutual TLS, turned on with **Present a certificate**. > > > > The same panel is available on File Storage data sources. Existing certificate settings are converted to the new model automatically. > > > > See [Certificates](/6.x/docs/platform-deep-dive/integrations/data-sources-and-endpoints#certificates) for when to use each option. > > > [tab] Key Features > > > > > [card] Trust per data source > > > > > > Changing trust on one data source leaves every other call verified as before. > > > > > [card] Mutual TLS when asked > > > > > > Present a client certificate only to hosts that require one. > > > > > [card] [File Storage too](/6.x/docs/platform-deep-dive/integrations/file-storage#certificates) > > > > > > S3-compatible storage uses the same Trust and Identity settings. > > > > > [card] Insecure, by name > > > > > > **None (insecure)** is labeled as such and accepted only on REST and File Storage data sources. > > SaaS ### **Generate Tabular File node** > [card] Generate Tabular File node > > A new node under **Tools** in the workflow palette turns a workflow variable that holds an array of rows into a CSV or XLSX file, stored as a document linked to the workflow run. A workflow can now produce an export without a Script node. See [Generate Tabular File node](/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai#generate-tabular-file-node). > > SaaS ### **FlowX Database unique indexes** > [card] FlowX Database unique indexes > > Toggle **Enforce unique values** when you add an index to reject documents that repeat a value already stored, on one attribute or on a compound key, with an option to exempt documents that leave the key empty. Existing duplicates are reported when you run **Apply Indexes**, before the index is created. You can also delete a document from the collection view. See [How do I make an index unique?](/6.x/docs/platform-deep-dive/integrations/flowx-database#how-do-i-make-an-index-unique). > > SaaS ### **Issues Console version checks** > [card] Issues Console version checks > > **Before 6.0:** an Issues Console check, which validates the resources in a project version, covered processes, UI flows, and integration workflows. **Now:** it also checks the version itself: missing, broken, or mismatched entry points, a theme that isn't in the workspace, library builds that are missing directly or transitively, and dependencies the version doesn't use. Selecting a finding opens the version settings or the **Dependencies** page, where you fix it. See [Which version settings does a check cover?](/6.x/docs/projects/managing-applications/checking-for-issues#which-version-settings-does-a-check-cover). > > SaaS ### **Import and export notifications** > [card] Import and export notifications > > The notification center now covers version imports and build exports and imports, alongside version exports and process instance migrations. Each operation notifies you when it starts and replaces that entry with its result: ready to download, imported, needs review with a conflict or excluded-resource count, failed, or timed out. See [What sends a notification](/6.x/docs/flowx-designer/notification-center#what-sends-a-notification). > > SaaS ### **Resource documentation** > [card] Resource documentation > > Open **Documentation** from a resource's menu to give it a short description and longer Markdown documentation, written and previewed in the same window. Media Library assets in a project library get a description too, used as the image's alt text in the asset preview. Knowledge base stores, navigation areas, and user tasks in the process navigation panel have **Documentation** in their menus too. See [How do I document a resource?](/6.x/docs/projects/resources#how-do-i-document-a-resource). > > SaaS ### **Sensitive values stay hidden** > [card] Sensitive values stay hidden > > After you save a `value` configuration parameter with **Sensitive** on, the Designer shows `********` in place of the value in the parameters list, overrides, build details and lists, and the merge view. The real value is still used at runtime, and editing other fields keeps it. See [What happens after you save a sensitive value?](/6.x/docs/platform-deep-dive/core-extensions/configuration-parameters#what-happens-after-you-save-a-sensitive-value). > > SaaS ### **Substitution tags inside any text** > [card] Substitution tags inside any text > > > [tab] Overview > > > > **Before 6.0:** a substitution tag resolved only when it was the whole value of a property, so `@@greeting ${firstName}` rendered as empty text. **Now:** write `${tag:key}` anywhere in a component's text, next to static text and process data, and the renderer fills in every tag: `${tag:greeting}, ${firstName}!` renders as "Hello, John!". > > > > The upgrade rewrites whole-value `@@key` references to `${tag:key}` in processes, UI flows, and reusable templates, so existing screens render as before. `@@key` keeps working as a whole value. > > > > See [How do I reference a substitution tag in UI content?](/6.x/docs/platform-deep-dive/core-extensions/content-management/substitution-tags#how-do-i-reference-a-substitution-tag-in-ui-content). > > > [tab] Key Features > > > > > [card] Tags, text, and data together > > > > > > Use several tags and process data placeholders in one label, placeholder, message, validator message, or option label. > > > > > [card] Existing references converted > > > > > > Whole-value `@@key` references become `${tag:key}`. Option values and the default of choice components stay `@@key`. > > > > > [card] Task Manager columns > > > > > > A column value of exactly `${tag:key}` shows, filters, and sorts like `@@key`. > > > > > [card] Import from and export for 5.9 > > > > > > Importing from 5.9 converts `@@key` forward. Exporting for 5.9 converts whole-value tags back to `@@key`. > > SaaS ### **GraalVM script engine deprecated** > [card] GraalVM script engine deprecated > > The GraalVM script engine is deprecated. FlowX.AI 6.1.x is the last release family that supports it, for every JavaScript and Python script: business rules, reusable functions, workflow Script nodes, and the rest. Scripts that run on GraalVM keep working in 6.0.0. Move them to the native engine, the default since 5.9.0, before support ends. See [Move scripts off the GraalVM engine](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview#move-scripts-off-the-graalvm-engine). > > **Time limits on GraalVM too:** scripts that run on GraalVM now stop at the same per-language time limit as the native engine: 5,000 ms for JavaScript and 10,000 ms for Python by default, set on the process engine and Integration Designer with `APPLICATION_SCRIPTENGINE_NATIVEENGINE_JS_EXECUTIONTIMEOUTMS` and `APPLICATION_SCRIPTENGINE_NATIVEENGINE_PYTHON_EXECUTIONTIMEOUTMS`. Before 6.0.0, a GraalVM script had no time limit. A script that runs past its limit is stopped and fails with an error saying it did not finish within its time limit. Before you upgrade, check GraalVM scripts that can run longer than these limits, or raise the limits. See [Script size and execution limits](/6.x/docs/building-blocks/actions/business-rule-action/business-rule-action#script-size-and-execution-limits). > > All Deployments ### **Smaller improvements** > [card] Smaller improvements > > **Auto-arrange on both canvases:** select **Auto-arrange** on the workflow canvas, or **Arrange** on the process canvas, to see a tidied layout in the **Layout preview** bar before anything moves. Compare it with the current layout, then **Apply** or **Cancel**. See [How do I auto-arrange the workflow canvas?](/6.x/docs/platform-deep-dive/integrations/integration-workflows#how-do-i-auto-arrange-the-workflow-canvas). > > **Timers in local time:** timer nodes now use the same editor as workflow schedules. Dates and times you pick are in your local time and saved in UTC, one control switches between **Guided**, **Expression**, and **Process variable** entry, and cycle timers preview their next fires. Timers saved with the earlier date pickers can look shifted by your UTC offset in the panel, but they still fire at their stored time. See [Which entry modes can I use?](/6.x/docs/building-blocks/node/timer-events/timer-events#which-entry-modes-can-i-use). > > **Longer branch names:** branch names can be up to 40 characters, up from 16. See [Creating a new branch](/6.x/docs/projects/managing-applications/versioning#creating-a-new-branch). > > **Organization branding:** a **Branding** page under **Organization settings** > **Customization** sets one brand for the organization: name, logos, legal and social links, container app colors and header, and the sender, signature, and text of the invite, verify email, and reset password emails, with a preview of each. Login page and email branding are available on FlowX SaaS only. See [Organization branding](/6.x/docs/saas/organization-branding). > > **Typed dates in the Datepicker:** turn on **Allow manual input** to let users type a date in the pattern of the project's default locale instead of picking it. Web only, and not available while **Legacy component** is on. > > **Data mapping creates data types:** type a new attribute path such as `client.address.street`, and saving the mapping creates the data types it names. Until then, the mapper marks them as not yet added to the data model. Required rows show an asterisk, and mapping an object onto a primitive field shows an error. > > **Removed fields stay removed:** when a node's output sets a field to `null`, the field is removed from the workflow data and later steps no longer restore it with a `null` value. If a condition checks for `null`, make it handle a missing field too. > > **Keys with dots stay whole:** a data key that contains a dot, such as `cash|31.12.2025`, now stays one key when a workflow saves its data. Before, the key was split into nested objects and later nodes could not read it. > > SaaS *** ## Shipped by This release is the work of the FlowX engineering team across backend, frontend, AI, infra, QA, and docs. It also belongs to the customers who told us what was broken last quarter. Thank you. *** ## Deployment guidelines For component versions, environment variables, and Kafka topics, see [Deployment guidelines v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/deployment-guidelines-v6.0). To upgrade the Helm chart or a renderer SDK, follow [Migrating from v5.9.x to v6.0.0](/release-notes/v6.x/v6.0.0-october-2026/migrating-from-v5.9-to-v6.0/migration-overview). # Deployment guidelines v4.6.1 Source: https://docs.flowx.ai/release-notes/v4.x/v4.6.x/v4.6.1-february-2025/deployment-guidelines-v4.6.1 > [!NOTE] > > Do not forget, after 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**. ![](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/4.6/platform_status.png) > [!WARNING] > > After upgrading to the 4.6.1 FlowX.AI release, you cannot import old process definitions or resources from versions older than 4.6.0. ## Component versions | Component | 4.6.1 | 4.6.0 | 4.1.4 | 4.1.3 | 4.1.2 | 4.1.1 | 4.1 | 4.0 | 3.4.7 | 3.4.6 | 3.4.5 | 3.4.4 | 3.4.3 | 3.4.2 | 3.4.1 | 3.4.0 | 3.3.0 | 3.2.0 | 3.1.0 | 3.0.0 | | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | **process-engine** | **8.1.1** | 8.0.2 | 6.1.4 | 6.1.3 | 6.1.2 | 6.0.3 | 5.10.3 | 4.3.5-2v11 | 4.3.5-2v6 | 4.3.5-2v2 | 4.3.5-2v1 | 4.3.5 | 4.3.2 | 4.3.1 | 4.1.0 | 3.6.0 | 2.2.1 | 2.1.2 | 2.0.7 | | | **admin** | **7.2.6** | 7.2.3 | 5.1.6 | 5.1.5 | 5.1.4 | 5.1.3 | 5.0.9 | 4.6.10 | 3.3.19-6 | 3.3.19-4 | 3.3.19-3 | 3.3.19-1 | 3.3.19 | 3.3.10 | 3.3.7 | 3.1.1 | 2.5.2 | 2.2.2 | 2.1.3 | 2.0.8 | | **designer** | **5.69.3** | 5.64.5 | 4.17.1-5 | 4.17.1-3 | 4.17.1-2 | 4.17.1 | 4.17.1 | 4.0.1 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **@flowx/angular-sdk** | **5.69.3** | 5.64.5 | - | - | | | | | | | | | | | | | | | | | | **@flowx/angular-theme** | **5.69.3** | 5.64.5 | - | - | | | | | | | | | | | | | | | | | | **@flowx/angular-ui-toolkit** | **5.69.3** | 5.64.5 | 4.17.1-5 | 4.17.1-3 | 4.17.1-2 | 4.17.1 | 4.17.1 | 4.0.1 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **@flowx/react-sdk** | **5.69.3** | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/react-theme** | **5.69.3** | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/react-ui-toolkit** | **5.69.3** | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/core-sdk** | **5.69.3** | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/core-theme** | **5.69.3** | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **paperflow-web-components** | - | - | - | - | - | - | - | 3.35.18-5 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **cms-core** | **5.2.2** | 5.1.2 | 3.0.3 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.1 | 2.2.5 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.6 | 1.3.0 | 1.2.0 | 1.0.3 | 1.0.2 | | **scheduler-core** | 5.0.0 | 5.0.0 | 3.0.2 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.0 | 2.1.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.1.0 | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.1 | | **events-gateway** | 5.0.2 | 5.0.2 | 3.0.3 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.0 | 2.0.4 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.0.6 | 1.0.2 | - | - | - | | **notification-plugin** | 6.0.3 | 6.0.3 | 4.0.4 | 4.0.3 | 4.0.3 | 4.0.3 | 4.0.1 | 3.0.6 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.8 | 2.0.8 | 2.0.5 | 2.0.4 | 2.0.4 | 2.0.3 | 2.0.1 | | **document-plugin** | 6.0.3 | 6.0.3 | 4.0.3 | 4.0.2 | 4.0.2 | 4.0.2 | 4.0.0 | 3.0.6 | 2.0.10-1 | 2.0.10 | 2.0.10 | 2.0.10 | 2.0.10 | 2.0.8 | 2.0.8 | 2.0.6 | 2.0.4 | 2.0.3 | 2.0.3 | 2.0.2 | | **ocr-plugin** | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.15 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.8 | 1.0.8 | 1.0.2 | 0.1.33 | 0.1.33 | | **license-core** | 4.1.3 | 4.1.3 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.0 | 2.0.5 | 1.1.0 | 1.0.7 | 1.0.7 | 1.0.7 | 1.0.7 | 1.0.7 | 1.0.7 | 1.0.4 | 1.0.2 | 1.0.2 | 1.0.2 | 1.0.1 | | **task-management-plugin** | 7.0.3 | 7.0.3 | 5.0.5 | 5.0.4 | 5.0.4 | 5.0.4 | 5.0.2 | 4.0.5 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.0 | 2.1.2 | 1.0.4 | 1.0.4 | 1.0.1 | | **data-search** | 4.0.0 | 4.0.0 | 2.0.5 | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.3 | 1.0.6 | 0.2.8 | 0.2.8 | 0.2.8 | 0.2.6 | 0.2.6 | 0.2.6 | 0.2.6 | 0.2.3 | 0.2.0 | 0.1.4 | 0.1.4 | 0.1.3 | | **audit-core** | 6.0.0 | 6.0.0 | 4.0.5 | 4.0.4 | 4.0.4 | 4.0.4 | 4.0.3 | 3.1.4 | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 | 2.1.3 | 2.1.3 | 2.1.0 | 1.0.6 | 1.0.5 | 1.0.4 | 1.0.1 | | **reporting-plugin** | 0.1.12 | 0.1.12 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.5 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.0.40 | 0.0.40 | 0.0.40 | 0.0.39 | | **advancing-controller** | 4.0.0 | 4.0.0 | 2.0.3 | 2.0.2 | 2.0.2 | 2.0.2 | 2.0.0 | 1.1.4 | 0.3.5-1 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.2 | 0.3.0 | 0.1.4 | 0.1.4 | 0.1.2 | | **integration-designer** | **2.0.4** | 2.0.1 | | | | | | | | | | | | | | | | | | | | **application-manager** | **2.0.25** | 2.0.18 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **data-sync** | 2.0.2 | 2.0.2 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **iOS renderer** | **4.0.4** | 4.0.3 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.1.0 | 2.0.1 | 2.0.0 | 2.0.0 | | **Android renderer** | **4.0.11** | 4.0.9 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.0 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 | > [!NOTE] > > Note: The same container image and Helm chart are used for **Application Manager** and **Runtime Manager**. ## AI Agents | Component | 4.6.1 | 4.6.0 | 4.1.4 | 4.1.3 | 4.1.2 | 4.1.1 | 4.1 | 4.0 | 3.4.7 | 3.4.6 | 3.4.5 | 3.4.4 | 3.4.3 | 3.4.2 | 3.4.1 | 3.4.0 | 3.3.0 | 3.2.0 | 3.1.0 | 3.0.0 | | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | **ai-designer** | **1.9.16** | 1.9.10 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-assistant** | **1.6.15** | 1.6.9 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-analyst** | **1.10.6** | 1.10.3 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **di-platform** | **1.2.27** | 1.2.24 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-developer** | **1.6.5** | 1.5.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | ### Third-party recommended component versions | FlowX.AI Platform Version | Component Name | Recommended Versions | | - | - | - | | 4.6.1 | Keycloak | 22.x | | 4.6.1 | Kafka | 3.2.x | | 4.6.1 | PostgreSQL | 16.2.x | | 4.6.1 | MongoDB | 7.0.x | | 4.6.1 | Redis | 7.2.x | | 4.6.1 | Elasticsearch | 7.17.x | | 4.6.1 | Oracle Database | 21C/ 21-XE | | 4.6.1 | Angular (Web SDK) | 19.x | | 4.6.1 | React (Web SDK) | 18.x | > [!NOTE] > > FlowX.AI supports the Recommended Versions of the prerequisite third-party components in the above table. > > For optimal performance and reliability, our internal QA process validates new FlowX.AI releases using the latest Recommended Versions. While exploring alternative versions that suit your company's specific requirements, we recommend referring to the table above for guidance. > > In the unlikely event that you encounter any compatibility issues with FlowX.AI, please open a support ticket [**here**](https://flowxai.zendesk.com/), and our dedicated team will address and resolve any identified bugs following our standard support process. # FlowX.AI 4.6.1 Release Notes Source: https://docs.flowx.ai/release-notes/v4.x/v4.6.x/v4.6.1-february-2025/v4.6.1-february-2025 FlowX.AI 4.6.1 is here with important fixes and improvements to keep things running smoothly. No new features this time—just focused updates to improve stability, fix bugs, and enhance overall performance. Simple, clean, and efficient. ## **What's new?** 🆕 ### Rendering **Form Elements** improvements: * **Default Value Handling**: Defaults are applied only when no existing value is found, and set upon first display (with specific exceptions). * **Data Consistency**: Form elements now save data in standardized formats based on type for improved reliability. * **Smart Defaults**: Clear fallback behaviors for elements like switches, sliders, and checkboxes when no value is present. * **Synchronized Inputs**: Linked form elements (e.g., input + slider) stay in sync with automatic value adjustments within set limits. * **Dynamic Dependencies**: Form elements can dynamically adjust based on related components’ values for greater flexibility. ### Merge conflicts * Improvement: merged version is now selected after a successful merge in versioning modal. ## Bug fixes 🐞 ### Merge conflicts * Fixed an issue that caused conflicts involving notification and document templates to fail. * Fixed an issue where merges failed when a deleted configuration parameter was updated on a branch. * Fixed an issue that resulted in duplicate substitution tag keys appearing in the merged version. * Fixed an issue where merges failed due to the same dependency being added to both the source and target branches. * Fixed issues related to workflow conflicts. ### Rendering * Fixed an issue where documents from the media library were not loading correctly when added as a file preview in a user task. ### Integration Designer * Fixed issue causing a 400 error when adding an enum mapper to the body tab due to incorrect data validation. * Fixed issue where the last attribute in the objects table was not visible at higher zoom levels due to UI rendering constraints. ## Known issues 😢 We’re aware of a few quirks during merge conflicts and are working to fix them. Here’s a quick rundown: > [accordion] Processes > > * After a merge, sequences without a connection to an end node may appear on the canvas in cases of conflicts related to deleted nodes in one of the versions. This may occur because the merge mechanism does not detect that a sequence needs to be deleted if, in the final version, the node remains deleted. > * Navigation areas – After a merge, inconsistencies in the navigation areas hierarchy calculated during merging may result in navigation areas being hidden in the final merged version. > * No merge conflict detected if a user task node is deleted in the source branch and its UI is modified in the destination branch. > * Nodes may end up having two different outgoing sequences in certain scenarios: When a node is not connected to another node, and both the source and target branches define different sequences to different nodes, the merged version may contain both sequences. In particular, this may cause inconsistencies for boundary nodes, which cannot have multiple outgoing sequences. > * Gateway nodes may lose some of their configurations during merging when conflicts arise. > * Conflicts arising from moving nodes to different swimlanes in both the source and target branches are not detected correctly and result in a merge error. > [accordion] Enumerations > > * **Duplicate content values can be created during merging**: Merging branches with enumeration updates can result in duplicate content values or child enums with the same code. This occurs when identical names are added to the same enum in different branches, bypassing backend validation. Instead of flagging a conflict, the merge proceeds, creating duplicate entries. This issue disrupts the expected uniqueness constraint for enumeration values. > * **Enum content values might not save correctly in some cases**: In specific scenarios involving transformations of content values into child enums across branches, content values added in one branch may not appear after merging. Despite accepting changes from the branch where the content value was added, the merged version omits it, leading to incomplete or inconsistent enumeration data. > [accordion] Conflict Detection Gaps > > * **Adding values to deleted data model keys does not raise conflicts**: When values are added to a data model key in one branch and the same key is deleted in another, merging does not generate a conflict. Instead, the added values from the first branch are silently lost in the merged version. This issue bypasses expected conflict detection, leading to data loss and inconsistencies in the resulting data model. > [accordion] Media Library > > * Branches with media library assets sometimes fail to merge into the main branch: Merging branches with media library assets can result in a 500 Internal Server Error when changes to the same asset occur across multiple branches. This issue typically arises when one branch is merged into another, and then the combined branch is merged into the main branch. The failure occurs due to null parameter handling during the merge process, preventing the merge from completing successfully. > [accordion] UI/UX > > * After a successful merge, the merged version is not selected in the versioning modal. > * Some entries in the merge conflicts tree may show numbers instead of specific identifiers (e.g. forms); > * **Unnecessary scrollbars appear in the merge modal for single items**: The merge conflict modal displays unnecessary scrollbars when only a single item is present in the list. This occurs in scenarios where media library assets with long keys are involved, creating a layout issue that affects the user interface. While functionality is not impacted, this visual inconsistency can reduce the overall user experience during conflict resolution. > * **Fields like `originalCreationTimestamp` and `flowxUuid` are incorrectly flagged as conflicts**: The merge conflict modal displays unnecessary scrollbars when only a single item is present in the list. This occurs in scenarios where media library assets with long keys are involved, creating a layout issue that affects the user interface. While functionality is not impacted, this visual inconsistency can reduce the overall user experience during conflict resolution. ## Additional information For deployment guidelines and further details, refer to: > [card] [Deployment guidelines v4.6.1](./deployment-guidelines-v4.6.1) Migrating from v4.6.0: > [card] [Migrating from previous versions](./migrating-from-v4.1.x-to-v4.6.1) # Deployment guidelines v4.7.0 Source: https://docs.flowx.ai/release-notes/v4.x/v4.7.x-lts/v4.7.0-february-2025/deployment-guidelines-v4.7.0 > [!NOTE] > > Do not forget, after 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**. ![](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/4.6/platform_status.png) > [!WARNING] > > After upgrading to the 4.7.0 FlowX.AI release, you cannot import old process definitions or resources from versions older than 4.6.0. > > In version 4.7, the import-export functionality for application-version is no longer backward compatible. > > * Zip files exported from version 4.7 cannot be imported into earlier FlowX versions. > > * Similarly, zip files from earlier versions cannot be imported into 4.7. > > Note: Zip files for builds and specific resources remain unaffected. ## Component versions | Component | 4.7.0 | 4.6.1 | 4.6.0 | 4.1.4 | 4.1.3 | 4.1.2 | 4.1.1 | 4.1 | 4.0 | 3.4.7 | 3.4.6 | 3.4.5 | 3.4.4 | 3.4.3 | 3.4.2 | 3.4.1 | 3.4.0 | 3.3.0 | 3.2.0 | 3.1.0 | 3.0.0 | | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | **process-engine** | **8.3.1** | 8.1.1 | 8.0.2 | 6.1.4 | 6.1.3 | 6.1.2 | 6.0.3 | 5.10.3 | 4.3.5-2v11 | 4.3.5-2v6 | 4.3.5-2v2 | 4.3.5-2v1 | 4.3.5 | 4.3.2 | 4.3.1 | 4.1.0 | 3.6.0 | 2.2.1 | 2.1.2 | 2.0.7 | | | **admin** | **7.5.1** | 7.2.6 | 7.2.3 | 5.1.6 | 5.1.5 | 5.1.4 | 5.1.3 | 5.0.9 | 4.6.10 | 3.3.19-6 | 3.3.19-4 | 3.3.19-3 | 3.3.19-1 | 3.3.19 | 3.3.10 | 3.3.7 | 3.1.1 | 2.5.2 | 2.2.2 | 2.1.3 | 2.0.8 | | **designer** | **5.80.6** | 5.69.3 | 5.64.5 | 4.17.1-5 | 4.17.1-3 | 4.17.1-2 | 4.17.1 | 4.17.1 | 4.0.1 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **@flowx/angular-sdk** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | | | | | | | | | | | | | | | | | | **@flowx/angular-theme** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | | | | | | | | | | | | | | | | | | **@flowx/angular-ui-toolkit** | **5.80.6** | 5.69.3 | 5.64.5 | 4.17.1-5 | 4.17.1-3 | 4.17.1-2 | 4.17.1 | 4.17.1 | 4.0.1 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **@flowx/react-sdk** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/react-theme** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/react-ui-toolkit** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/core-sdk** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **@flowx/core-theme** | **5.80.6** | 5.69.3 | 5.64.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **paperflow-web-components** | - | - | - | - | - | - | - | - | 3.35.18-5 | 3.35.18-5 | 3.35.18-3 | 3.35.18-2 | 3.35.18-1 | 3.35.18 | 3.35.9 | 3.35.6 | 3.33.2 | 3.28.11 | 3.21.1 | 3.15.1 | 3.2.1 | | **cms-core** | **5.2.11** | 5.2.2 | 5.1.2 | 3.0.3 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.1 | 2.2.5 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.9 | 1.3.6 | 1.3.0 | 1.2.0 | 1.0.3 | 1.0.2 | | **scheduler-core** | **5.0.2** | 5.0.0 | 5.0.0 | 3.0.2 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.0 | 2.1.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.2.4 | 1.1.0 | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.1 | | **events-gateway** | **5.0.5** | 5.0.2 | 5.0.2 | 3.0.3 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.0 | 2.0.4 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.0.6 | 1.0.2 | - | - | - | | **notification-plugin** | **6.1.0** | 6.0.3 | 6.0.3 | 4.0.4 | 4.0.3 | 4.0.3 | 4.0.3 | 4.0.1 | 3.0.6 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.8 | 2.0.8 | 2.0.5 | 2.0.4 | 2.0.4 | 2.0.3 | 2.0.1 | | **document-plugin** | **6.3.1** | 6.0.3 | 6.0.3 | 4.0.3 | 4.0.2 | 4.0.2 | 4.0.2 | 4.0.0 | 3.0.6 | 2.0.10-1 | 2.0.10 | 2.0.10 | 2.0.10 | 2.0.10 | 2.0.8 | 2.0.8 | 2.0.6 | 2.0.4 | 2.0.3 | 2.0.3 | 2.0.2 | | **ocr-plugin** | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.15 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.8 | 1.0.8 | 1.0.2 | 0.1.33 | 0.1.33 | | **task-management-plugin** | **7.2.2** | 7.0.3 | 7.0.3 | 5.0.5 | 5.0.4 | 5.0.4 | 5.0.4 | 5.0.2 | 4.0.5 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.0 | 2.1.2 | 1.0.4 | 1.0.4 | 1.0.1 | | **data-search** | **4.0.4** | 4.0.0 | 4.0.0 | 2.0.5 | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.3 | 1.0.6 | 0.2.8 | 0.2.8 | 0.2.8 | 0.2.6 | 0.2.6 | 0.2.6 | 0.2.6 | 0.2.3 | 0.2.0 | 0.1.4 | 0.1.4 | 0.1.3 | | **audit-core** | **6.0.4** | 6.0.0 | 6.0.0 | 4.0.5 | 4.0.4 | 4.0.4 | 4.0.4 | 4.0.3 | 3.1.4 | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 | 2.1.3 | 2.1.3 | 2.1.0 | 1.0.6 | 1.0.5 | 1.0.4 | 1.0.1 | | **reporting-plugin** | 0.1.12 | 0.1.12 | 0.1.12 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.6 | 0.1.5 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.1.2 | 0.0.40 | 0.0.40 | 0.0.40 | 0.0.39 | | **advancing-controller** | **4.0.3** | 4.0.0 | 4.0.0 | 2.0.3 | 2.0.2 | 2.0.2 | 2.0.2 | 2.0.0 | 1.1.4 | 0.3.5-1 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.5 | 0.3.2 | 0.3.0 | 0.1.4 | 0.1.4 | 0.1.2 | | **integration-designer** | **2.3.2** | 2.0.4 | 2.0.1 | | | | | | | | | | | | | | | | | | | | **application-manager** | **2.6.0** | 2.0.25 | 2.0.18 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **runtime-manager** | **2.6.0** | 2.0.25 | 2.0.18 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **data-sync** | **2.1.0** | 2.0.2 | 2.0.2 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **iOS renderer** | **4.0.5** | 4.0.4 | 4.0.3 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.20 | 3.0.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.3.0 | 2.1.0 | 2.0.1 | 2.0.0 | 2.0.0 | | **Android renderer** | **4.0.12** | 4.0.11 | 4.0.9 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.23 | 3.0.0 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 | 2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 | ## AI Agents | Component | 4.7.0 | 4.6.1 | 4.6.0 | 4.1.4 | 4.1.3 | 4.1.2 | 4.1.1 | 4.1 | 4.0 | 3.4.7 | 3.4.6 | 3.4.5 | 3.4.4 | 3.4.3 | 3.4.2 | 3.4.1 | 3.4.0 | 3.3.0 | 3.2.0 | 3.1.0 | 3.0.0 | | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | **ai-designer** | **1.9.21** | 1.9.16 | 1.9.10 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-assistant** | **1.7.2** | 1.6.15 | 1.6.9 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-analyst** | **1.10.13** | 1.10.6 | 1.10.3 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **di-platform** | **1.2.31** | 1.2.27 | 1.2.24 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | | **ai-developer** | **1.7.0** | 1.6.5 | 1.5.5 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | | ## Third-party recommended component versions | FlowX.AI Version | 3rd Party Dependency | Recommended Supported Version | | - | - | - | | 4.7.0 | Keycloak | 22.x, 26.x | | 4.7.0 | Kafka | 3.2.x | | 4.7.0 | PostgreSQL | 16.2.x | | 4.7.0 | Oracle Database | 21c, 23ai | | 4.7.0 | MongoDB | 7.0.x | | 4.7.0 | Redis | 7.2.x | | 4.7.0 | Elasticsearch | 7.17.x | | 4.7.0 | Angular (Web SDK) | 19.x | | 4.7.0 | React (Web SDK) | 18.x | > [!NOTE] > > FlowX.AI supports the Recommended Versions of the prerequisite third-party components in the above table. > > For optimal performance and reliability, our internal QA process validates new FlowX.AI releases using the latest Recommended Versions. While exploring alternative versions that suit your company's specific requirements, we recommend referring to the table above for guidance. > > In the unlikely event that you encounter any compatibility issues with FlowX.AI, please open a support ticket [**here**](https://flowxai.zendesk.com/), and our dedicated team will address and resolve any identified bugs following our standard support process. ### Deprecation notice > [!WARNING] > > Starting FlowX 5.0, the following versions of 3rd Party Dependencies will no longer be supported: > > * Keycloak versions older than 26 > * Kafka versions older than 3.9 > * Redis versions older than 7.4 # Migrating from previous versions to v4.7.0 Source: https://docs.flowx.ai/release-notes/v4.x/v4.7.x-lts/v4.7.0-february-2025/migrating-from-v4.1.x-to-v4.7.0 > [card] Upgrading from an older version? If you're upgrading from a v4.6.x version, make sure to first review the migration guide for v4.6 release documentation to capture all the significant changes and also the deployment guidelines: > [card] [Deployment guidelines v4.6.0](../v4.6.0-january-2025/deployment-guidelines-v4.6.0) > [card] [Deployment guidelines v4.6.1](../v4.6.1-february-2025/deployment-guidelines-v4.6.1) If you're moving from v4.1.x to v4.7.0, don’t forget to check the relevant migration guides for each version to ensure nothing is missed: > [card] [Migrating from v4.1.x to v4.6.0](../v4.6.0-january-2025/migrating-from-v4.1.x-to-v4.6.0/) > [card] [Migrating from v4.1 to v4.1.1](../v4.1.1-june-2024/migrating-from-previous-to-v4.1.1) Do not also forget to check all the deployment guidelines in between releases to do not miss important configurations or changes: > [card] [Deployment guidelines v4.1.2](../v4.1.2-june-2024/deployment-guidelines-v4.1.2) > [card] [Deployment guidelines v4.1.3](../v4.1.3-august-2024/deployment-guidelines-v4.1.3) > [card] [Deployment guidelines v4.1.4](../v4.1.4-september-2024/deployment-guidelines-v4.1.4) > [card] [Deployment guidelines v4.1.5](../v4.1.5-september-2024/deployment-guidelines-v4.1.5) # FlowX.AI 4.7.0 Release Notes Source: https://docs.flowx.ai/release-notes/v4.x/v4.7.x-lts/v4.7.0-february-2025/v4.7.0-february-2025 FlowX.AI 4.7.0 is here to keep your projects vibing, your merges drama-free, and your configs under control—because struggling with your platform is *so* last season. 😎🔥 ## What's new? 🆕 ✅ Copy resources across projects\ ✅ Duplicate resources (in the same project/library)\ ✅ Resources usage tracking\ ✅ Smarter merge conflict detection & resolution\ ✅ Libraries can now define configuration parameters\ ✅ Dynamic Kafka topics using configuration parameters ## Projects ### Copy resources across projects Moving resources between projects is now **fast and seamless**. The new **Copy to Another Project** feature ensures all dependencies stay intact, eliminating the hassle of manual adjustments.