Skip to main content

Flowable 3.15.x Release Notes

Initial release 3.15.0, December 21, 2023

Introduction

The Flowable product comprises:

  • Flowable Work, a process and case management platform with an out-of-the-box user interface.
  • Flowable Engage, built on top of Flowable Work, adding conversations and external connectivity to WeChat, Whatsapp and others.
  • Flowable Design, a modeling environment to create BPMN, CMMN, DMN, Form and other model types that run in Platform/Work/Engage.
  • Flowable Control, an administration tool that can be used to manage the Flowable Platform / Work / Engage environments.
  • Flowable Inspect, a debugging and test component that can be used with Flowable Work and Engage.

These products are built on top of the Flowable Open Source project which can be found at Github.

Documentation

The Flowable Open Source project also has extensive documentation available which can be found at https://www.flowable.com/open-source/docs/oss-introduction.

Highlights

Flowable Work

  • Added a new dashboard feature that allows a user with the dashboard permission to create new dashboard pages using the dashboard components that are available within Flowable Work. A dashboard page can be constructed visually by a user and any number of dashboard components can be positioned and sized as needed. Out-of-the-box a number of dashboard components like pie and bar charts and data tables are available, and using Flowable Design, additional dashboard components can be made available.

  • Added support to connect with Sharepoint out-of-the-box. When enabled, an attachment field in a form can be configured to allow for Sharepoint files to be added. In this way, documents in Sharepoint can be directly linked to a case, process or task in Flowable. A delegated authentication option is supported where both Flowable and Sharepoint are configured against the same Azure Directory Service and can share the authenticated user. Additionally a client secret based authentication is supported that uses a technical user to authenticate against Sharepoint. This feature is available as an additional license option. Please reach out to your Flowable account manager or otherwise Flowable sales to get more information about this.

  • Added support for SLA tracking on human and user tasks in CMMN and BPMN. The reaction time can be tracked with a new action that is available on a human and user task with a referenced SLA model that has reaction time enabled. The person that reacts to a task is stored, together with the claimed and completed by user. For each human and user task a reaction time and completion time SLA can be defined and this will be tracked by Flowable. Information about the average reaction and completion time, how many times the SLA has been breached etc can be used in the new dashboard feature to be displayed in charts. In addition, initialization and escalation steps can be configured that will be triggered when creating the task and when a defined date / time has been reached. In such a step for example the priority of the task can be changed, or the assignment can be set or an escalation case or process can be started, amongst other options.

  • Improved accessibility support to allow for using keyboard navigation to navigate through the Flowable Work UI elements. This also includes using the keyboard and the tab component in specific to navigate through a start, task or work form.

  • Improved error logging information to include references to the instance id and other available information when applicable.

  • An improved Flowable draw component is available that uses the same ReactFlow logic as the Flowable Design diagram logic to create a CMMN, BPMN and DRD view in HTML. With this change, the old Raphael based draw component is removed.

  • There are now external worker clients available to make it easier to use implement the logic for external worker tasks. The Spring Boot Java client can be found here https://github.com/flowable/flowable-external-client-java. The Python client can be found here https://github.com/flowable/flowable-external-client-python. And the JS client can be found here https://github.com/flowable/flowable-external-client-js. there is also a .NET client which will be made available from this project page https://github.com/flowable/flowable-external-client.net.

  • The case, process and task permissions for an admin user can be configured in a security policy model. By default, an admin user has all permissions on a case, process and task, as it was before the 3.15.0 release.

  • Added support to set the business status of a case instance on a stage in a similar way as it was already supported for milestones.

  • Added support to reference case and process instance properties like businessKey and businessStatus in template models and support accessing root and parent scoped variables.

  • Added support to define safety measures for the CMMN and BPMN engines, to for example limit the amount of cycles that are allowed in a case or process instance.

  • Added a hookpoint to intercept form save and complete logic with the CoreRestDataInterceptor interface to implement custom logic on a form payload before any variables and form instance data is created.

  • Added option to migrated closed historic case instances to a new case definition version to for example add a reactivation listener. Note that no action instance will be created for the migrated historic case instance, this needs to be done in additional logic when needed.

  • Fixed issue with migrating case or process instances with data object variables.

  • Fixed issue with event registry event listeners in CMMN getting triggered even if the available condition evaluates to false.

  • Added option to enable sorting on LDAP user and group queries.

  • Data tables can now be configured to use grouping. In this way the data table main rows are grouped together based on a grouping value, and when expanded the rows for this group are shown.

  • Added a new switcher component that allows to define a boolean value, similar like a checkbox component.

  • A debounce has been added by default to all filterable fields with REST interaction to only do a new REST call after the typing has been stopped.

  • Fixed issue when multiple REST calls are fired for a REST select field or another REST datasource form field and the last response is handled before any earlier responses are processed. Improved logic has been implemented to ensure that only the last response will be processed.

  • Added support to configure a custom icon url for an action button.

  • Added internalization support for data object data tables column names.

  • A row url target on a data table can contain an expression that is resolved when the data table is loaded.

  • Added support to disable the favorite button for data object data tables.

  • Added a new FE function flw.columnOnlyHasNullValues to support hiding a column that contains only null values.

  • Added new FE functions to interact with the tab component, flw.getActiveTab(fieldId) to get the current active tab and flw.setActiveTab(fielId, newTab) to set a new active tab.

  • Added support for Azure SQL Server.

  • Added support for AWS Aurora database.

