Apache Camel 2.23.0 Release
New and Noteworthy
Welcome to the Apache Camel 2.23.0 release which is a new minor release and resolved 262 issues including new features, improvements and bux fixes.
- Upgraded to Spring Boot 2.1.
- Additional component level options can now be configured via spring-boot auto-configuration and these options is included in spring-boot component metadata json file descriptor for tooling assistance.
- Added section with all the spring boot auto configuration options for all the components, data-formats and languages to the documentation.
- All the Camel Spring Boot starter JARs now include META-INF/spring-autoconfigure-metadata.properties file in their JARs to optimize Spring Boot auto-configuration
- The Throttler now supports correlation groups based on dynamic expression so you can group messages into different throttled sets.
- The Hystrix EIP now allows to inherit Camel’s error handler so you retry the entire Hystrix EIP block again if you have enabled error handling with redeliveries.
- SQL and ElSql consumers now support dynamic query parameters in route from. Notice it’s limited to be mostly about calling beans via simple expressions.
- The swagger-restdsl maven plugin now has supports for generating DTO model classes from the swagger specification file.
The following noteworthy bugs has been fixed:
- The Aggregator2 has been fixed to not propagate control headers for forcing completion of all groups, so it will not happen again if another aggregator EIP are in use later during routing.
- Fixed Tracer not working if redelivery was turned on the error handler
- The built-in type converter for XML Documents may output parsing errors to stdout, which has now been fixed to output via the logging API.
- Fixed SFTP writing files via the charset option would not work if the message body was streaming based.
- Fixed Zipkin root id to not be reused when routing over multiple routes to group them together into a single parent span.
- Fixed optimised toD when using HTTP endpoints had a bug when hostname contains ip address with digits.
- Fixed issue with RabbitMQ with request/reply over temporary queues and using manual acknowledge mode, would not acknowledge the temporary queue (which is needed to make request/reply possible)
- Fixed various HTTP consumer components may not return all allowed HTTP verbs in Allow header for OPTIONS requests (such as when using rest-dsl)
- Fixed thread-safety issue with FluentProducerTemplate
Getting the Binaries
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>2.23.0</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 the
camel-spring-boot-dependencies Bill of Materials (BOM):
<dependencyManagement> <dependencies> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-dependencies</artifactId> <version>2.23.0</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>
Binary distribution contains all the artifacts Apache Camel project distributes in binary form
|Description||Download Link||PGP Signature file of download|
Source distribution contains all the artifacts Apache Camel project distributes in source form
|Description||Download Link||PGP Signature file of download|
Git tag checkout
Release is tagged with
camel-2.23.0 in the Git, to fetch it use:
git clone https://git-wip-us.apache.org/repos/asf/camel.git cd camel git checkout camel-2.23.0
Here is a list of all the issues that have been resolved for this release
- Rest DSL seems to duplicate the routes, therefore we can experience on having duplicated ids issues
- Salesforce streaming api breaks after access token expires and a timeout happens when re logging in.
- Rest DSL generates invalid swagger operation Id
- camel-dropbox: upload file does not work
- Dynamic doneFileName is not working with filename containing 2 dots
- Camel FTP regression: RemoteFile does not override populateHeaders method
- Camel-AHC-WS: Consumer parameters are not set
- error in camel-core/src/main/docs/rest-dsl.adoc
- null pointer exceptions accessing swagger url in blueprint projects
- camel-http4 - The sslContextParameters option should be documented on endpoint as well
- Action Request Converter is reseting ID on index request to header that is not set
- gzip Content-Encoding problems after upgrading to Jetty 9.4.12
- Cannot start route using rest dsl due to a mysterious duplicate routeId
- Camel context inconsistencies in Spring Cloud Environment
- Route contract validate does not throw validation exception when validation fails
- Handle LinkedIn Captcha redirects gracefully
- PGP Decryption in XML DSL not working
- Swagger REST DSL generator not honoring basePath
- camel-kubernetes getConfigMap does not use Namespace Header
- Camel Printer unable to print to the network printer
- The camel-maven-package-plugin issue wrong short java type
- WeaveByType not working for OnExceptionDefinition in camel 2.21.0
- Camel Jms headers missing if producer endpoint has transferExchange=true
- Atom consumer stops polling
- Camel-google-calendar-stream: Last update date must consider UpdatedMin field instead of TimeMin when used
- camel-servlet - Example for HttpRegistry no longer works throwing FinalModifierException
- make cxf consumer endpoints suspendable
- Camel-Slack: Must configure Consumer before using it.
- Camel-AWS IAM: The accessKey delete operation need to specify an AccessKey Id instead of a username
- Fix unstable test PubNubPresenceTest
- Upgrade jBPM component to use 7 series with consumer capability to react to produced events by jBPM
- Camel-Elasticsearch-rest: Use not deprecated methods after the client upgrade
- camel-JGroups "Keeping singleton route within the cluster" documentation outdated
- Camel-AWS SQS: Add an option to create a SQS delay queue
- camel-core : add service definition header to service call
- camel-jpa: Allow for passing named-query parameters via message header and/or body
- ReplyTo destination must match endpoint type (topic or queue) that the message is sent on
- camel-restdsl-swagger-plugin - Allow for specifying apiContextPath
New Feature (6)
- Create a Camel Google Sheets component
- Camel-Slack: Consumer must be able to use a different server than the default one
- Camel-NSQ: Add Karaf feature
- Camel-AWS Lambda: Add support for event source mapping
- Camel-AWS: Add more operations to the AWS IAM producer
- camel-swagger-java not honoring the x-forwarded-[host,proto,prefix] headers.
- <qpid-bundle-version> is no longer needed and is confusing
- Various asynchronous engine issues
- Fix the camel-infinispan integration test
- Camel-NSQ: Add Karaf and Spring Boot Integration tests
- camel-rest-swagger - Unit test fails after jetty upgrade
- camel-sftp: SftpConsumerDisconnectTest.testConsumeDelete almost always fail