Apache camel 4.0.0-M3 Release

New and Noteworthy

This release is the third milestone towards the Camel 4.0.0 release.

Supported Java version

This version supports Java 17.

Getting the Binaries using Maven

To use this release in your Apache Maven pom.xml, import the Camel Bill of Materials (BOM) and then include the camel-core and any other components needed without specifying the version.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-bom</artifactId>
      <version>4.0.0-M3</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-COMPONENT</artifactId>
  </dependency>
</dependencies>

To use this release in a Spring Boot application, use Spring Boot spring-boot-dependencies and Camel camel-spring-boot-bom Bill of Materials (BOM):

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version> SPRING BOOT VERSION HERE </version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.camel.springboot</groupId>
      <artifactId>camel-spring-boot-bom</artifactId>
      <version>4.0.0-M3</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-COMPONENT-starter</artifactId>
  </dependency>
</dependencies>

Apache Camel

Download Signature and checksum
apache-camel-4.0.0-M3-src.zip (Sources) PGP Signature, SHA512 Checksum

Git tag checkout

Release is tagged with camel-4.0.0-M3 in the Git, to fetch it use:

git clone https://git-wip-us.apache.org/repos/asf/camel.git
cd camel
git checkout camel-4.0.0-M3

Resolved issues

Here is a list of all the issues that have been resolved for this release

Bug (38)

CAMEL-19296
Unable to init camel file with JBang for multi dot file name suffix - eg 'foo.camel.xml'
CAMEL-19293
camel-spring-ldap - base is set twice when using SB AutoConfiguration
CAMEL-19283
camel-jbang - Run another camel version via application.properties
CAMEL-19271
camel-jbang - trace with --latest should show last completed if no current inflight
CAMEL-19259
camel-maven-plugin - Use configured main-class instead of KameletMain
CAMEL-19257
camel-jslt: Exception when using camel-jslt in Tomcat Servlet
CAMEL-19256
camel-jdbc: leaks the statement in doCreateAndExecuteSqlStatement
CAMEL-19255
Jbang: jbang is not copying custom kamelets to /kametets
CAMEL-19250
Classes generated by camel-restdsl-openapi-plugin are not added to jar
CAMEL-19249
camel-salesforce: Creating blob data is broken
CAMEL-19247
camel-zeebe - Set Default Host and Port for Zeebe connection
CAMEL-19242
camel-jbang - camel doc may not work on main
CAMEL-19224
camel-azure - BlobConsumer does not use prefix
CAMEL-19220
camel-groovy - Avoid setting variables to initialize the binding
CAMEL-19199
Unable to start PLC4X route in camel-plc4x
CAMEL-19198
Dynamic Router EIP component does not evaluate filters by order of priority attribute
CAMEL-19190
camel-vertx-websocket: sendToAll option may not discover connected host peers correctly
CAMEL-19181
camel-springboot - mapstruct component is not autoconfigured automatically
CAMEL-19174
Jira component: duplicate messages with the new issues consumer
CAMEL-19171
camel-http - Prevent duplicating slashes in generated URI
CAMEL-19169
camel-olingo2: queryParams option of read method does not work
CAMEL-19162
camel-ehcache - llegalStateException: Close not supported from UNINITIALIZED. When context.addRouteDefinition() called multiple times in route with Ehcache consumer
CAMEL-19158
camel-core: ThrowExceptionProcessor may silently ignore exceptions in constructing the exception object
CAMEL-19156
XML route configurations ignored without both XML IO and JAXB XML loaded
CAMEL-19155
Azure Service Bus component completes messages instead of abandoning on error
CAMEL-19151
The 'ignoreInvalidEndpoint' option isn't relevant for a static URI for WireTap component
CAMEL-19150
camel-olingo4: queryParams option of read method does not work
CAMEL-19136
camel-micrometer - Too many tags created by micrometer WebMvcTagsProvider
CAMEL-19133
camel-zookeeper - Zookeeper's service registration and discovery is not working with serialized
CAMEL-19127
Cannot add route when route is set to not start automatically
CAMEL-19124
Tracer doesn't continue spans for AbstractInternalSpanDecorator
CAMEL-19113
Platform-http-vertx: consume with comma separated does not work
CAMEL-19103
camel-jbang - can't run in background due to No Camel integration files to run
CAMEL-19081
Start a route with aggregation fails due to NPE in AggregateProcessor
CAMEL-19014
SimpleLanguage cache issue
CAMEL-18985
camel-kafka: messages are getting lost with "breakOnFirstError"
CAMEL-18944
REST YAML does not work in Spring Boot
CAMEL-18619
Stream closed for onException with useOriginalMessage