Flowable Engage

  • Fixed issue with conversation filters showing a wrong count update for archived and closed conversations.

  • Fixed issue with a task created in a conversation not setting the correct tenant id.

  • Fixed issue when creating a ticket in a desk conversation to use the correct tenant id when looking up the template definition for the desk message.

Flowable Design

  • Added support to generate service, data object and data dictionary models for a Salesforce sObject like Lead and Account. This feature is available as an additional license option. Please reach out to your Flowable account manager or otherwise Flowable sales to get more information about this.

  • Added support to generate a service model from an OpenAPI file to make it easy to connect to an external service that has an OpenAPI description.

  • Added new feature with a palette editor that can be used to customize the CMMN, BPMN and Form palettes and add custom elements and properties to a palette. It's also still possible to customize a palette using JSON and XML files.

  • Added a new SLA editor that allows to define SLA models that can be referenced from human and user tasks in CMMN and BPMN to enable SLA timers.

  • Added an option in the CMMN, BPMN and Form editor to change the type of an element or form field. Note that the element can be changed to a type that is part of the same group.

  • In the form editor it's now possible to have spacing between form fields on the same row. When a form model is imported from the Angular Design application the spacing is applied automatically. For a form model created in the React Design application a space element can be added that is available in the palette. The space element can be changed in size as needed.

  • Improved the query editor with more low code capabilities to create a query without having to fill-in the Elasticssearch query.

  • Added a new dashboard component editor to define a new component that can be used in the dashboard feature in Work. A dashboard component references a query model that is defined using the query editor.

  • Added support to define read and write permissions on a private workspace. In this way it can be configured which users should only have read access and which users should have full write permissions for the apps and models in a specific workspace.

  • Added support to configure a shared workspace on a workspace level. This allows for referencing models from another workspace so that the shared workspace can be used to store default models that can be re-used in apps in different workspaces. In the Angular Design application this was known as the default tenant support, and this is now replaced with the shared workspace concept.

  • Added support to reference models from other apps in the same workspace or the configured shared workspace. In the model overview in an app it's shown if a model is referenced from another app or if the model is directly included in the app. When exporting an app a choice is provided to export all models or only directly included models of an app.

  • A model from a different app in the same or shared workspace can be included in an app.

  • Required properties of an element in the CMMN, BPMN, DRD and Form editors are highlighted in the properties panel.

  • Added admin column to the security policy model, to allow to define the permissions for an admin user. By default the admin user has all permissions.

  • Added an option to duplicate an existing model.

  • Added a new task element in CMMN and BPMN to transform content items into a PDF document. This is supported for images, HTML, Word and Excel source content types.

