Skip to main content

Flowable 3.16.x Release Notes

Initial release 3.16.0, July 11, 2024

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 support for defining custom task filters for the Tasks app.

  • Added an option to define an event filter for an inbound event channel model.

  • Added an option to define properties of a data dictionary type to be readonly.

  • Added support for JSON property types for a data dictionary type.

  • Added support for defining custom values for groups in the identity management API. This was already possible for users and has now been extended to groups.

  • Added option to download all the documents attached to a case, process or task or from the document app from a specific folder with one button click.

  • For process instance migration without an explicit mapping for boundary events, the boundary event timer, message or signal are kept now and not recreated.

  • Added support for expressions in the SLA completion and reaction time configuration.

  • Added support to configure a custom SLA business calendar implementing a SlaBusinessCalendar interface.

  • Added option to case instance migration to define conditions for a plan item definition mapping.

  • For case instance migration ensure that for milestone and sentry part instances the case definition id is updated.

  • Added support for process migrations to enable a new start event in an event sub process.

  • Added support to migrate completed historic case instances without a reactivation listener to a definition with a reactivation listener.

  • Added support to define local variables for stages for a case instance migration.

  • Fixed issue with repetition counter variable not being correctly set when doing case migration.

  • The case and process variables are returned when using the CMMN or BPMN start process instance action bot.

  • Added new functions to update a business status with ${bpmn:setBusinessStatus('processInstanceId', 'myStatus')} and ${cmmn:setBusinessStatus('caseInstanceId', 'myStatus')}.

  • Added support for using dashboard components deployed to the default tenant to be used in a specific tenant.

  • Improved support for using sendStringParametersAsUnicode=false for Microsoft SQL server to make sure indexes are being used independent if the column is defined as VARCHAR or NVARCHAR. See the performance tuning section for SQL server for more information.

  • Changed several column types from VARCHAR to NVARCHAR for Microsoft SQL Server to allow for unicode characters.

  • Disabled historic task logging when using a history level of none.

  • Added support for a redirect url that is used when the next involved tasks call doesn't return any result. This can be configured with flowable.frontend.redirect-to-url-when-no-next-involved-tasks.

  • Added support for using a state property in a master data JSON file to flag inactive items.

  • Fixed issue with only one of multiple variable event listeners listening for the same variable change event getting triggered.

  • Added business status label to the case, process and work indexes for Elasticsearch.

  • Improved accessibility of the Flowable Work UI to meet WCAG 2.1 level AA guidelines.

  • Added translations to flw.getMasterDataInstanceByKey function.

  • Added support for a service response that consists of an array instead of an object for a service button in a form.

  • Improved the BPMN and CMMN DI information for labels to ensure that the label position is included in the BPMN and CMMN XML.

  • Added support for data field formatting for data object data tables, similar to regular data tables.

  • Fixed issue with the form input mapping configuration not being applied for historic case, process and task instances.

  • Fixed issue with admins not being able to claim tasks when the task candidate type is configured.

  • Added support to define response handling for REST buttons on a form in case of non 2xx HTTP responses.

Flowable Engage

  • Support has been added for the WhatsApp Cloud API which will supersede the Meta Docker image approach provided by Meta. Support for both options is still there to make it easy to migrate to the WhatsApp Cloud API when planned.

  • Added support to mark a conversation as favourite.

  • Added option to mute a conversation by implementing custom logic that checks if a conversation is muted.

  • Added easier respond / reply back functionality that is showin inline in the conversation UI.

  • Added support for multi select messages with a custom action icon.

  • Added configuration option to mark forwarding only possible from an internal conversation to an external conversation.

