Camel 2.14.0 release (currently in progress)
New and Noteworthy
Welcome to the 2.14.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)
- Support for running on Java 1.8 JVMs
- Spring 4.x supported.
- Simple language defined in routes using resultType as boolean is now evaluated as predicate instead of as expression.
- Introduced RuntimeEndpointRegistry to capture runtime usage of endpoints in use during routing, such as dynamic endpoints from dynamic EIPs.
- Added event notification for routes added and removed.
- Allow to configure cache size in Recipient List, Routing Slip and Dynamic Router EIPs; and as well turn caching off.
- Netty HTTP producer now supports the CamelHttpPath header to define a dynamic context-path and query parameters to call the remote http server.
- Polling Consumer allows to configure initial queue size and whether to block when full when using the default
EventDrivenPollingConsumer
which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered. - Added a generic callback to configure the APNS service builder.
- Added
StreamList
option to the JDBC component - Allow to define Simple expressions for sql parameters of the SQL component.
- A new XML tokenizer that is truly XML-aware (e.g., supporting XML namespaces and complex hierarchical structures)
- Added option
parallelAggregate
to Multicast, Splitter and Recipient List EIPs - Support to set the variable map from message header in Velocity, Freemarker, StringTemplate.
Fixed Issues
- Timer consumer is now scheduled after CamelContext has started all routes, to ensure other routes is running when timer routes is triggered to run.
- Netty HTTP now returns HTTP status 404 if resource not found instead of 503.
- Fixed the MongoDB
readPreference
option which used to cause anIllegalArgumentException
to be thrown. - Fixed issue with Netty producer may leak HashWhealTimer instances when having many producers that are not reused.
- Fixed issue with Netty consumer should wait for join to complete when joining a multicast group over UDP
- Improved stability when testing with
camel-test-blueprint
component. - Netty HTTP now removes
headerFilterStrategy
option after resolving it - Fixed POJO aggregating when the parameter type was referring to a type that was class annotated.
- Fixed MyBatis to keep the message body as-is when calling stored procedures, if the procedure returns data as OUT parameters.
- Fixed Camel Karaf commands to work with multiple CamelContext from the same bundle.
- Fixed Advice-With to work with transacted routes defined in XML DSL
- Fixed Advice-With to work with Content Based Router when adding outputs to the when clauses.
- Improved
NettyWorkerPoolBuilder#build
visibility.
New Enterprise Integration Patterns
- Circuit Breaker pattern implemented as a Load Balancer policy
New Components
- camel-ahc-ws
- camel-atmosphere-websocket
- camel-box
- camel-openshift
- camel-gora
- camel-spark-rest
New Camel Maven Archetypes
New DSL
New Annotations
New Data Formats
New Languages
- XMLTokenizer
New Examples
New Tutorials
New Tooling
API changes
- Changed ...
Known Issues
Dependency Upgrades
You can see any dependency changes using Camel Dependencies Version Differences web tool created by Tracy Snell from the Camel Team.
The below list is a best effort, and we may miss some updates, its better to use the Camel Dependencies Version Differences web tool which uses the released projects for comparison.
- Atomikos 3.9.2 to 3.9.3
- Commons-codec 1.8 to 1.9
- CXF 2.7.11 to 3.0.0
- Deltaspike 0.7 to 1.0.0
- Dozer 5.4.0 to 5.5.1
- EhCache 2.8.1 to 2.8.3
- Groovy 2.2.2 to 2.3.3
- Guava 16.0.1 to 17.0
- JRuby 1.7.10 to 1.7.12
- MongoDB-Java-Driver 2.11.4 to 2.12.0
- RabbitMQ AMQ Client 3.2.2 to 3.3.0
- RxJava 0.17.5 to 0.19.4
- Scala 2.10.3 to 2.10.4
- Snmp4j 2.2.5 to 2.3.0
- SSHD 0.10.1 to 0.11.0
- spring-redis 1.1.0 to 1.3.0
Internal changes
- Changed ...
Changes that may affect end users
- Polling Consumer allows to configure initial queue size and whether to block when full when using the default
EventDrivenPollingConsumer
which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered.
Important changes to consider when upgrading
- Java 1.6 no longer supported.
Getting the Distributions
Binary Distributions
Description | Download Link | PGP Signature file of download |
---|---|---|
Windows Distribution | ||
Unix/Linux/Cygwin Distribution |
Source Distribution
Description | Download Link | PGP Signature file of download |
---|---|---|
Source |
Getting the Binaries using Maven 2
To use this release in your maven project, the proper dependency configuration that you should use in your Maven POM is:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.14.0</version> </dependency>
Changelog
For a more detailed view of new features and bug fixes, see the:
- TODO: fix me
- release notes for 2.14.0