Flowable Control

  • The diagram component for CMMN and BPMN diagrams has been replaced with a new component that is based on the ReactFlow, just like the React Design application.

  • Added more search options to find case, process and task instances based on a root instance id or parent instance id.

  • Added the list of timer and deadletter jobs in the case and process instance details view.

  • Added support to re-index content items.

  • Fixed issue that was not showing the scope information on a content item.

Flowable Inspect

  • Added a new debugging support in Inspect that shows the request and response information for service registry tasks in CMMN and BPMN.

  • Added support to show the form tab also in the custom case view for case page forms and task forms.

  • When a data object variable is viewed in Inspect, now the JSON representation is shown.

  • Improved the test feedback when comparing JSON values. The order in the object properties is not validated anymore and can be random, the order in a json array is still validated.

Upgrade information

  • Flowable requires a minimum Java 17 version due to the upgrade to Spring Boot 3.x.

  • Flowable requires a Jakarta EE version 9+ compliant web container, due to the upgrade to Spring Boot 3.x. For Tomcat this means at minimum Tomcat version 10. Also note that any javax.servlet dependencies used in your project should also be migrated to Jakarta.

  • The Flowable Open Source dependency has been upgrade to Flowable 7.x to also support the move to Spring Boot 3.x, Java 17 and Jakarta namespace for the CMMN, BPMN and DMN engines.

  • This is the last major release that both the Angular Design as well as the new React Design applications are provided. Starting with the next major release in July 2024 only the React Design application will be provided. We therefore encourage every Design user to move to the React Design version and any bugs reported will be fixed with priority. Note that the Angular Design application in 3.15 wasn't upgraded to Spring Boot 3, but stayed on Spring Boot 2.7.x, because it's in maintenance mode and upgrading to Spring Boot 3 would mean a lot of changes.

  • The async history support has been removed as it was already deprecated since version 3.9 and the default historic data handling was already changed to synchronous since that version. This means that the historic data updates always happens in the same transaction as storing the runtime data.

  • Spring Security has done a number of changes in their API. The following changes should be done to the Security configuration:

    • Replace HttpSecurity#requestMatcher with HttpSecurity#securityMatcher

    • Replace HttpSecurity#authorizeRequests with HttpSecurity#authorizeHttpRequests

    • Replace HttpSecurity#authorizeHttpRequests().antMatchers("some path") with HttpSecurity#authorizeHttpRequests().requestMatchers(antMatcher("some path"))

    • Replace HttpSecurity#csrf().ignoringAntMatchers("some path") with HttpSecurity#authorizeHttpRequests().ignoringRequestMatchers(antMatcher("some path"))

  • Using trailing slashes is deprecated and disabled by default. e.g. if you were invoking the Flowable REST API with URL ending with / then this is no longer supported. e.g. process-api/repository/definitions/ should be replaced with process-api/repository/definitions

  • To your OAuth Security filter chain add the following: .defaultAuthenticationEntryPointFor(new HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED), RequestMatchers.not(new DispatcherTypeRequestMatcher(DispatcherType.ERROR))) .defaultAuthenticationEntryPointFor((request, response, authException) -> {}, new DispatcherTypeRequestMatcher(DispatcherType.ERROR)) and to your basic authentication filter chain add the following: .defaultAuthenticationEntryPointFor((request, response, authException) -> {}, new DispatcherTypeRequestMatcher(DispatcherType.ERROR)) to the default Http Security exception handling

  • The properties management.metrics.export.<product> have been replaced with management.<product>.metrics.export. e.g. management.metrics.export.elastic should be replaced with management.elastic.metrics.export and management.metrics.export.prometheus should be replaced with management.prometheus.metrics.export

