We are happy to announce the second alpha release of Camunda Automation Platform 7.18. This release features the following improvements:

  • Filter and sort tasks by last updated
  • BPMN parse listener for I/O mappings
  • Unified Expression Language (EL) pluggability
  • Java Fluent BPMN Builder API: Pass business key to called process instances
  • Support for Spring Boot 2.7
  • 8 Bug Fixes

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

For a complete list of all improvements, take a look at the release notes. Please also see the list of known issues.

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

Filter and sort tasks by last updated

The task query API lets users find and filter tasks by many different query criteria. With the upcoming release, we will add one more to the Java and REST task query API: filter by last updated.

For example:

taskService.createTaskQuery()
    .updatedAfter(myDate)
    .orderByTaskUpdatedAfter()
    .asc()
    .list();

This call will return all tasks which were last updated after (excluding) the specified date (myDate) and sorted by when they were last updated in ascending order. This comes in handy when your application holds a list of tasks and you need to keep them up to date. Now you can restrict the results to only those tasks that changed after the previous request.

When are tasks updated?

Users can change the state of a task in many ways. Direct changes to the properties of a task, like setting a new assignee or adding a description, are obvious. But other entities that are tied to the task can also change. Adding an attachment to a task will not change the task entity itself; instead, it will link the new attachment object to the existing task. This is also considered to be a change to the task entity. Other examples could be adding a comment to a user task or creating/updating a local task variable.

All these operations will fire an update event within the task event lifecycle. Users can already write task listeners that perform operations every time a special event occurs. The new query API property is based on the same event. Find more information on the task event lifecycle in the documentation.

BPMN parse listener for I/O mappings

BPMN parse listeners have been around in Camunda Platform 7 for quite some time. They usually come as a part of a process engine plugin, allowing you to modify the parsed elements of your process models in a convenient way without touching the actual BPMN files, for example. With Camunda Platform 7.18.0-alpha2, you can adjust the I/O variable mappings of your models when they are parsed. The BpmnParseListener interface comes with a new parseIoMapping method that is called for all I/O mappings upon parsing.

This feature was contributed by our community member ZhengJian (@9n). Thanks a lot!

Unified Expression Language (EL) pluggability

Camunda Platform 7 includes Unified Expression Language (EL) support. By default, the engine supports writing expressions in JUEL. Replacing this default with something like SpEL has always been possible; however, the engine relied on some JUEL-specific implementations that you needed to overwrite which doesn’t make for a great API and customization experience.

Therefore, version 7.18.0-alpha2 refines the class structure used for EL support and makes the API more convenient in that regard. Instead of overwriting a JUEL-specific expression manager class and adjusting its defined methods as necessary, you can now simply start by implementing the all-new ExpressionManager interface. You can now tailor all methods as needed by the underlying EL parser and not as defined by our default JUEL-based implementation. If you simply want to extend our default implementation, you can still do this by subclassing the JuelExpressionManager.

If you want your custom expression parser to be available in the DMN Engine as well, simply implement the ElProviderCompatible interface. The process engine configuration will pass on your custom implementation to the DMN Engine.

This feature was contributed by our community member ZhengJian (@9n). Thanks a lot!

Java Fluent BPMN Builder API: Pass Business Key down to called process instances

The Java Fluent BPMN Builder API allows the creation of simple process definitions in Java. This release adds the ability to pass a business key to the called process instance from a call activity.

Here you can find a simple Java example:

ProcessBuilder process = Bpmn.createProcess();

BpmnModelInstance instance = process
  .startEvent()
      .callActivity()
        .camundaInBusinessKey("my-business-key")
  .endEvent()
  .done();

Support for Spring Boot 2.7

Camunda 7.18.0-alpha2 features support for the latest minor version of Spring Boot. You can use version 2.7 in your Spring Boot application together with the Camunda Platform Spring Boot Starter.

Make sure to check out the release notes of Spring Boot 2.7 for further details on what’s new.

Share Your Thoughts with Us!

Your feedback is really important to us, so please download Camunda Automation Platform 7.18.0-alpha2, try it out, and let us know what you think about it.


You can contact us in the forum, send a tweet to @Camunda, or file a bug in our ticket system.

Ready to get started?

Still have questions?