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:
- Cockpit
- Admin: Read out your setup’s details
- REST API: Inspect the registered deployments
- Camunda Platform Run
- JUnit 5 extension for testing processes
- Javascript external task client: Set transient variables
- New supported environments
- Retired supported environments
- 44 Bug Fixes
You can download Camunda Automation Platform 7.17.0 or run it with Docker.
Also included in the release:
- Javascript External Task Client 2.2.0, which can be embedded in Javascript applications.
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:
Read our documentation for details on how this feature works.
Process instance search criteria with multiple values
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.
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:
- Add the plugin’s jar file to the Run’s
configuration/userlib
directory. - Declare the plugin’s class name in Run’s configuration file.
- Optional: Add any necessary configuration parameters.
For example, if you want to integrate the Keycloak plugin, you can do the following:
- Download the Keycloak plugin and place it in Run’s
configuration/userlib
directory. - Activate and configure the plugin in Run’s
configuration/default.yml
(orproduction.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.