License

The Flowable project is distributed under Apache license V2.

Documentation

Links

Flowable Release Notes

Release Notes - Flowable - 6.3.0

Flowable 6.3.0 has turned out to be a big release with many new features (and even more fixes). Many thanks to all the community contributers that participated in the release and a special shout-out to Pascal Schumacher, Zach Visagie, Robert Hafner, Christophe Deneux and Seif El Deen Khaled

Highlights

Note: Flowable now requires JDK 8 as a minimum version!

GENERAL

The Spring Boot starters have all been updated to version 2.0. There are now starters available for each engine (BPMN, CMMN and DMN). Check the completely revised documentation for more details!

BPMN

CMMN

DMN

APPS

Upgrade notes

To remove duplicate code, some more logic has been added to the common modules, such as flowable-engine-common and flowable-common-rest. For example, the scripting engine has been moved to the flowable-engine-common module so it can be used by both the BPMN and the CMMN engine. If you are using Flowable internal classes then it is possible that some package changes to the common modules are required. Most of this should be automatically handled by your IDE.

All Flowable apps (IDM, Modeler, Task, Admin and REST) now read their configuration from the flowable-app.properties file, which is included in each WAR file in the META-INF/flowable-app folder. Consequently, a single, shared flowable-app.properties can be placed on the classpath for all apps. All property files (e.g. db.properties for the REST app) are still read and work in a backwards-compatible way.

The default way user credentials are authenticated and verified when calling the Flowable REST API has changed. A user now needs to have the access-rest-api privilege (before, any valid credentials could be used). An admin user can be given this privilege by setting the flowable.rest.app.admin.user-id and flowable.rest.app.admin.password properties in the flowable-app.properties file. On start-up, the admin user will be created if it doesn't exist, or it will be given the access-rest-api privilege. This admin user can then give other users this privilige using the Flowable IDM app or through a REST call (doing an HTTP post to privileges/{privilegeId}/users with the userId in the body).

By default, all Flowable apps (IDM, Modeler, Task, Admin and REST) are configured to use an in-memory H2 database that is persisted in the user home folder, which is shared between all apps by default. Previously, each app had its own in-memory H2 database.

Due to upgrading to the latest Spring Security dependencies for handling the authentication for all the Flowable apps, users can get a "cookie theft exception" when accessing the apps with a cookie from a previous version that is still present in the browser. The reason for this is that Spring Security has changed the way cookie tokens are hashed. A hard refresh or relogin fixes this by generating a new cookie. If you don't want to force your users to do this, you can delete all rows from the ACT_ID_TOKEN database table. This will invalidate all old cookies and all users will have to login again.

Release Notes - Flowable - 6.2.1

Highlights

Community contributors

Upgrade notes

To harmonize the deployers between the BPMN and CMMN engine the ProcessEngineConfigurator interface has been renamed to EngineConfigurator and moved to the flowable-engine-common module. In addition a new flowable-spring-common module has been added to shared common Spring classes between the BPMN and CMMN spring modules.

Release Notes - Flowable - 6.2.0

Highlights

Community contributors

Upgrade notes

Because of the extraction of the Task, Variable, Identity Link and Job services, we had to change the package names of the classes used in these modules. This means that for example TaskQuery and Job Query have been moved to a new package. This was done to adhere to OSGi standards and to be ready for the new Java 9 version. This however does mean that you run into some compilation issues while migration to version 6.2.0. We always try to prevent this as much as we can, but due to the new modules this wasn't possible in this release. The common naming pattern of these new service is org.flowable.{servicename}.api for the API module and org.flowable.{servicename}.service for the service implementation module. So org.flowable.task.api and org.flowable.task.service for example.

Release Notes - Flowable - 6.1.2

Bug fix release

Thanks to whee we found out that there's an issue with the release 6.1.1 when running it without an Internet connection https://forum.flowable.org/t/upgrading-6-1-0-to-6-1-1-could-not-read-idm-mybatis-configuration-file/753. This was fixed with the following commit https://github.com/flowable/flowable-engine/commit/7338015dc8aadc984ff9dd4ad3385b6a7b4ace6f. Although an Internet connection is often available, we decided to do a bug fix release to prevent people from running into this issue.

Release Notes - Flowable - 6.1.1

Highlights

Community contributors

Upgrade notes

CommandContext and related classes package changes:

As a result of a refactoring that involved consolidating various classes and moving them to the flowable-engine-common module, following internal classes have changed packages.

The following applies to all engines (process, dmn, form, content and idm):

The process engine now has the org.flowable.engine.impl.util.EngineServiceUtil utility class that can be used to get easily access to the configuration and services of the other engines.

FlowableCancelledEvent.getCause() return value change

The value that's passed in the cause of a org.flowable.engine.delegate.event.FlowableCancelledEvent has changed in the following cases:

Instead of passing an entity instance (MessageEventSubscriptionEntity, SignalEventSubscriptionEntity or JobEntity respectively) the BpmnModel counterpart, as an instance of a subclass of org.flowable.bpmn.model.FlowElement, is passed instead which is consistent with the general value of the cause property. Do note that due to the fact the return type of getCause() is Object, the compiler will not notice this, so best to look at the usage of the FlowableCancelledEvent in your code.

Release Notes - Flowable - 6.1.0

Highlights

Release Notes - Flowable - 6.0.1

Highlights

Release Notes - Flowable - 6.0.0

Highlights

Release Notes - Flowable - 6.0.0.RC1

Highlights

Release remarks