Dependency upgrade (21)

CAMEL-19300
camel-pulsar - Upgrade to 2.11.1
CAMEL-19288
camel-jsonpath - Upgrade to 2.8
CAMEL-19287
camel-debezium - Upgrade to 2.2
CAMEL-19278
camel-xslt-saxon - Upgrade to Saxon-HE 11.5
CAMEL-19274
camel-spring-ldap - Upgrade to spring ldap 3.0.x
CAMEL-19268
camel-spring-boot - Upgrade to 3.0.6
CAMEL-19265
camel-jbang - Upgrade to Picoli 4.7.2
CAMEL-19261
camel-jbang - Upgrade gradle wrapper to 8.x
CAMEL-19246
camel-kotlin - Upgrade to 1.8.20
CAMEL-19191
Use 5.1.x version to be compatible with SB
CAMEL-19175
camel-kubernetes - Upgrade to 6.5.1
CAMEL-19141
camel-core - Upgrade to log4j 2.20.x
CAMEL-19134
camel-kubernetes - Upgrade to 6.5.x
CAMEL-19131
Camel-DJL: Upgrade to Deep Java Library 0.21.0
CAMEL-19130
Upgrade to snakeyaml 2.x
CAMEL-19126
camel-fhir upgrade to 6.4.2
CAMEL-19125
camel-jbang - Upgrade to kamelets 4M1 and 3.20.2
CAMEL-19019
camel-kafka - Upgrade to Kafka 3.4.x
CAMEL-18943
camel-xslt-saxon - Upgrade to Saxon-HE 12.0
CAMEL-18920
camel-groovy - Upgrade to Groovy 4.x
CAMEL-18463
upgrade grpc to 1.54.x

Improvement (52)

CAMEL-19286
camel-ignite - Support the REPLACE operation in the Ignite Cache Producer
CAMEL-19276
camel-jq: Include jackson-jq extras module
CAMEL-19272
camel-jbang - Show jbang version
CAMEL-19269
camel-jackson - Converter for jackson numeric wrappers
CAMEL-19266
Camel-AWS2-S3: Add a forcePathStyle option to configuration
CAMEL-19245
camel-java-joor-dsl - Ease the way to get all the compiled classes
CAMEL-19244
camel-bean - Add signature parameter to specify parameter types
CAMEL-19239
camel-vertx-websocket: Add options for configuring the origin header
CAMEL-19238
camel-vertx-websocket: Apply default port when the wss scheme is used
CAMEL-19237
camel-jbang - version list for newer releases to include details
CAMEL-19235
camel-restdsl-openapi-plugin: Add platform-http to REST consumer components list
CAMEL-19234
camel-core - When looking up a mandatory bean, look it up through its type first
CAMEL-19232
Port REST DSL Generator in camel-jbang to Camel 4
CAMEL-19231
Default REST DSL type in camel-jbang generator
CAMEL-19227
camel-jbang - export should also add <pluginRepository> with repos
CAMEL-19226
camel-jbang - Add repos option to export
CAMEL-19223
camel-core - StreamCache to have position method
CAMEL-19222
Camel-Azure-CosmosDB: make the itemPartitionKey a String instead of a pojo
CAMEL-19219
camel-kudu - add projection and limit support to the scan operation
CAMEL-19216
camel-kudu - add predicate support to the scan operation
CAMEL-19214
camel-hdfs - Add ShortWritable support to the HDFS component
CAMEL-19211
camel-sql - Make it possible to configure custom RowMapper
CAMEL-19210
camel-pulsar - Support for delayed delivery pulsar messages using deliverAt
CAMEL-19205
camel-plc4x - Make it easier to configure tags in endpoint
CAMEL-19197
camel-cxf-starter - Spring Boot starter for CXF should use -spring JARs
CAMEL-19193
Change default Micrometer meter names to follow Micrometer naming conventions
CAMEL-19187
camel-jbang - dependency list should use user configured version
CAMEL-19186
camel-core - Type function in simple language should use enum type instead of toString value
CAMEL-19185
Camel Spring Boot Example: Twitter-Salesforce: camel-salesforce-maven-plugin - make TLS version configurable via system properties
CAMEL-19180
Kafka Idempotent Repository does not give the user control over a randomized group id if the kafka broker requires the id to be in a specified form
CAMEL-19178
camel-common-http - Make HttpBinding more reusable
CAMEL-19177
camel-platform-http - Spring Boot implementation that use directly the HTTP server
CAMEL-19176
camel-platform-http - Add listener for added/removed http endpoints
CAMEL-19173
Splitting long uris in xml-io DSL doesn't work
CAMEL-19168
camel-micrometer-starter - Make it possible to capture static uri path as tag
CAMEL-19160
return null for CxfPayloadConverter fallback converter so that other fallback coverter can get a chance to try
CAMEL-19152
camel-azure - Add file client header and flush option
CAMEL-19145
camel-jbang - Add known alias for maven repos
CAMEL-19144
camel-catalog - Include information about existing Camel releases
CAMEL-19137
Favor CompositeMeterRegistry instances in Camel registry
CAMEL-19132
camel-core - Deprecate vm and direct-vm and remove in v4
CAMEL-19122
camel-jbang - Export java code with existing package name
CAMEL-19118
camel-health - Liveness check default false
CAMEL-19108
camel-jbang - Export with local JAR should include the JAR in lib folder and add as dependency
CAMEL-19104
camel-bean - Move parameter type matching to a new parameterTypes option
CAMEL-19101
Features for Camel-Micrometer
CAMEL-19087
camel-jbang - Trace to have pretty option
CAMEL-19017
camel-main - Tracing to output message headers
CAMEL-18923
Cannot update a routeconfiguration with a routeloader
CAMEL-18636
azure data lake component: authentication can not be configured using string properties
CAMEL-17032
camel-jdbc: investigate if resource usage can be improved
CAMEL-11767
camel-catalog-maven - Use real maven downloader (was: Maybe use shrinkwrap instead of gradle)