Flowable Design

  • Note that starting with the 3.16 release only the React Design application is included, and the Angular Design application is not included anymore. It is possible to still use the Angular Design 3.15.x application and deploy to a 3.16.x Work / Engage application, but we strongly recommend to upgrade to the React Design application.

  • Added support for model diffing for case, process and form models. When comparing a version or a revision, the elements are highlighted that have differences and a modal is presented for an element that highlights the differences on a property level.

  • Added an option to show the versions for a specific case, process and form model and provide the option to revert back to this version.

  • A new app dashboard has been introduced to show an overview of the models in an app in a first glance. It shows root models like case and process models, and it shows the page models and revision of an app. There's now also the option to add documents to an app, so that specifications and requirements can be linked to an app.

  • A new option has been added to star or favourite models. When a model is starred, it will be available in the starred models list in the app dashboard.

  • A new plugin concept has been introduced to support the development of custom tasks and in the future sub case and process models. Plugins can be shared with other Design instances and there is an explicit installation step to make it available in the Design application. During development a plugin is similar to an app. Therefore, the app APIs have amended to support both. All REST APIs that had the form of /workspaces/{workspaceKey}/apps/{appKey} have been adapted to support plugins as well. The API looks like /workspaces/{workspaceKey}/{packageType}s/{packageKey}. See the Design Upgrade Information and Introduction to Plugins for more info.

  • Improved the navigation by introducing a bread crumb that shows the current workspace and app context when applicable.

  • Added support for a new query data table component in the form editor to allow for easy display of case, process and task data including variables.

  • A new master detail component has been introduced in the form editor that can configured to use static data or work with REST endpoints.

  • Improved the tab component to allow for horizontal and vertical tabs.

  • Added a tenant management view to support multi tenant Design environments.

  • Added support for using the tenant of Flowable Design as deployment tenant. Can be configured using flowable.design.deployment-tenant-source with a value of model-tenant-id. Additionally, flowable.design.deployment-tenant-mapping.{designTenantId}={deploymentTenantId} can be used to provide a mapping from a design tenant to a deployment tenant.

  • Added support for using the Flowable Design workspace key as a mapping for deployment tenant. Can be configured using flowable.design.deployment-tenant-source with a value of model-workspace-key. The flowable.design.deployment-tenant-mapping.{workspaceKey}={deploymentTenantId} should be used to provide a mapping from a workspace key to a deployment tenant. If no mapping is provided, then the configured deployment-api-tenant will be used.

  • Added support for using data dictionary types in the input and output definition of an operation in a service registry model.

  • Added support for behaviourType in Form and Page palette stencils. See Custom palette docs for more information and available behaviourType(s).

  • Improved variable assistant to include input parameters for a call activity or case and process task.

  • 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.

  • The DMN decision table editor has been improved for the editing of the hit policy, columns editing and the support for large tables.

  • When deleting a model an additional check is added to retrieve where the model is used and the delete dialog has been adapted to take the different cases of model relations into account. For example, when deleting a model that is only linked with an app, the dialog is kept basic and the model can be deleted easily. But when a model is used by another model, and maybe even by another model in a different app, this information is now shown and the user has to choose for a force delete option to be able to actually delete the full model.

  • Added support for using a LDAP identity service see Design LDAP documentation.

  • Added the option to define column filters for a data table. Column filters can have a static or REST data source to allow for a fixed set of items or a more dynamic option to retrieve the items via a REST call.

  • Added more information about a parameter when configuring service registry task input and output mappings.

  • Added option for Move and Copy of documents to the security policy model so that this can be configured.

Flowable Control

  • Added support for editing the variables for master data instances. Variables can be added, edited and deleted and only the variables defined in the master data definition are available.

  • Added support for enabling and disabling the async / job executor to execute jobs. This is meant to be used in test environments mainly, and should be used with caution in production environments.

  • Added support to manage tenant variables.

  • Added action instances linked to a case or process instance in the Actions tab.

  • Added support to change the timer due date value.

  • Added support to define the tenant when uploading an app.

Flowable Inspect

  • Improved support for migrating case and process instances to a new version without a migration mapping. Timer, message and signal boundary events are not recreated and milestone and sentry part instance process definition id are updated to the new definition version.

  • 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.

  • Added option to create variables on an non-completed case or process instance.

  • Date variables with time are now shown in Inspect including the time.

Upgrade information

  • The out-of-the-box applications are now using the Prometheus Client 1.x instead of Prometheus Client 0.x. See the Spring Boot 3.3 Migration notes for more information.

