History Cleanup Across Hierarchies

When creating a BPMN process, it is possible to introduce Call Activities which can in turn reference BPMN processes.
This makes it possible to model process hierarchies spanning multiple levels.

Previously, historical data related to child processes was cleaned-up without taking the runtime of the
top-level process into account. This led to inconsistencies, as it was possible that the historical data of child
processes was cleaned-up before the respective top-level process instance has been finished.

Starting with this release, a new cleanup strategy has been introduced to tackle this issue: each historical instance
inherits the removal time of the top-level process instance. This ensures historical data is always cleaned up consistently.

To learn more about how the new cleanup strategy works, please see the updated
History Cleanup documentation.

Fetch and Lock External Tasks based on Process Definition and Tenant

External tasks are the right pattern for you when some logic needs to be implemented/executed outside of the engine. With this approach, the process engine publishes a unit of work for a worker to fetch and complete. In this release, the fetch and lock mechanism is extend further by filtering tasks based on two new options - process definition and tenant id. You can find a
java example below:

Extending the “Handle External Task BPMN Error” API

During process execution, a business error can occur. In the world of external tasks, the worker can report a BPMN error to the process engine by using handleBpmnError method of the ExternalTaskService (or the respective REST API endpoint). The method can only be invoked by the worker possessing the most recent lock for a task. When reporting this kind of BPMN errors, additional data in the form of an error message and variables can now be passed. This additional information can then be used later in the process flow.

Tasklist-startable Process Definitions

Imagine you have a process that’s referenced from a call activity of a parent process, or a process with a message, signal or conditional start events. Usually, such processes
are not intended to be started directly, but rather triggered by some internal events. Until now, they would still be shown under the Tasklist “Start process” menu.
Now, with the new process attribute “isStartableInTasklist”, you can define whether the process should be startable from Tasklist or not.

You can find a simple example of a process and further documentation in the user guide.

Please note that the user needs the following permissions to see a process definition in this list, and of course, to start one:

CREATE permission for all process instances

CREATE_INSTANCE and READ permissions at the process definition level

Configure Business Key in Delegation Code

Version 7.10 makes available the much-requested option to configure the business key of an already running process instance. The setting can be done inside delegation code (Execution listener, Task listener or Java delegate implementation). Here is an example:

Extending our Database support

A Single WildFly distro

Finally, from Camunda BPM 7.10.0 onwards, a single WildFly distro will be provided, always with the latest version of WildFly (currently WildFly 14). New Camunda BPM users who wish to use Camunda with WildFly 8 or WildFly 10-13 will need to do a full manual installation on the appropriate vanilla WildFly application server. WildFly 8 continues to be supported through a separate camunda-wildfly8-subsystem (included with this archive).

And Much More

There are many smaller features and bug fixes in the release that aren’t included in this blog post. The full release notes provide the details.

Register for the Webinar

If you’re not already registered, be sure to secure a spot at the free release webinars, which is offered in German and English.

Your Feedback Matters!

With every release, we strive to improve Camunda BPM. To make this possible, we rely on your feedback. Feel free to share your ideas and suggestions with us.

Furthermore, if you have any feedback related to user experience, things that keep annoying you, things that you think should work differently, and so on, please share your thoughts with us at https://camundabpm.userecho.com.