New Feature (18)

CAMEL-19280
camel-coap: support for coap observe (RFC-7641)
CAMEL-19270
camel-netty - Add support for Unix Domain Sockets
CAMEL-19236
camel-jbang - Command to send a message
CAMEL-19230
Optaplanner 9
CAMEL-19212
camel-groovy - provide a way to define global groovy variables
CAMEL-19209
camel-observation-starter - For Camel 4
CAMEL-19188
GraphQL component should support Exchange.HTTP_QUERY or custom headers
CAMEL-19183
camel-rest-openapi: Add an option to set the default content types used in the generated OpenAPI document
CAMEL-19143
Bindy - Add option to quote fields only when necessary
CAMEL-19128
camel-jbang - Version command
CAMEL-19120
camel-jbang - export configurable template
CAMEL-19050
DHIS2 Component
CAMEL-19023
Add support for Micrometer Observation
CAMEL-18904
camel-core - Add functions to simple language to create empty map/list/string/json
CAMEL-18625
Provide an option to pass specific AWS SAML Profile
CAMEL-18551
camel-salesforce: Add support for Salesforce Pub/Sub API
CAMEL-18508
camel-jbang - User config file
CAMEL-14248
Camel Route Test Coverage in JUnit5

Task (24)

CAMEL-19297
camel-consul - ppc64le arch support
CAMEL-19294
camel-test-infra-zookeeper: unable to use a custom Zookeeper container
CAMEL-19292
camel-core - Remove experimental LightweightCamelContext
CAMEL-19289
camel-sql - Add docs that SQL can use message body (simple language)
CAMEL-19248
Suspicious ignoring of a variable in CouchbaseConsumer
CAMEL-19240
camel-core - JVM uptime vs camel uptime
CAMEL-19233
Clean up code generation for <component>ApiCollection in camel-api-component-maven-plugin
CAMEL-19221
camel-as2 - Unused variable in EntityParser
CAMEL-19213
Camel DSL page documentation is missing groovy dsl
CAMEL-19203
Unused assignment in SyncPropertiesMojo
CAMEL-19202
Unused assignment in OnExceptionReifier
CAMEL-19201
Unused assignment in AdviceWithBuilder::maxDeep()
CAMEL-19200
Unused assignment in RouteControllerAction::getLast(Row r)
CAMEL-19194
Method HMACAccumulator::compareTo() always returns false
CAMEL-19192
Possible infinite recursion in JettyConfigurationBuilder
CAMEL-19189
camel-groovy - Adapt the code for native mode
CAMEL-19179
camel-jetty - Remove JettyHttpBinding which is not in use
CAMEL-19142
camel-spring-boot-example - Make it build with v4 M2
CAMEL-19139
camel-core - Add build time in MANIFEST.MF
CAMEL-19138
Maven 3.9.0 build fails with -Psourcecheck
CAMEL-19119
[Docs] Missing examples in Camel JDBC
CAMEL-19090
camel-core - Remove deprecated APIs
CAMEL-19062
Clean up Parent POM
CAMEL-18995
Upgrade to HttpComponents 5.x

Test (1)

CAMEL-19184
Camel-http: Upgrade to http 5.x broke test case using httpContext

Keys

You can verify your download by following these procedures and using these KEYS.