Spring Boot

  • Flowable has upgrade from Spring Boot 2.7.x to the new 3.x version, in specific version 3.1.6. This means that there is a minimum requirement of Java 17 to run Flowable.

  • Base Spring Boot version should be upgraded to at least 3.1.2. Please read the Spring Boot 3.0 and Spring Boot 3.1 release notes before upgrading.

React

  • The React version should be upgraded to the latest 18 version.

Pentest report

  • A new pentest has been performed on Flowable Work and the results are available via your Flowable account manager or contact person.

Work and Engage Database changes

  • Added a new table FLW_SLA_DEFINITION to store the SLA definitions.

  • Added a new table FLW_SLA_AUDIT to store information about SLA data related to currently tasks.

  • Added a new table FLW_TEN_VARIABLE to store tenant specific variable data.

  • Added a new table FLW_DASHBOARD to store the user specific dashboard information.

  • Added a new table FLW_DASHBOARD_COMP_DEFINITION to store the dashboard component definitions.

  • Added new columns STATE_, IN_PROGRESS_TIME_, IN_PROGRESS_STARTED_BY_, CLAIMED_BY_, SUSPENDED_TIME_, SUSPENDED_BY_, IN_PROGRESS_DUE_DATE_ to the ACT_RU_TASK and ACT_HI_TASKINST tables to store additional information on tasks to support the new SLA feature.

  • Added new column SCOPE_DEFINITION_KEY_ to the ACT_RU_EVENT_SUBSCR table to store a definition key value for manual event subscriptions.

Design Database changes

  • No database changes, but do note that in 3.14.3 by exception also Design database changes were applied. For overview purpose this change is included here as well as the second item in the list.
  • From 3.14.3 release notes: "Added support for defining a shared workspace for the current selected workspace in the React Design application. This enables the possibility to use a workspace for reusable models and add a reference to a reusable model that is part of the chosen shared workspace. For example a reusable form can be selected from the shared workspace when adding a form reference for a user task in a BPMN process model in the current workspace. On export of the app the choice can be made to export all models, including the referenced models, or only the directly included models from the app. To support the shared workspace a new column SHAREDWORKSPACE_ID had to be added to the FLW_DE_WORKSPACE of React Design. Database changes are normally not part of a minor release, but for this functionality we had to make an exception".

Control Database changes

  • No database changes.

Docker images updates

  • The Docker images run now in 'rootless mode'. The application process runs as the non-root 'flowable' user (uid=100).

Open Source Artifacts Dependency Compatibility

Releases of Flowable Design, Work and Engage use versions of the open source Flowable dependencies that have not yet been published publicly on the Maven Central repository. These 'bugfix releases' can be retrieved by customers using the customer Flowable Maven repository credentials.

These versions contain fixes and have been QA'ed with the 3.15.0 release. It's advised to upgrade your open source dependencies to the 'compatible' version mentioned below (and mentioned in the subsequent Service Packs section)

Open source dependency version: 7.0.0.17

Service Packs

3.15.1

  • Fixed issue with sending emails in a SLA model.
  • Fixed issue with boolean init variables not getting initialised to false by default.
  • Fixed issue with flw function expression support in email templates.
  • Fixed issue with content items of a child instance being shown in the documents tab when the content item is not accessible due to a custom security policy.
  • When an error occurs while resolving an expression in an email template the email will not be sent
  • Fixed issue with using USE-TLS for email tasks.
  • Fixed issue with allowing the unlink models in the CMMN and BPMN editor.
  • Fixed issue with being unable to use expressions in an email from and to field.
  • Added support for data formatting for columns in a regular data table.
  • Added support for placeholder in a rich text field.
  • Fixed issue with datatable with multiple entries not scrolling horizontally
  • Fixed issue with incorrect notification type when submitting an invalid form
  • The suspension tab has been removed from the SLA editor, because it is not yet supported in the SLA runtime logic.
  • Fixed issue with missing body template for REST Service
  • Fixed issue with being unable to use custom values in a user and group permission field in React Design.
  • Fixed issue with a wrong z index being used for the palette sub menu.
  • Added more tooltips and other smaller improvements to the React Design application.
  • Fixed issue with housekeeping that could not be started in Control.
  • Fixed issue with being unable to add breakpoints in Inspect.
  • Upgraded Axios dependency version to fix the security vulnerabilities found in older Axios versions.
  • Fixed issue with missing react-focus-lock dependency in the Flowable Forms component.
  • Allow setting the service account name for the Flowable helm charts.
  • Upgraded to Spring Boot 3.1.7.

