Update from 7.20 to 7.21
This document guides you through the update from Camunda
7.21.0 and covers the following use cases:
- For administrators and developers: Database updates
- For administrators and developers: Full distribution update
- For developers: Add Default History Time To Live to BPMN Fluent API
- For administrators: Spring Boot Starter and Run logs admin user information on
- For developers: Update Java External Task Client’s Apache HttpClient to version 5
- For developers: Changed trigger order of built-in task listeners
- For administrators and developers: Cockpit’s process definition like search changed to case-insensitive
- For developers: External MDC properties are isolated from the engine’s processing
This guide covers mandatory migration steps and optional considerations for the initial configuration of new functionality included in Camunda 7.21.
Every Camunda installation requires a database schema update. Check our database schema update guide for further instructions.
This section is applicable if you installed the Full Distribution with a shared process engine.
The following steps are required:
- Update the Camunda libraries and applications inside the application server.
- Migrate custom process applications.
Before starting, ensure you have downloaded the Camunda 7.21 distribution for the application server you use. This contains the SQL scripts and libraries required for the update. This guide assumes you have unpacked the distribution to a path named
Add Default History Time To Live to BPMN Fluent API
Starting with this release, the BPMN Fluent API Builder assigns by default a history time to live of 6 months to processes. You can change this default or pass
null to remove the attribute using the
Spring Boot Starter and Run logs admin user information on
In previous releases, when configuring Camunda’s admin user in the Spring Boot Starter or Run via
camunda.bpm.admin-user, information about the admin user appeared in the logs on log level
INFO on startup.
With this release, the log level for the logs
STARTER-SB011 was changed to
Update Java External Task Client’s Apache HttpClient to version 5
We have updated the internal Apache HttpClient in our Java External Task Client from version 4.5.x to the more recent version 5.3.
Version 5 is the latest major version of HttpClient, and it offers many new features including the support for the latest HTTP/2 standards. Additionally, it also provides synchronous, asynchronous and reactive APIs, as well. For a complete list about features, see the official page about HttpCore 5.2 and HttpClient 5.3.
Our client is now fully updated to the HttpClient 5 classic (synchronous) API and is not compatible with version 4 anymore!
The classic API of the HttpClient 5 shares many similarities with the predecessor version 4, but it’s not backward compatible. This means an update to this version requires code and configuration adjustments.
Apache has an official migration guide, which should make the switch easier.
Changed trigger order of built-in task listeners
Built-in task listeners are used internally by the engine and not intended to be used by the user. User-defined task listeners are handled separately. Before this release, the order in which builtin task listeners were executed could depend on how the task was executed. This bug report describes a scenario where after a process instance modification, the order of the builtin task listeners was reversed. With this release for both, regular process execution and process instance modification, the engine ensures the following:
- Built-in task listeners are executed before user-defined task listeners.
- Built-in task listeners are executed in the order in which they were registered.
- User-defined task listeners are executed in the order in which they were registered.
Previously, only 1. and 3. were ensured.
Cockpit’s process definition like search changed to case-insensitive
The Cockpit/Processes’s page Process Definition search component allows for name and key search with equals and like operators. With this recent change, per customer feedback, we modified the like search to case-insensitive. This will allow a better experience when looking for process definitions.
The change also affects the API that provides the data for the search component. This API is an internal API, which means it’s not part of the public REST API, so the change should not affect any customers.
External MDC properties are isolated from engine processing
The previous behavior of clearing the MDC tuples associated with Logging Context Parameters has been changed in this release. Starting from
7.21, the new behavior preserves any logging context parameter entries found in the MDC to better isolate the engine processing from any external MDC user configuration.
Use cases that require the legacy behaviour (clearing of the MDC logging context parameter tuples after the engine processing) can opt for clearing the MDC programmatically.