Design Upgrade information

  • The following Java APIs have been deprecated:

    • AppPublishedEvent#getAppRevision instead AppPublishedEvent#getPackageRevision should be used.
    • AppRevisionCreatedEvent instead PackageRevisionCreatedEvent should be used.
    • DesignEventType#APP_REVISION_CREATED instead DesignEventType#PACKAGE_REVISION_CREATED should be used.
    • AppRevision instead PackageRevision should be used. The methods getAppId, getAppKey and getAppName should be replaced with getPackageId, getPackageKey and getPackageName.
    • AppRevisionBuilder instead PackageRevisionBuilder should be used. The method appModelId should be replaced with packageModelId.
    • AppRevisionQuery instead PackageRevisionQuery should be used. The method appModelId should be replaced with packageModelId.
    • ModelHistoryService#createAppRevisionBuilder instead ModelHistoryService#createPackageRevisionBuilder should be used.
    • ModelHistoryService#createAppRevisionQuery instead ModelHistoryService#createPackageRevisionQuery should be used.
    • ModelHistoryService#getAppRevisionExportBytes instead ModelHistoryService#getPackageRevisionExportBytes should be used.
    • ModelHistoryService#deleteAppRevision instead ModelHistoryService#deletePackageRevision should be used.
    • AppExporter instead PackageExporter should be used. The method appId should be replaced with packageId and appKey should be replaced with packageKey in combination with packageType.
    • ModelImporter#appModelId instead ModelImporter#packageModelId should be used.
    • ModelQuery#appModelId instead ModelQuery#packageModelId should be used.
    • ModelRelation#getAppModelId instead ModelRelation#getPackageModelId should be used.
    • ModelRelationQuery#appModelId instead ModelRelationQuery#packageModelId should be used.
    • ModelService#createAppExporter instead ModelService#createPackageExporter should be used.
    • ModelService#copyRevisionIntoApp instead ModelService#copyRevisionIntoPackage should be used.
  • The following REST APIs have been deprecated

    • The request body for /workspaces/{workspaceKey}/apps/{appKey}/revisions/{revisionKey} should use packageKey instead of appKey and the action values revertCurrentApp and copyIntoApp should be replaced with revertCurrentPackage and copyIntoPackage.
    • The request body for /workspaces/{workspaceKey}/{packageType}s/{packageKey}/unlock should use package instead of app for the unlock strategy value.

Spring Boot

  • Flowable has been upgraded to Spring Boot 3.3.1. Please read the Spring Boot 3.3 and Spring Boot 3.2 release notes before upgrading.

  • Note: Flowable provides it's own JwtAuthenticationConverter, when using the new Spring Boot 3.3 properties, then the Flowable OAuth2 Resource Server support will not work. Therefore, we advise not to use the following properties:

    • spring.security.oauth2.resourceserver.jwt.authority-prefix
    • spring.security.oauth2.resourceserver.jwt.principal-claim-name
    • spring.security.oauth2.resourceserver.jwt.authorities-claim-name

React

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

Pentest report

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

Work and Engage Database changes

  • Added a new table FLW_OAUTH_CLIENT_REG to store the information for an oauth client registration.

  • Added new columns CREATION_TIME_ and CREATOR_ID_ to the ACT_APP_APPDEF table to store information about the user and date/time when the app definition is created.

  • Added new column CREATOR_ID_ to the ACT_APP_DEPLOYMENT table to store information about the user doing the app deployment.

  • Added new column GROUP_ID_REF_ to the FLW_IDENTITY_INFO table to be able to link identity info to a group.

  • Added new index on column TASK_ID_ of table ACT_HI_TSK_LOG with name ACT_IDX_ACT_HI_TSK_LOG_TASK.

Microsoft SQL Server Work and Engage Database changes

For Microsoft SQL Server additional database changes have been applied to support NVARCHAR columns for existing VARCHAR columns to be able to store unicode characters in those columns. This is mainly applicable to columns where name and category and other similar values can be stored. See the performance tuning section for SQL server for more information.

  • Modified the NAME_ column to NVARCHAR for the FLW_EVENT_DEPLOYMENT table.

  • Modified the NAME_ column to NVARCHAR for the FLW_EVENT_RESOURCE table.

  • Modified the NAME_, CATEGORY_, DESCRIPTION_ and RESOURCE_NAME_ columns to NVARCHAR for the FLW_CHANNEL_DEFINITION table.

  • Modified the NAME_, CATEGORY_, DESCRIPTION_ and RESOURCE_NAME_ columns to NVARCHAR for the FLW_EVENT_DEFINITION table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_DEPLOYMENT table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_DEPLOYMENT_RESOURCE table.

  • Modified the NAME_, DESCRIPTION_, RESOURCE_NAME_ and DGRM_RESOURCE_NAME_ columns to NVARCHAR for the ACT_CMMN_CASEDEF table.

  • Modified the NAME_, BUSINESS_KEY_ and BUSINESS_STATUS_ columns to NVARCHAR for the ACT_CMMN_RU_CASE_INST table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_RU_MIL_INST table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_RU_PLAN_ITEM_INST table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_HI_MIL_INST table.

  • Modified the NAME_ column to NVARCHAR for the ACT_CMMN_HI_PLAN_ITEM_INST table.

  • Modified the NAME_, BUSINESS_KEY_ and BUSINESS_STATUS_ columns to NVARCHAR for the ACT_CMMN_HI_CASE_INST table.

  • Modified the NAME_ column to NVARCHAR for the ACT_DMN_DEPLOYMENT table.

  • Modified the NAME_ column to NVARCHAR for the ACT_DMN_DEPLOYMENT_RESOURCE table.

  • Modified the NAME_, CATEGORY_, RESOURCE_NAME_ and DESCRIPTION_ columns to NVARCHAR for the ACT_DMN_DECISION table.

  • Modified the NAME_ column to NVARCHAR for the ACT_APP_DEPLOYMENT table.

  • Modified the NAME_ column to NVARCHAR for the ACT_APP_DEPLOYMENT_RESOURCE table.

  • Modified the NAME_, CATEGORY_, RESOURCE_NAME_ and DESCRIPTION_ columns to NVARCHAR for the ACT_APP_APPDEF table.

  • Modified the NAME_ and TEXT_ columns to NVARCHAR for the ACT_APP_VARIABLE table.

  • Modified the NAME_ column to NVARCHAR for the ACT_APP_PAGEDEF table.

  • Modified the NAME_ column to NVARCHAR for the FLW_FO_FORM_DEPLOYMENT table.

  • Modified the NAME_ column to NVARCHAR for the FLW_FO_FORM_RESOURCE table.

  • Modified the NAME_, RESOURCE_NAME_ and DESCRIPTION_ columns to NVARCHAR for the FLW_FO_FORM_DEFINITION table.

  • Modified the NAME_ column to NVARCHAR for the FLW_CO_CONTENT_ITEM table.

  • Modified the NAME_ column to NVARCHAR for the FLW_CO_RENDITION_ITEM table.

