We’re excited to announce that Camunda Automation Platform (formerly Camunda Platform Runtime) 7.17.0 is now available with many new features.

Here are some of the highlights:

You can download Camunda Automation Platform 7.17.0 or run it with Docker.

Also included in the release:

For a complete list of the changes, please check out the release notes. For patched security vulnerabilities, see our security notices.

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

Cockpit

In Camunda Automation Platform 7.17.0, you can control high-scale and high-complexity processes with more ease in Cockpit through a number of new features.

Collapsed subprocess navigation

With the latest Camunda Modeler 5.0.0 release, you can decompose complex BPMN processes into easily-digestible parts by employing collapsed subprocesses. Cockpit fully supports such models, for example when you navigate a process instance in the runtime view:

Collapsed subprocess navigation

Read our documentation for details on how this feature works.

This feature is only available in Camunda Automation Platform Enterprise Edition. Test it out with a free 30-day trial.

Searching for process instances is more flexible than ever. You can use multiple search values for the following filter criteria:

  • Variable value
  • Business key
  • Process instance ID
  • Process definition key

Any process instance that matches one of the values shows up in the results.

You can use the filters in both the processes dashboard as well as the batch operation page

Process instance search export as CSV

This feature is only available in Camunda Automation Platform Enterprise Edition. Test it out with a free 30-day trial.

Once you’re done searching for process instances, you can export the result as a file in the CSV format. You can select which attributes of the process instances you want to export, and add the values of the process variables you want.

Learn more about the CSV export in our documentation

Confirmation dialogue for history time to live change

The history time to live (TTL) of a process definition controls how long the process engine retains historic data before history cleanup removes it permanently. Setting and changing the TTL is therefore a powerful tool that, in case of mistakes, can accidentally delete important data.

Camunda Automation Platform 7.17.0 adds a little safeguard that prompts the user to confirm their change to the TTL before applying it.

Confirmation dialogue for history time to live change

Admin: Read out your setup’s details

Do you want to troubleshoot your Camunda installation? When you request help from others, it’s often important that they understand the environment in which Camunda is being used. For this, you can navigate to the Admin’s Diagnostics page and share the content with them. 

The Admin’s Diagnostics page displays the:

  • Camunda edition and version
  • JDK vendor and version
  • Database vendor and version
  • Application server and version
  • Camunda integrations you use (e.g. Spring Boot starter)
  • Details about the license key that you use
  • Commands your engine has executed
  • Metrics the engine has collected

The data is the same that the Camunda telemetry collects. You can use the feature independently of whether you’ve opted in or out of sending telemetry data to Camunda servers. Only users with administrator privileges or the new system permissions have access.

Read all about the UI in our documentation. If you prefer machine access, you can collect the data via our REST API

REST API: Inspect the registered deployments

A common source of errors with deployment-aware process engines is that the jobs aren’t executed if their deployments aren’t registered with the process engine. To debug these situations easier, we’ve added a REST API that exposes the currently registered deployments.

GET /deployment/get-registered/ returns:

[
  "deploymentId1",
  "deploymentId2",
  "deploymentId3"
]

If your engine is deployment-aware and your deployment is not listed here, you know that this is the reason why no jobs are being executed.

Check out the REST API documentation for the details.

Camunda Platform Run

Camunda Platform Run is a major theme of Camunda Automation Platform 7.17.0. Run exposes more features out of the box that you already know from our other distributions.

Process engine plugins

With this release, you can configure process engine plugins in three simple steps:

  1. Add the plugin’s jar file to the Run’s configuration/userlib directory.
  2. Declare the plugin’s class name in Run’s configuration file.
  3. Optional: Add any necessary configuration parameters.

For example, if you want to integrate the Keycloak plugin, you can do the following:

  1. Download the Keycloak plugin and place it in Run’s configuration/userlib directory.
  2. Activate and configure the plugin in Run’s configuration/default.yml (or production.yml) file:
camunda.bpm:
  ..

  run:
  ..
 
    process-engine-plugins:
      - plugin-class: org.camunda.bpm.extension.keycloak.plugin.KeycloakIdentityProviderPlugin
        plugin-parameters:
          keycloakIssuerUrl: https://<your-keycloak-server>/auth/realms/<realm-name>
          keycloakAdminUrl: https://<your-keycloak-server>/auth/admin/realms/<realm-name>
          clientId: camunda-identity-service
          clientSecret: 42aa42bb-1234-4242-a24a-42a2b420cde0
          useEmailAsCamundaUserId: true
          administratorGroupName: camunda-admin

