Camunda Team Blog

Camunda BPM 7.11.0 Released

Written by Camunda BPM Team on , under Execution category.

We are excited to announce that Camunda BPM platform 7.11.0 is now available. Highlights from Camunda 7.11.0 include:

  • Operator Authorizations
  • Operator and Admin Auditing
  • Return Variables on Task Completion / Form Submission / Message Correlation
  • Asynchronously set Removal Time on Historical Data
  • BPMN Error Event Triggering from Execution Listeners
  • Fluent Java Testing API
  • Additional Supported Environments
  • 92 Bug Fixes

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

Also included in the release:

For a complete list of the changes, please check out our Release Notes and the list of Known Issues. For patched security vulnerabilities, see our Security Notices.

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

Fine-Grained Operator Permissions

Cockpit is the swiss army knife for your process operations. It provides the transparency to identify problems and empowers your operators to react whenever necessary. When you run critical business processes with Camunda, avoiding unwanted modifications to your data is important. That’s why 7.11 adds new permissions that let you give your users exactly those permissions that they need to perform their task best.

operator-permissions

Giving an operator the permissions to retry jobs and suspend process instances

You can now control if a user can:

  • Retry jobs
  • Suspend process instances and definitions
  • Create a batch of a specific type
  • Read runtime and historic process variables
  • Change process variables

Read on:

Track All Changes Made by Operators and Administrators

To improve transparency of who did what, all operations that can be performed in Cockpit, Tasklist and Admin are now included in the user operation log.

On top of that, Camunda enterprise edition ships two audit log dashboards that let you browse and search this data. In Cockpit, all task-related and operative actions can be inspected:

operator-permissions

See a log of all operative actions in Cockpit

In Admin, all administrative actions such as creating users or granting permissions can be viewed:

operator-permissions

See a log of all administrative actions in Admin

Read on:

More APIs Return Variables

This release introduces additional APIs that trigger a process instances and return variables. What was already possible for starting process instances is now also available for completing tasks, submitting task forms and correlating messages. For task completion, the API looks as follows:

TaskService taskService = ...;
Task task = ...;

VariableMap processInstanceVariables = taskService
    .completeWithVariablesInReturn(task.getId(), null, false);

The return value contains the resulting state of process instance variables before the call returns. This lets your processes synchronously communicate results to the caller. For example, consider the following process:

With the new API, you can immediately obtain the computed total as a result of completing the task and display it to the user.

Read on:

Change the Removal Time of Historical Data

When you use history cleanup, every historic process instance has its own removal time which is the time after which it will be removed to free up space in your database. You can now change the removal time of single or many instances at once:

You have the options to set an arbitrary removal time, to let the engine re-compute the removal time based on the current time-to-live settings, or to clear the removal time. Clearing will prevent the data to be removed at all, so you can keep historic data of selected instances indefinitely.

Hint for anyone migrating from 7.9: This feature lets you assign a removal time to data that was created with Camunda versions <= 7.9, so that they are covered by removal-time-based history cleanup.

Read on:

Trigger BPMN Errors from Execution and Task Listeners

With this release, BPMN Error events can be triggered from execution and task listeners. Consider the following process:

We can implement an execution listener on the end event of the Receive Payment activity that validates the received funds:

public class ValidatePaymentListener implements ExecutionListener {

  @Override
  public void notify(DelegateExecution execution) throws Exception {
    int billedAmount = (int) execution.getVariable("billedAmount");
    int receivedAmount = (int) execution.getVariable("receivedAmount");

    if (receivedAmount < billedAmount) {
      throw new BpmnError("insufficient-payment");
    }
  }
}

In case the error is raised, the catching boundary event triggers and a human can clarify the case.

Read on:

Fluent Java Testing API

camunda-bpm-assert has become part of the Camunda product. With this library, writing unit tests for your BPMN processes becomes a breeze:

// Given we create a new process instance
ProcessInstance processInstance = runtimeService().startProcessInstanceByKey("testProcess");
// Then it should be active
assertThat(processInstance).isActive();
// And it should be the only instance
assertThat(processInstanceQuery().count()).isEqualTo(1);
// And there should exist just a single task within that process instance
assertThat(task(processInstance)).isNotNull();

// When we complete that task
complete(task(processInstance));
// Then the process instance should be ended
assertThat(processInstance).isEnded();

This project has been a popular community extension for many years. We thank the maintainers of the community extension for all their work!

Read on:

Additional Supported Environments

Support for Java 12

Camunda BPM continues to keep pace with Java development, bringing support for Java 12 with version 7.11.0.

Extending our Database support

Version 7.11.0 also extends database support for:

  • PostgreSQL versions 10.7, 11.1 and 11.2
  • Amazon Aurora PostgreSQL compatible with PostgreSQL 9.6 / 10.4 / 10.7
  • Oracle 18c
  • Microsoft SQL Server 2017

Application Servers

Finally, for shared engine setups, Camunda BPM 7.11.0 brings support for:

  • JBoss EAP 7.2
  • WildFly Application Server 15 and 16

Read on:

And Much More

There are many smaller features and bug fixes in the release that are not 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.