Initial release 3.10.0, July 29, 2021
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.
The Flowable Open Source project also has extensive documentation available which can be found at https://flowable.org/documentation.html.
Added data object lookup, search, create, update and delete tasks to BPMN and CMMN to work with data objects in a process or case model.
Introduced data object select and data table form components to support working with data objects with out-of-the-box form components.
Added support for detached data objects that allow a Modeler to delay updating the data object to allow for four-eyes principle or other validation steps before the data object is updated.
It's now possible to reactivate completed / historic case instances with the reactivation action. The reactivation logic can be modeled with a reactivation listener. When a completed / historic case instance is reactivated, the case instance is active again.
Added support for enabling autosave for task forms.
Added support for defining allowed or blocked lists of values for the input payload of a task, work or case page form. Either the allowed values for the payload can be defined, and all other properties will be excluded from the payload, or the blocked values can be defined, and these properties will be excluded from the payload.
A variable listener has been added to allow for BPMN and CMMN models to listen to changes for a specific variable and handle this trigger in the model.
Query definitions for Elasticsearch can be deployed to Flowable Work without having to restart the server anymore.
Variable extractors that allow for new variable values and new full text search values in Elasticsearch can be deployed to Flowable Work without having to restart the server. For variable extractors that require changes to the Elasticsearch index definition it's still necessary to use the already existing classpath resource approach that does require a server restart.
Added an optimization flag for asynchronous multi-instance usage when the multi-instance is an automatic step or a sequence of automatic steps. If set, the engine will drastically lower resource consumption, do away with optimistic locking exceptions and typically be more performant.
Added an embeddable case view component that can be used to render the case view in any third party application using frontend frameworks like React, Angular and Vue.
A mapping can be done to map a LDAP group membership to a user definition. In this way a user that belongs to a configured group will get assigned the user definition with its allowed features.
Added i18n support for master data instances.
Added i18n support for content types.
CRUD authorization can be defined on service registry models to limit the user groups that can execute a service registry operation.
Added support for the latest version of Microsoft Edge.
Improved support for out-of-the-box integration with OAuth 2.0 and OpenID providers.
Improved internal build tool for Work UI extensions (Flowbuild) providing great flexibility for custom builds based either on Webpack or Rollup. Also, as part of this rewrite we have removed node-saas dependency (already deprecated) and added dart-saas.
Added support for receiving WhatsApp Template Quick Reply Button messages and Interactive List and Button Reply messages. When such a message is received in addition to the message being routed to the conversation (when an active user account exists) an Event Registry System Event with the key _flowableEngageExternalMessageReceived will be thrown as well.
When a conversation is open in Flowable Engage a change into the status of a timed out Whatsapp / WeChat conversation is handled in real time and the conversation is made readonly when a conversation has timed out, or the conversation will be editable again when the conversation is made active again.
Added support for always sending an Event Registry System Event with key _flowableEngageExternalMessageReceived for every received external message by setting flowable.external-system.inbound-message-routing.always-send-system-event to true.
In the template management app the external id value can now be updated for existing templates.
The spell check is enabled for the message box in Engage.
Refactored data object and service registry models, it's now easier to navigate between data object models and connected service regsitry models. Database and REST backed data objects can now have multiple lookup, search, update, create and delete operations.
A reactivation listener is added to the CMMN editor palette to model reactivation logic.
A variable listener has been added to the BPMN and CMMN editor to listen to variable changes.
A data object select and data table component have been added to the form editor to support using data objects in the form model in a direct way.
A new model type for query models has been introduced. This makes it possible to define query models for Elasticsearch as part of an app model now.
A new model type for variable extractor models has been added to support defining new variables and full text search values as part of an app model.
Added support to define custom validations for BPMN by implementing the ValidatorSet interface.
The lookup of content models for the content type selection on an attachment field in the form editor has been changed to the standard model lookup component that is also used for sub processes, forms etc.
The lookup of action models for the action selection on an action button field in the form editor has been changed to the standard model lookup component that is also used for sub processes, forms etc.
Improved handling of model key changes. When a model key is changed a best-effort is done to change the model references in other models within the same app. Still a verification is needed to make sure all references are working as expected.
Added support for CMMN plan fragments. Plan fragments are only relevant for modeling, the CMMN runtime engine ignores plan fragments and only handles the plan items inside the plan fragments.
Improved export and import of BPMN and CMMN models with additional attributes being exported for flows and associations and improved handling of text annotations.
When importing app models, the name and description of the included models will be updated when the model already exists in the Design database.
- The case instance and process instance terminate logic now ignores evaluation of complete / terminate (lifecycle) listeners. This ensures that a case instance or process instance can always be terminated.
A new Flowable Mobile application has been developed to support working with cases, processes, tasks and documents on a mobile phone.
The list of work instances (cases and processes) and tasks for the logged-in user can be browsed through, and the details of the work instance and task van be viewed.
Attached documents to a work instance or task can be previewed and downloaded.
Task and work forms can be viewed and edited in the application, where the form support is limited to the core form fields like text, number, select, attachment etc.
The mobile application supports theming, which can be defined in the Flowable Work instance the mobile application is connecting to.
The data object functionality has been refactored and improved in Design and Work. Because a lot of changes have been made to simplify and enhance the usage of data objects, this can impact existing data object models in Design. In Work backward compatibility is implemented to make sure existing data object models still work as expected. In Design the necessary work to still be able to open existing data models has also been done, but make sure to have a look at the documentation to understand the new data object features.
In Flowable Engage the logic for extracting event payload is moved for the EventRegistryInboundMessageAccountService to a new interface InboundMessageEventPayloadExtractor. The default of that implementations is in DefaultInboundMessageEventPayloadExtractor.
There has been a change in the way a process / case instance is started from an event from the event registry. Instead of starting the process / case asynchronously, it is started synchronously. Using this default value allows correct processing of in-order event coming on the same topic. In case in order processing is not important you can configure that as part of your model by marking the Event Registry Start event as async or marking the Case Model as async in Design. If you want to go back to the previous default you can set the following properties: flowable.process.event-registry-start-process-instance-async and flowable.cmmn.event-registry-start-case-instance-async to true.
A new table FLW_PL_DEPLOYMENT has been added to support deployments of query definition and variable extractor models to the Platform engine.
A new table FLW_PL_DEPLOYMENT_RESOURCE is added to store deployment resources for deployments to the Platform engine.
A new table FLW_QUERY_DEFINITION is added to store information about the deployed query definitions to the Platform engine.
A new table FLW_VAR_EXT_DEFINITION is added to store information about the deployed variable extractor definitions to the Platform engine.
- Base Spring Boot version should be upgraded to at least 2.5.2
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.10.0 release.
It's advised to upgrade your open source dependendencies to the 'compatible' version mentioned below (and mentioned in the subsequent
Service Packs section)
Open source dependency version: 188.8.131.52
Fixed issue with the custom task type attribute and delegate expressions.
Added support for displaying new Whatsapp emojis on Windows.
Open source dependency version: 184.108.40.206
Fixed issue with multi language text in an user event listener form.
Fixed issue with null values in a JSON array variable.
Fixed issue with re-rendering a data table when it is used in a tab, and after collapsing and expanding it.
Case view is refreshed after clicking on an action button.
For the embedded mobile view in Flowable Engage, the attachment icon now follows the attachment feature flag.
Fixed issue where a custom request parameter in a url caused the create dialog to not function correctly.
Fixed issue with history audit trail not showing the list of audit events.
Fixed issue with deploying a mapping extension without a query definition.
Fixed issue with the data table hover effect not being shown.
Improved handling of large content item data to prevent out of memory errors.
Prevent an app export in Flowable Design from failing when the XML of a BPMN or CMMN model can not be created.
Fixed issue with buttons in a data table not responding on click.
Fixed issue with link modal disappearing when selecting it in the rich text editor.
Fixed issue where locking information in Flowable Design was not being shown.
Updated Apache Tika version to 1.27.
Open source dependency version: 220.127.116.11
Improved trial download on https://flowable.com/trial/ with a new tutorial focusing on the data object support.
The delete data object task in BPMN and CMMN has been changed slightly: it now deletes the 'input variable', by default (if configured). This shouldn't normally pose a problem, as the main use case of the 'input variable' is to pass the in a data object variable that needs to be deleted. In both situations, referencing the variable will resolve to null. The difference is that now the variable is fully removed from the process or case instance, where before the variable existed but always would resolve to null. This can be disabled through configuring the operation.
When there is no license present and the license mode is set to database and the logged-in user is an admin, a warning message with a link to the license dialog is shown.
When there is no license present and the license mode is set to database a dialog is presented in Design to upload the license file.
Added two new FE functions to work with HTML and scripting content in forms:
- flw.sanitizeHtml(dirtyHtml) for sanitizing from XSS attacks any HTML string.
- flw.escapeHtml(html) for escaping any HTML to print it instead of rendering it on the DOM
Fixed issue where the case view was showing a completed task in editable instead of readonly mode.
Fixed issue in the case view where the navigation items were not refreshed after execution an action on the case instance.
Fixed issue with a sub task not being created in Flowable Work.
Fixed issue with identity info items with an empty / null value not getting updated.
Fixed issue with custom query models requiring a name value. When a key value is present this is sufficient and this value will be used to lookup the query model.
Fixed issue with multiple plan item on parts in Design.
Fixed issue with the list of possible output values in a decision table in Flowable Design was not exported and imported correctly, and the values were lost on import.
Fixed issue with an expandable panel in a data table having a REST button and the expand toggle not working.
Fixed issue with an ignored panel still changing the payload of a form.
Fixed issue where the add button of a multi sub form was not working.
Fixed issue where the data table configuration was shared between different data tables with the same column id.
Fixed issue with a data table breaking the layout when changing the column size.
Fixed issue with a data object table or select not responding to a form payload change to filter the data object items.
Open source dependency version: 18.104.22.168
Added support for moving data from one tenant to another in the PlatformManagementService.
Fixed issue where the user in the list was not shown after deactivating the user in the contacts app.
Fixed issue where columns in a data table were not correctly aligned with the header and content.
Fixed issue where the plan item instance lifecycle listener wasn't invoked for a wait for repetition status change.
Fixed issue to copy transient variables as transient in the sub process instance, when using a call activity with copy all variables.
Open source dependency version: 22.214.171.124