Chapter 1. Red Hat build of Apache Camel for Spring Boot 4.14 release notes
1.1. Features in Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
Red Hat build of Apache Camel for Spring Boot introduces Camel support for Spring Boot which provides auto-configuration of Camel, and starters for many Camel components. The opinionated auto-configuration of the Camel context auto-detects Camel routes available in the Spring context and registers key Camel utilities (like producer template, consumer template and the type converter) as beans.
1.2. Supported platforms, configurations, databases, and extensions for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
- For information about supported platforms, configurations, and databases in Red Hat build of Apache Camel for Spring Boot, see the Supported Configuration page on the Customer Portal (login required).
- For a list of Red Hat Red Hat build of Apache Camel for Spring Boot extensions, see the Red Hat build of Apache Camel for Spring Boot Reference (login required).
1.3. The javax to jakarta Package Namespace Change Copy linkLink copied to clipboard!
The Java EE move to the Eclipse Foundation and the establishment of Jakarta EE, since Jakarta EE 9, packages used for all EE APIs have changed to jakarta.*
Code snippets in documentation have been updated to use the jakarta.* namespace, but you of course need to take care and review your own applications.
This change does not affect javax packages that are part of Java SE.
When migrating applications to EE 10, you need to:
-
Update any import statements or other source code uses of EE API classes from the
javaxpackage tojakarta. -
Change any EE-specified system properties or other configuration properties whose names begin with
javax.to begin withjakarta.. -
Use the
META-INF/services/jakarta.[rest_of_name]name format to identify implementation classes in your applications that use the implement EE interfaces or abstract classes bootstrapped with thejava.util.ServiceLoadermechanism.
1.3.1. Migration tools Copy linkLink copied to clipboard!
- Source code migration: How to use Red Hat Migration Toolkit for Auto-Migration of an Application to the Jakarta EE 10 Namespace
- Bytecode transforms: For cases where source code migration is not an option, the open source Eclipse Transformer
Additional resources
- Background: Update on Jakarta EE Rights to Java Trademarks
- Red Hat Customer Portal: Red Hat JBoss EAP Application Migration from Jakarta EE 8 to EE 10
- Jakarta EE: Javax to Jakarta Namespace Ecosystem Progress
1.4. Important notes for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
1.4.1. camel-olingo4 component is deprecated Copy linkLink copied to clipboard!
The camel-olingo4 component is now deprecated. This is due to the project Apache Olingo is no more maintained.
1.4.2. Upgrade to Spring Boot 3.5.x Copy linkLink copied to clipboard!
Red Hat build of Apache Camel for Spring Boot is upgraded to Spring Boot 3.5.x. For more information about the changes from Spring Boot 3.4 to Spring Boot 3.5, refer Spring Boot 3.5 Release notes.
1.4.3. Support for IBM Power and IBM Z Copy linkLink copied to clipboard!
Red Hat build of Camel Spring Boot is now supported on IBM Power and IBM Z.
1.4.4. Changes to the snowdrop groupId Copy linkLink copied to clipboard!
The snowdrop groupId is changed from me.snowdrop to dev.snowdrop. You must update the pom.xml file accordingly.
1.4.5. Using the automatic Camel context reloading on Secret Refresh feature of AWS Secret Manager component starter Copy linkLink copied to clipboard!
To use the Automatic Camel context reloading on Secret Refresh feature, the secret update has to be done either via UI or via API call with opereation PutSecretValue. The camel context reload will not be triggered with executing updateSecret via Camel.
1.5. BOM details for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
Following table lists the Bill of Material versions for Red Hat build of Apache Camel for Spring Boot.
| Release version | BOM version | Spring Boot version |
|---|---|---|
| 4.14.4 | 4.14.4.redhat-00010 | 3.5.11 |
| 4.14.2 | 4.14.2.redhat-00015 | 3.5.8 |
| 4.14.1 | 4.14.1.redhat-00011 | 3.5.7 |
1.6. Fixed issues for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
The following sections list the issues that have been resolved in Red Hat build of Apache Camel for Spring Boot.
- Section 1.6.1, “Red Hat build of Apache Camel for Spring Boot version 4.14.4 fixed issues”
- Section 1.6.2, “Red Hat build of Apache Camel for Spring Boot version 4.14.2 Patch 1 fixed issues”
- Section 1.6.3, “Red Hat build of Apache Camel for Spring Boot version 4.14.2 fixed issues”
- Section 1.6.4, “Red Hat build of Apache Camel for Spring Boot version 4.14 fixed issues”
1.6.1. Red Hat build of Apache Camel for Spring Boot version 4.14.4 fixed issues Copy linkLink copied to clipboard!
The following sections list the issues that have been resolved in Red Hat build of Apache Camel for Spring Boot 4.14.4.
| Issue | Description |
|---|---|
| CVE-2025-12543 undertow-core: Undertow HTTP Server Fails to Reject Malformed Host Headers Leading to Potential Cache Poisoning and SSRF | |
| RemoteFileProduces ignores the result of Noop | |
| CVE-2026-1002 vertx-core: static handler component cache can be manipulated to deny the access to static files | |
| JBang export causes IllegalArgumentException with Cassandra sink/source kamelet | |
| CVE-2026-27727 mchange-commons-java: mchange-commons-java: Arbitrary code execution via JNDI dereferencing of crafted objects | |
| CVE-2026-27830 com.mchange/c3p0: c3p0: Arbitrary Code Execution via deserialization of crafted objects |
In addition to above issues, Red Hat build of Apache Camel for Spring Boot version 4.14.4 also included several upstream fixes. For more information about these fixes, refer Resolved issues.
1.6.2. Red Hat build of Apache Camel for Spring Boot version 4.14.2 Patch 1 fixed issues Copy linkLink copied to clipboard!
The following sections list the issues that have been resolved in Red Hat build of Apache Camel for Spring Boot 4.14.2 Patch 1.
| Issue | Description |
|---|---|
| CVE-2025-66566 lz4-java: lz4-java: Information Disclosure via Insufficient Output Buffer Clearing | |
| camel-http: useSystemProperties property defined at component level is ignored | |
| Camel throws NullPointerException when returning a Response with null entity form jax-rs | |
| [CAMEL-22832] camel-azure-storage-blob: upload big files using uploadBlockBlobFromFile |
1.6.3. Red Hat build of Apache Camel for Spring Boot version 4.14.2 fixed issues Copy linkLink copied to clipboard!
The following sections list the issues that have been resolved in Red Hat build of Apache Camel for Spring Boot 4.14.2.
| Issue | Description |
|---|---|
| CVE-2025-9784 undertow-core: Undertow MadeYouReset HTTP/2 DDoS Vulnerability. | |
| CVE-2025-48924 Uncontrolled Recursion vulnerability in Apache Commons Lang. | |
| CVE-2025-66516 tika-core: Apache Tika core, Apache Tika parsers, Apache Tika PDF parser module: Update to CVE-2025-54988 to expand scope of artifacts affected. |
In addition to above issues, Red Hat build of Apache Camel for Spring Boot version 4.14 also included several upstream fixes. For more information about these fixes, refer Resolved issues.
1.6.4. Red Hat build of Apache Camel for Spring Boot version 4.14 fixed issues Copy linkLink copied to clipboard!
The following sections list the issues that have been resolved in Red Hat build of Apache Camel for Spring Boot 4.14.
| Issue | Description |
|---|---|
| CXF opentelemetry - using same trace id from different http requests on RHEL9 | |
| Protobuf jar is not added to the classpath when exporting routes with Kamelets | |
| Upgrade to Spring Boot 3.5.x | |
| Support component camel-azure-storage-datalake-starter | |
| CVE-2025-9784 undertow-core: Undertow MadeYouReset HTTP/2 DDoS Vulnerability | |
| Expose extra micrometer metrics | |
| Agroal datasource documentation | |
| [JBang] Cannot execute export/run command | |
| Jira component error using basic authentication | |
| Optional AutoConfigure Actuator dependency missing in web applications | |
| Support camel-kafka "breakOnFirstError=true" with "batching=true" | |
| Spring Batch doesn’t register custom job bean |
In addition to above issues, Red Hat build of Apache Camel for Spring Boot version 4.14 also included several upstream fixes. For more information about these fixes, refer Resolved issues.
1.7. API changes for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
The following sections list known issues for Red Hat build of Apache Camel for Spring Boot.
1.7.1. API changes in AgroalDataoSourceAutoConfiguration Copy linkLink copied to clipboard!
When upgrading from version 4.10.3 to 4.10.7 of Red Hat build of Camel Spring Boot, the API changes in AgroalDataSourceAutoConfiguration require code updates, which specifically affect programmatic DataSource configurations. Projects that use programmatic DataSource definitions (rather than auto-configuration) will experience compilation errors and need code modifications. After upgrading from version 4.10.3 to 4.10.7, the AgroalDataSourceAutoConfiguration constructor requires additional parameters wrapped in ObjectProvider.
Following sample shows the required changes.
Before version 4.10.7
@ConfigurationProperties("app.datasource.ds1.agroal")
public AgroalDataSource firstDataSource(
@Qualifier("ds1properties") DataSourceProperties properties,
JtaTransactionManager jtaPlatform,
XAResourceRecoveryRegistry xaResourceRecoveryRegistry,
ObjectProvider<AgroalDataSourceJndiBinder> jndiBinder) {
return new AgroalDataSourceAutoConfiguration(jtaPlatform, xaResourceRecoveryRegistry)
.dataSource(properties, false, false, jndiBinder);
}
After upgrading to version 4.10.7
@ConfigurationProperties("app.datasource.ds1.agroal")
public AgroalDataSource firstDataSource(
@Qualifier("ds1properties") DataSourceProperties properties,
ObjectProvider<JtaTransactionManager> jtaPlatform,
ObjectProvider<XAResourceRecoveryRegistry> xaResourceRecoveryRegistry,
ObjectProvider<AgroalDataSourceJndiBinder> jndiBinder,
ObjectProvider<AgroalSecurityProvider> securityProvider) {
return new AgroalDataSourceAutoConfiguration(jtaPlatform, xaResourceRecoveryRegistry, jndiBinder, securityProvider)
.dataSource(properties, true, false, false, new ArrayList<Object>(), new ArrayList<Object>());
}
1.7.2. Red Hat build of Apache Camel for Spring Boot version 4.10.3 changes API Copy linkLink copied to clipboard!
- CSB-6748 Method
AttachmentMessage.getAttachments()return value changed -
When you use the method
AttachmentMessage.getAttachments()it returns an empty list instead of the null value when there are no attachments.
1.8. Known issues for Red Hat build of Apache Camel for Spring Boot Copy linkLink copied to clipboard!
The following sections list known issues for Red Hat build of Apache Camel for Spring Boot.
1.8.1. Red Hat build of Apache Camel for Spring Boot version 4.10.3 known issues Copy linkLink copied to clipboard!
- CSB-6748 Method
AttachmentMessage.getAttachments()return value changed -
When you use the method
AttachmentMessage.getAttachments()it returns an empty list instead of the null value when there are attachments.
1.8.2. Red Hat build of Apache Camel for Spring Boot version 4.8.3 known issues Copy linkLink copied to clipboard!
- CSB-6437 CXF opentelemetry - using same trace id from different http requests on RHEL9
-
This issue only occurs with CXF and OpenTelemetry with the custom tracing configuration on RHEL 9 platform. ,In case of CXF and opentelemetry with the custom opentelemetry tracer defined, when you call multiple requests, the trace ID seems to be reused in the Camel routes. The result is that new spans are added in the existing traces for each http request, instead of creating one new trace ID for each http request. The workaround is to explicitly define the
ContextPropagatorstoW3CTraceContextPropagatoras shown in the example below:
@Bean
ContextPropagators contextPropagators() {
// return ContextPropagators.create(TextMapPropagator.composite(W3CBaggagePropagator.getInstance()));
return ContextPropagators.create(W3CTraceContextPropagator.getInstance());
}
1.8.3. Red Hat build of Apache Camel for Spring Boot version 4.8.0 known issues Copy linkLink copied to clipboard!
- CSB-4318 Fail to deploy on OCP using Openshift Maven Plugin if spring.boot.actuator.autoconfigure is not in the dependencies
Jkube maven plugin uses the following condition to check if the application exposes health endpoint (using
SpringBootHealthCheckEnricher). Both classes are in the classpath:-
org.springframework.boot.actuate.health.HealthIndicator -
org.springframework.web.context.support.GenericWebApplicationContext
-
However, the /actuator/health wil be not exposed without the configuration of the actuator. This creates discordance between the readiness/liveness probes configured by JKube (they both uses the above endpoint) and what the application is exposing.
This misconfiguration causes a failing deployment config on OpenShift Container Platform since the generated pod will never be in Ready status since the probe`s call for an endpoint is not configured. So in order to make the application work on OpenShift Container Platform, which is deployed using JKube (openshift-maven-plugin), it is necessary to have both web and actuator autoconfiguration in the dependencies.
Following example shows how to configure web and actuator autoconfiguration.
Example
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Update the archetype as shown below. The applications built from the following archetype will be deployed correctly using JKube.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
This issue affects the custom applications with missing one of the above dependencies.