Flowable engineering blog post hero


Flowable 6.1.1 release

JULY 21, 2017

Author: Tijs Rademakers

Today we released a new version of Flowable with the 6.1.1 release.

The 6.1.1 release has the following highlights:


  • Introduction of audit history in the DMN Engine. When history is enabled in the DMN Engine, an audit log of each decision execution is stored in the DMN database. By default the history is disabled.

  • Replaced the MVEL expression language in the DMN Engine with the same JUEL expression language as used in the BPMN and Form Engine.

  • Refactored DmnRuleService with new ExecuteDecisionBuilder and deprecated old execute decision methods.

  • Call activity: allow to set output parameters a local variables for multi instance executions.

  • Easier usage of async history in combination with a message queue (see https://github.com/flowable/flowable-examples/tree/master/async-history)

  • Performance improvement: introduce grouping and compression for async history data.

  • Various small bugfixes all around.

Community contributors

  • Faizal Abdul Manan (faizal-manan)

  • David Malkovsky (dbmalkovsky)

  • Harsha Teja Kanna (h7kanna)

  • Lori Small (lsmall)

  • bsydow

  • stephraleigh

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 CommandContext class is now in the org.flowable.engine.common.impl.interceptor package.

  • The various getter methods on the CommandContext that gave quick-access to various internal components are removed (because the CommandContext is now shared between all engines). All engines now have a CommandContextUtil class that should be used instead and which has said getter methods. The org.flowable.engine.impl.context.Context utlity class in the process engine is still there for backwards compatibility and can be used as before, but simply delegates to the CommandContextUtil methods.

  • The classes related to the command stack interceptors (CommandCommandContextInterceptorCommandExecutorLog/Jta/RetryInterceptor) are now in the org.flowable.engine.common.impl.interceptor package.

  • The DbSqlSession and DbSqlSessionFactory classes are now found in the org.flowable.engine.common.impl.db package.

  • Database schema management logic has moved from the DbSqlSession class to implementations of the org.flowable.engine.common.impl.db.DbSchemaManager interface.

  • The GenericManagerFactory class is now in the org.flowable.engine.common.impl.persistence package.

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:

  • The event that is thrown for activities cancelled by a message boundary event.

  • The event that is thrown for activities cancelled by a signal boundary event.

  • The event that is thrown for activities cancelled by a timer boundary event.

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.

A big thank you to the whole Flowable team for making this release possible. You can use the forum to ask specific questions about the 6.1.1 release, any feedback is welcome.

Tijs_Rademakers_MG 8595

Tijs Rademakers

VP Engineering

BPM enthusiast and Flowable project lead.

Share this Blog post
Engineering | FEBRUARY 19, 2024
The Value of AI in Modeling

As AI gains prominence as a pivotal technology and enterprises increasingly seek to leverage its capabilities, we are actively exploring diverse avenues for integrating AI into process automation.

Engineering | OCTOBER 3, 2023
Low-code, High Impact: Flowable & CMMN for Complex Use Cases

The key to managing complexity is to combine different and multiple tools leads to better, faster, and more maintainable solutions. For example, combining BPMN with CMMN.

Engineering | OCTOBER 2, 2023
The New Flowable eLearning Platform

Discover the reasons behind our brand-new Flowable eLearning platform and explore its features by registering for our inaugural free course.