Design Database changes

  • Added a new table FLW_DE_MODEL_STAR to store information about the starred models.

  • Added a new table ACT_DE_MODEL_RESOURCE to store the documents / files attached to an app.

  • Added new column ALLOWED_PACKAGE_TYPE_ to the FLW_DE_WORKSPACE table to store the workspace package type app or plugin.

  • Added a new table FLW_DE_PLUGIN to store an installed plugin.

  • Added a new table FLW_DE_PLUGIN_RESOURCE to store the installed plugin resources.

  • Added a new table FLW_DE_PLUGIN_LINK to store in which tenant or workspace a plugin is used.

  • Added a new table FLW_DE_PLUGIN_MODEL_RELATION to store the relations when a model (like a process model) uses something from the plugin.

  • Added a new table FLW_DE_DEPLOYMENT_SERVER_INFO to store information about servers to which Design can deploy for a tenant or workspace.

  • Added a new table FLW_DE_OAUTH_CLIENT_REG to store the information for an oauth client registration.

  • Added new index on column app_model_id of table ACT_DE_MODEL_RELATION with name ACT_DE_IDX_MODEL_REL_APP_ID.

  • Added new index on column parent_model_id of table ACT_DE_MODEL_RELATION with name ACT_DE_IDX_MODEL_REL_PARENT_ID.

  • Added new index on column model_id of table ACT_DE_MODEL_RELATION with name ACT_DE_IDX_MODEL_REL_MODEL_ID.

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.16.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.1.0.18

Service Packs

3.16.1

  • Fixed issue with the MSSQL db upgrade script for the app engine. With the change from varchar to nvarchar 2 columns had an incorrect size value, this has now been fixed.
  • Fixed issue with copy and paste not working for the CMMN, BPMN and form editor.
  • Fixed issues with synchronising changes from the data object model to a linked service model.
  • Added support for app and page name translations in the edit properties dialog for an app and for a page model.
  • Added support to query master data instances with a fallback to the default tenant.
  • Fixed issue with the same deployment property value getting changed to true after importing a model that has it set to false.
  • Fixed issue with the select all option not being shown for a static data table.

Open source dependency version: 7.1.0.18

3.16.2

  • Fixed issue in Work with master data instances API not returning the correct data.
  • Fixed issue in Work where the scrollbar of a query data table behaves inconsistently.
  • Fixed issue in Control where the sort parameter for tables was cached between calls in certain scenarios.
  • Fixed issue in Design with groups/user ids being shown as an empty string when Design is not connected to an IDM REST API.
  • Fixed issue in Design where building custom query models would lead to a frontend error.
  • Fixed issue in Design where included models from a shared workspace could not be removed from another workspace.

Open source dependency version: 7.1.0.18