Open source dependency version: 7.0.0.18

3.15.2

  • Improved the keyboard navigation options in the Flowable Work application to meet the WCAG 2.1 AA level requirements.
  • Fixed issue with only one of multiple variable event listeners listening for the same variable change event getting triggered.
  • Fixed issue with websocket connection issues.
  • Fixed issue with event subscriptions using multiple correlation parameters not working with event listeners mapping different correlation parameters.
  • Fixed issue with caseInstance.getId returning a plan item instance id instead of a case instance id in a CMMN script task.
  • Improved OpenAPI generator type supported with email and UUID.
  • Fixed issue with data dictionary definitions not being tenant aware.
  • Fixed issue with the form input mapping configuration not being applied for historic case, process and task instances.
  • Fixed issue with incorrect form input mapping being applied for user event listener start forms.
  • Fixed issue with historic case instance resolving root and parent context to be used in the case view.
  • Fixed issue with a case model timer event format containing the incorrect time configuration.
  • Add support for updating a master data instance description with the REST API.
  • Fixed issue with an avatar image being updated through the REST API for a user that is not the current user.
  • Improved user selection to exclude inactive users.
  • Improved client side checks when accessing a specific view in Flowable Work by typing an url manually in the browser to check for allowed features. The REST endpoints already performed the correct security checks, so only data that was allowed was returned.
  • Fixed inconsistency with showing date values in the Work UI.
  • Fixed issue with the action button confirmation dialog being rendered in the background.
  • Fixed issue with a split button group not being rendered correctly in a modal view.
  • Fixed issue with row modification in a data table using an array format consistently.
  • Fixed issue with an ordered list in the rich text editor not using correct numbering.
  • Fixed issue with the rich text editor min and max length calculation to ignore HTML and markdown characters.
  • Fixed issue with an attachment component using thumbnail preview giving http 500 errors when uploading files.
  • Fixed issue with a validation exclamation mark being shown on the wrong tab position in a multi tab form component.
  • Fixed issue with a theme containing a space leading to a wrong style being applied in the standalone work view component.
  • Fixed issue with the current instance view in Inspect not allowing to add breakpoints.
  • Added additional validation in Inspect tests to test if a process instance is completed.
  • Fixed issue with showing data object and content item variables in Inspect using a JSON view.
  • Improved support for storing the diagram location of a sequence flow label in the CMMN and BPMN XML.
  • Improved the view in the data object editor when using data dictionary types. It now shows a readonly view of the inherited data dictionary type properties.
  • Fixed issue with exporting a case model using variable aggregation and importing the model again, losing the variable aggregation data.
  • Fixed issue with due date input field being in wrong state when switching between expression and non expression field in React Design.
  • Fixed timer configuration value shown for case and process models.
  • Fixed issue with export of task name translations in React Design.
  • Added support for defining fields for service tasks with a delegate expression similar to Java class service tasks.
  • Decreased max zoom out level in the case and process model to prevent models from not being visible anymore.
  • Fixed issue with form editor preview showing an error with a service registry button.
  • Fixed issue with the page model export from the app model overview resulting in a wrongly exported form json in Angular Design.
  • Upgraded to Spring Boot 3.1.9.

Open source dependency version: 7.0.0.22

