Flowable 6.4.0 release
FlowFest 2018 Developer Conference
Join us for the first Flowable Open Source Developer Conference in Barcelona. You can register here: https://flowable.com/flowfest2018. If you want to present a session about Flowable please get in contact with us, for example via the Flowable Forums
Highlights
- A first version of process instance migration has been added to the Flowable BPMN Engine. In the RuntimeService you can now use the createProcessInstanceMigrationBuilder to define and execute the process instance migration. This first version supports migrating process instances with wait states, embedded (event) sub processes and boundary events. In the next version more support will be added for more complex cases like parallel and inclusive gateways, multi-instance activities and call activities.
- Expression support have been added for the BPMN and CMMN engines to make it easier to work with variables and in specific variables that may not have been initialized yet. When you reference a variable in an expression like ${customerNumber > 40} and there is no customerNumber variable yet, an exception would be thrown. With the variable expression support this can be handled without an exception with
${variables:getOrDefault(customerNumber, 0) > 0}
. A similar expression is possible for strings with${variables:get(customerName) == "test"}
. The user guide describes the full set of available variable expressions. - A first version with support for MongoDB persistence has been added. The MongoDB module is available from a separate Git repository at https://github.com/flowable/flowable-mongodb. The MongoDB module is made available in a separate repository, so that it can be released in a different pace than the full Flowable Engine releases. The support of MongoDB already includes most BPMN constructs, but in the coming releases it will be extended to be on par with the relational database support.
- Upgrade to Spring 5.x for all the integration modules using Spring.
- Added plan item lifecycle listener to the CMMN engine, to allow for listening to plan item instance state changes.
- In the Task app support for activating manual plan items and triggering user event listeners has been added.
- Added support for JUnit 5.
- Support for using java.time.Duration variables and expressions for Timer durations.
- Chinese translation has been added for the UI apps.
- Various small bugfixes and improvements all around.
Upgrade notes
Idm Engine SpringEncoder
The deprecated constructor from SpringEncoder that accepted org.springframework.security.authentication.encoding.PasswordEncoder
has been removed
Custom IdGenerator using a Bean in Spring Boot
It is now possible to define the custom IdGenerator for the Flowable Process engine, by creating a bean of type IdGenerator
. If no bean is provided the StrongUuidGenerator
will be used. If there is a bean qualified with @Process
then this one would be used, otherwise a unique global one would be used. If there are more global beans then the default StrongUuidGenerator
will be used.
FlowableFunctionDelegate changes
The method functionClass
has been removed from the org.flowable.common.engine.api.delegate.FlowableFunctionDelegate
interface. This doesn't change anything with regards to adding custom functions to expressions: returning the right Method in functionMethod()
is enough.
The tomcat-flowable zip download is only intended for quick demos as it uses the H2 database.