Apache Camel 4.x Upgrade Guide

This document is for helping you upgrade your Apache Camel application from Camel 4.x to 4.y. For example, if you are upgrading Camel 4.0 to 4.2, then you should follow the guides from both 4.0 to 4.1 and 4.1 to 4.2.

The Camel Upgrade Recipes project provides automated assistance for some common migration tasks. Note that manual migration is still required. See the documentation page for details.

Upgrading Camel 4.19 to 4.20

camel-exec

The camel-exec component is made more restrict by default, as the command line arguments, and other parameters cannot be dynamic provided from Camel message headers. To allow this you now have to enable this by setting allowControlHeaders=true on either the component (globally) or per endpoint when needed.

camel-pulsar

The Apache Pulsar client library has been upgraded from 4.1.3 to 4.2.0.

Pulsar 4.2.0 removes support for V1 topic names via PIP-457. Topic names must now use the V2 format (persistent://tenant/namespace/topic) with exactly three path segments after the scheme. The V1 format (persistent://tenant/cluster/namespace/topic) with four path segments is no longer accepted and will result in an InvalidTopicNameException.

If your Camel routes use topic URIs with extra / characters in the topic name portion (e.g., pulsar:persistent://public/default/my-topic/sub-path), you must replace the extra / with another separator such as - (e.g., pulsar:persistent://public/default/my-topic-sub-path).