3.15.3

  • Improved accessibility of the Flowable Work UI to meet WCAG 2.1 level AA guidelines.
  • Fixed issue with null response values for a REST data object resulting in an exception.
  • Fixed issue with service buttons that did not work in pages.
  • Fixed issue with decimal form field values getting added to the form payload in an ignored sub form.
  • Fixed issue with incorrect outcome button styling.
  • Fixed issue with changing the data table column order.
  • Fixed issue with missing translations in standalone case view.
  • Add support for WhatsApp Cloud API to the WhatsApp adapter.
  • Fixed issue with change process state not working for intermediate catch events in Control.
  • Fixed issue in React Design to hide variable assistant when switching between form fields.
  • Fixed issue with max instance value of unlimited not being imported correctly in React Design.
  • Fixed issue with event registry intermediate catch events not being imported correctly in React Design.
  • Fixed issue with palette component overlapping other UI elements in React Design.
  • Fixed issue with custom palettes that use duplicate element ids.

Open source dependency version: 7.0.0.23

3.15.4

  • Improved the service registry task UI to use tabs to configure the service operation and input, output and error parameters.
  • Added support for process migrations to enable a new start event in an event sub process.
  • Added support to create plan item instances for new plan item definitions when doing a reactivation of an historic case instance, including a reactivation listener that didn't exist in the original case model.
  • Added support for conditions when defining a migration mapping in a case instance migration.
  • Fixed issue with repetition counter variable not being correctly set when doing case migration.
  • Fixed issue with SLA escalation steps with after completion config not having the correct due date.
  • Fixed issue with the available tests view in Flowable Inspect.
  • Added an automatic refresh to the user accounts view to support async adding of accounts via a case or process.
  • Fixed accessibility issue to navigate to a defined row url using the keyboard.
  • Fixed accessibility issue where a disabled button with a navigation url would still navigate to the defined url when using the keyboard.
  • Fixed issue with data tables that don't have a value expression set that incorrectly change the form payload.
  • Added support for making the steps in a wizard in a form clickable.
  • Added option to prevent jumping to the top when navigating to the next step in a wizard in a form.
  • Added support for defining fields for task listeners in CMMN with a delegate expression or Java class.
  • Fixed issue in Angular Design with restoring a historical model version.
  • Improved Javascript and CSS bundles in Flowable Control to better support browser caching.
  • The Elasticsearch Helm dependency has changed from an Elastic to Bitnami managed chart because the Elastic charts were not maintained anymore. Because of PVC naming differences in Bitnami chart, by default, it will create a new PV and PVC. In order to upgrade from an existing pre 3.15.4 Flowable chart deployment using Elasticsearch an existing PVC can be defined. In order to do so set the following property; elasticsearch.master.persistence.existingClaim = <exiting PVC name>. (Because of the default PVC access mode (ReadWriteOnce) an additional pod can prevent access to this PVC. In that case make sure only the new pod will make use of this PVC.)
  • The ActiveMQ image when using the Flowable chat capabilities has changed from symptoma/activemq to apache/activemq-artemis.
  • Updated Java and React dependencies that have security vulnerabilities.

Open source dependency version: 7.0.0.26

3.15.5

  • Added option in the case migration API to change the plan item id and plan item definition id of a plan item instance.
  • Fixed issue with the batch migration of process and case instances in case of failed migrations.
  • Fixed issue with typing in large forms on slower computers, where the browser wasn't adding all typed text.
  • Added support for a health check API for the WhatsApp Cloud API.
  • Added FE feature flag to enable links in plain text messages in the chat functionality with the plainTextWithLinks feature flag name.
  • Fixed issue with radio buttons event handling.
  • Fixed issue with defining an icon in the palette for custom form components.
  • Added support to remove the close icon from a modal dialog.
  • Fixed issue with using frontend expressions in a HTML component in React Design, where the HTML text was not saved correctly.
  • Fixed issue in Angular Design that prevented the usage of quotes in a description text of an app or model.
  • Upgraded to Spring Boot 3.1.11.

Open source dependency version: 7.0.0.29