We’re excited to announce that Camunda BPM platform 7.10.0 is now available. Highlights from Camunda 7.10.0 include:

  • History Cleanup across hierarchies
  • Fetch and Lock External Tasks based on Process Definition and Tenant
  • Extending the “Handle External Task BPMN Error” API
  • Tasklist-startable Process Definitions
  • Configure Business Key in Delegation Code
  • Additional Supported Environments
  • 89 Bug Fixes

You can download Camunda 7.10.0 for free or run it with Docker.

Also included in the release:

To see a complete list of the changes, please check out our Release Notes
and the list of Known Issues.

If you want to dig in deeper, you can find the source code on GitHub.

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.

History cleanup across hierarchies

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:

externalTasks = externalTaskService.fetchAndLock(2, "aWorkerId")
      .topic("createOrder", 10000)
      .processDefinitionId("aProcessDefinitionId")
      .withoutTenantId()
      .execute();

This is available in the REST API as well. For more information please see the REST documentation.

The feature is exposed in the latest version of the external task clients Node.js client and Java client.

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.

externalTaskService.handleBpmnError(externalTaskId, "aWorker", "ERROR-SPEC-10", "anErrorMessage", variables);

This is available via the Java API and REST API.

The feature is exposed in the latest version of the external task clients for Node.js client and Java client.

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:

public class SetNewBusinessKeyDelegate implements JavaDelegate {
   public void execute(DelegateExecution execution) throws Exception {
    execution.setProcessBusinessKey("businessKey");
  }
 }

You can find more information about the delegation code in our User guide.
Not familiar with business keys? Check out this blog post: How to Use Business Keys?

Additional Supported Environments

Support for Java 9 / 10 / 11

Camunda BPM is now on the cutting-edge of Java, and this release brings support for Java 9 & 10 as well as for Java 11.

Extending our Database support

Version 7.10.0 also extends Camunda BPM database support, now adding PostgreSQL 10.4 and MariaDB 10.3 to our supported environments.

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.

You can contact us via the Camunda user forum.

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.

  • Monitoring Camunda Platform 7 with Prometheus

    Monitoring is an essential facet of running applications in a production system. Through this process, organizations collect and analyze data, and determine if a program is performing as expected within set boundaries. When combined with alerting, monitoring allows for detecting unexpected system behavior to mitigate exceptional situations as fast as possible. Furthermore, tracking the performance of a system enables organizations to improve those aspects that have the biggest impact with higher priority. One essential aspect of monitoring is the list of key metrics you want to observe. There are different categories of statistics that can be of interest here. To observe the defined metrics, there are plenty of application monitoring tools on the market today. They differ in many aspects...

    Read more
  • Securing Camunda 8 self-managed cluster and applications...

    Directory services are an effective way to manage an organization’s users, groups, printers, devices, and more. Most organizations accomplish this using Active Directory, Apache Directory, Oracle Internet Directory, or other similar tools. Recently I worked with a customer who wanted to see how he could secure the Camunda 8 Platform and process applications with such a directory. Their requirements consisted of: Allowing Directory users to access Camunda applications (Tasklist, Operate, Optimize) Accessing secured Tasklist & Operate APIs from our custom project Securing the custom project In this article, I’ll briefly explain the 3 easy steps taken to fulfill their requirements which include: Federate users from the Directory service into Keycloak Declare an application in Identity to access Camunda APIs Configure...

    Read more
  • Accelerate Connectivity with Camunda Platform 8.1

    We’re thrilled to announce Camunda Platform 8.1, the latest release of our process orchestration solution. This new version introduces features that accelerate connectivity to the many different systems and technologies that are required for true digital transformation, including: Create custom Connectors with our Integration Framework to accelerate connectivity New out-of-the-box Connectors for popular services Enhancements to Camunda Modeler that improve productivity Hot backups and official support for Amazon EKS and Red Hat OpenShift Plus, several upgrades requested by Camunda Platform 7 customers Organizations across all industries rely on complex technology stacks to adapt and enhance their operations in response to market dynamics, new disruptive companies, and increasing consumer expectations. Your technology stack likely includes everything from cutting-edge technologies to legacy...

    Read more

Ready to get started?

Still have questions?