Note that these steps aren’t exhaustive, because the Keycloak plugin requires a running Keycloak instance. See the extension’s documentation for the prerequisites.

Read all about the process engine plugins in Run in our documentation

CORS

This release provides you with more flexibility for configuring Run’s CORS setup. In the configuration space camunda.bpm.run.cors, we’ve added the following configuration properties: 

  • Allowed-headers: Headers that are allowed to be passed with CORS requests.
  • Exposed-headers: Headers that can be read by browsers from a CORS response.
  • Allow-credentials: Decide if a browser can make a CORS request using credentials.
  • Preflight-maxage: Determines how long a browser can cache the result of a pre-flight request.

Check out the documentation for the full reference.

Administrator setup

When connecting an external identity management solution, such as LDAP, you need to declare an initial administrative user or group who is authorized to log into Camunda and create any further permissions for other users.

In Run’s YAML configuration files, you can now configure this as follows:

camunda.bpm:
  ..

  run:
  ..
    admin-auth:
      enabled: true
      administrator-user-name: admin

Check out the documentation for further reading.

Groovy and connectors

Run includes the Groovy script engine and connectors out of the box, so that you can use these features without any further configuration.

JUnit 5 extension for testing processes

Camunda Automation Platform 7.17.0 includes a JUnit 5 extension for testing your BPMN processes, similar to ProcessEngineRule for JUnit 4. To use it in your JUnit 5 project, add the following dependency:

<dependency>
  <groupId>org.camunda.bpm</groupId>
  <artifactId>camunda-bpm-junit5</artifactId>
  <version>7.17.0</version>
  <scope>test</scope>
</dependency>

Then, write a JUnit 5 test like this:

import org.camunda.bpm.engine.RuntimeService;
import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.test.junit5.ProcessEngineExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;

public class SimpleTestCase {

  @RegisterExtension
  ProcessEngineExtension extension = ProcessEngineExtension.builder()
    .build();

  @Test
  @Deployment(resources = {"testProcess.bpmn"})
  public void shouldExecuteProcess() {
    RuntimeService runtimeService = extension.getRuntimeService();
    runtimeService.startProcessInstanceByKey("testProcess");
   
            // rest of the test
  }

}

See the JUnit 5 testing documentation for further details.

The JUnit 5 extension builds on top of the corresponding community extension that our consultant, Ingo Richtsmeier, and contributors have created. Thank you for all your work!

In the same effort, we’ve moved the camunda-bpm-assert project from its previous location into the mono repository. We’re no longer versioning it independently. Instead, we’ve integrated it into the 7.X.Y versioning scheme, so you can conveniently declare Camunda Automation Platform 7.17.0 to use the latest release of assert.

Javascript external task client: Set transient variables

With the latest Javascript external task client 2.2.0 release, it’s possible to submit transient variables when completing a task. You can use it as follows:

const { Client, logger, Variables } = require("camunda-external-task-client-js");

const config = { baseUrl: "http://localhost:8080/engine-rest", use: logger };
const client = new Client(config);

client.subscribe("topic-to-subscribe-to", async function({ task, taskService }) {
  const variables = new Variables();

  variables.setTransient("fullName", { first: "John", last: "Doe" });

  await taskService.complete(task, variables);
});

Check out the documentation for details. Thank you for contributing this feature, Maxim Monin!

New supported environments

  • Weblogic 14
  • WildFly Application Server 26.0
  • DB2 11.5
  • H2 2.0
  • MariaDB 10.6
  • Java 17

Retired supported environments

  • IBM Websphere 8.5
  • H2 1.4
  • MariaDB 10.2
  • MariaDB Galera Cluster
  • PostgreSQL 9.6 (and compatible Amazon Aurora versions)
  • Java 9, 10, 12, 13, 14, 15 (non-LTS versions)

You can always check out our currently supported environments in the Camunda documentation

Watch the Release Webinar

Want a deeper look into Camunda Platform 7.17? Watch the on-demand recording of the Camunda Platform 7.17. release webinar to learn more about its features and improvements.

Your Feedback Matters!

With every release, we strive to improve Camunda Automation Platform, and we rely on your feedback to do so. Feel free to share your ideas and suggestions with us.

You can contact us on our Camunda Community Forum.

Ready to get started?

Still have questions?