3.16.3

  • The human task name, description, form key and category values are now updated for existing task instances when performing a case migration.
  • Fixed issue with condition flow not being correctly evaluated when used in a collapsed sub process.
  • Fixed issue with an action instance for a manual activation human task in a stage not getting cleaned when terminating a case instance.
  • Fixed issue with stages getting automatically completed when using a cmmnRuntimeService.setVariable expression.
  • Reduced the default time interval to an hour for when metric information, including license user info, is written to the database. This was previously one minute, which could result in extra database load.
  • Fixed a regression issue introduced in 3.16.0 that didn't correctly handle array responses for a REST button in a form.
  • Fixed issue when using the ignore validation option on an outcome button and clicking this outcome button that the whole form is considered valid. Also added an explicit option to choose if error messages should be hidden when using the ignore validation option.
  • Added an option to define the REST button response as use full response value, so that the response mapping can be done on a full response object, including headers, status and body.
  • Fixed issue with the tabs are clickable for a wizard even when the current tab form field is not valid. Also, an option has been added to disable the tab clicking feature fully for a wizard component in Design.
  • Fixed issue with a data table export not working correctly and missing the data table row values.
  • Fixed issue with a service button endpoint url containing two forward slashes, e.g. // in the endpoint url.
  • Added option to define a row url for data object and query data tables, similar to a regular data table component.
  • Fixed issue with navigation from a child case to the parent case using expression values.
  • Fixed issue when a script task in a CMMN model uses expression notation (${} or #{}) and an exception being thrown when this is encountered Flowable Platform. This is now handled correctly and no exception is thrown.
  • Fixed issue with not being able to add a participant to an archived conversation.
  • Added version history and model diffing support for all other model types in addition to the already supported Case, Process and Form model types.
  • Added support for importing apps with shared workspace models into the shared workspace instead of importing all models to the app and current workspace.
  • Added support to migrate from Angular Design to React Design 3.16 with keeping existing tenants instead of moving to one tenant with multiple workspaces. This will only be needed if you are using React Design in a real multi tenant scenario. The property that should be set to enable the migration to React Design 3.16 with keeping the tenants is flowable.design.tenant-workspace-upgrade-strategy=multi_tenant. See the Design Migration Guide for more information about it
  • Added support for displaying message flow elements.
  • Exit sentries are preserved also for non blocking tasks. Note that it's not advised to use exit sentries on a non blocking task.
  • Added support for new lines for sequence flow name values on import.
  • Fixed issue with complex custom palette properties not getting imported correctly in Design.
  • Added support for custom palette panel types.
  • Fixed issue with importing a Angular Design form model using inner panels into React Design.
  • Fixed issue where palette definitions from the default tenant where not accessible in the palette management UI for users from other tenants.
  • Added support for defining a send task to be executed synchronous, instead of the default asynchronous execution.
  • Fixed issue where the import/export of models with housekeeping tasks was not working correctly.
  • Fixed issue where the failed job retry time cycle was not exported for all non-standard BPMN tasks.
  • Fixed issue to show the require content model option on an attachment field in the form editor.
  • Fixed issue that boundary events could be added to an event sub process.
  • Fixed issue with intermediate catch events not allowing to be transformed into another event type.
  • Fixed issue with the saveResponseVariableAsJson property not getting imported correctly for models using a HTTP task.
  • Fixed issue where copy and paste was not working correctly from a form editor dialog.

Open source dependency version: 7.1.0.20

3.16.4

  • Fixed issue with an already deployed case model throwing validation errors.
  • Fixed issue with event subscriptions query not working correctly due to the usage of a wrong MyBatis type handler.
  • Fixed issue with exposing a user task as an action message to a conversation.
  • Fixed issue with entering a date / time value in a form date field and not being able to complete the form.
  • Fixed issue with a service button not working correctly on an action button form.
  • Fixed issue with handling document security policy permissions when deleting a content item on a form.
  • Fixed issue with a data table doing continuous GET requests.
  • Fixed issue that prevented reordering of outcomes in the form editor.
  • Fixed issue with content model name not being configurable for multiple languages.
  • Fixed issue with the text display form field not being able to define a value per language.
  • Fixed issue with configuring a topic ARN value for an SNS outbound channel.
  • Fixed issue where data dictionary mapped fields in a data object were not shown in the service editor.
  • Fixed issue with the permission group config switching to text when using an expression.
  • Fixed issue with using another primary language rather than English in Design and not seeing the correct values getting used for English in the Work UI.
  • Fixed issue with the default indexing filtering type value getting a wrong empty value on import.
  • Fixed issue where referencing a cyclic sub form form could lead the form editor to stop working.
  • Fixed issue exporting a process using the Send Whatsapp interactive message task using a message type of list with multiple sections.
  • Fixed issue with importing a form with tab panels from an Angular Design export.
  • Fixed issue with custom palette attributes not getting exported and imported correctly.
  • Fixed issue with title value configured with flowable.design.frontend.title not shown correctly as page title.
  • Using a hash value for anonymized users in the license usage export.
  • Updated Mxgraph dependency to the latest available version to resolve a vulnerability.
  • Upgraded to Spring Boot 3.3.4.

Open source dependency version: 7.1.0.24