You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Next »

Camel 2.18.0 release (currently in progress)

 

New and Noteworthy

Welcome to the 2.18.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)

  • Added Hystrix EIP as EIP pattern that uses native Hystrix as the Circuit Breaker implementation. This requires having camel-hsytrix on the classpath.
  • Improved the Bean component to better match method parameter types when using Simple language as parameter values.
  • Added BindyConverter that allows to implement custom data converters for Bindy
  • The access in the Rest DSL has been deprecated and no longer in use - its not part of swagger specification anymore.
  • Camel-NATS now uses JNATS client instead of the deprecated Java_nats one.
  • During startup of CamelContext the services that are used as part of routes are now deferred being started to the end of the startup process. Some IoC frameworks like Spring can otherwise causes a circular dependency issue if services are started too early. A side effect is that if service startup failures happen when being started later, they are now wrapped in the FailedToStartupRouteException to better pin point which route thas the problem.
  • Improved the startup sequence of Spring Java Config to be similar to Spring Boot that helps prevent Spring initialization errors about circular dependencies issues.
  • Added PATCH to Rest DSL
  • Added "starts with" and "ends with" operator to the Simple language.
  • Added BeanIOSplitter to BeanIO that can be used with the Splitter EIP to split big payloads in streaming mode without reading the entire content into memory.
  • Some of the AWS components allows to specify ARN in the endpoint configuration. 
  • The create operation in Zookeeper now creates sub paths if missing.
  • Added support for async mode for SERVLET component to leverage Asynchronous Servlet from the Servlet 3.0 spec.
  • Bean component and Bean Language validates method name must be a valid according to java identifier rules, and also if parameter syntax has an ending parenthesis.
  • You can now use @RunWith(CamelSpringBootJUnit4ClassRunner.class) to test Camel Spring Boot applications and use the Camel test annotations from Spring Testing such as @MockEndpoints.
  • To turn on logging exhausted message body with the message history you can configure this easily on the CamelContext level with setLogExhaustedMessageBody
  • Camel-Infinispan now supports Aggregation Repository: InfinispanLocalAggregationRepository and InfinispanRemoteAggregationRepository
  • The SQL Component and ElSql now supports outputType=StreamList to use an iterator for the output of the SQL query that allows to process the data in a streaming fashion such as with the Splitter EIP to process the data row by row, and load data from the database as needed.
  • Camel CDI now supports importing Camel XML configuration files
  • Camel CDI does not deploy an empty Camel context bean anymore if not route builder beans nor Camel beans are deployed
  • Camel CDI adds the @Named qualifier to Camel route management events so that it's possible to observe these events for a specific route with an explicit id

Fixed these issues:

  • Fixed Bean component to avoid ambiguous error for classes that extends generic interface and calling which could lead to falsely duplicate methods (due Java type erasure inserts bridge methods) 
  • Fixed splitting using tarfile could cause OOME if splitting big files which was mistakenly loaded into memory. Now we work on the tar stream directly.
  • Fixed Netty HTTP and Netty4 HTTP issue when not specifying a port number then port 80 would not be used but an error about port -1 is not allowed.
  • Fixed Swagger Java when using property placeholders in Rest DSL could cause invalid parameters to be included that was from the placeholder.
  • The threads EIP now lets Error handling in Camel perform redeliveries if the thread pool would otherwise reject accepting the task. This allows the error handler to perform redeliveries to attempt to put the task on the thread pool queue, or eventually move the message to a dead letter queue etc.
  • Fixed Rest DSL adding empty header if specifying a non required query parameter that has no default value assigned.
  • Fixed doWhile loop which could potentially loop forever.
  • Fixed a NPE in Zookeeper consumer if no zookeeper node path was set
  • Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module.
  • When using continued with onException then dead letter channel endpooint should not be invoked.
  • Fixed Error Handler to not log exceptions when using continued(true) by default.
  • Fixed so using shareUnitOfWork would now also call specialized AggregationStrategy for onTimeout, onCompletion etc.
  • Fixed Jetty consumer incorrectly handle multipart/form data not being mapped as attachments on the Camel Message.

New Enterprise Integration Patterns

New Components

  • camel-cm-sms - For sending SMS messages using SM SMS Gateway
  • camel-flink - Bridges Camel connectors with Apache Flink tasks.
  • camel-hystrix - For implementing circuit breaker, timeouts, bulkheads, caching, etc.
  • camel-servicenow - For cloud management with ServiceNow
  • camel-zipkin - For tracking Camel message flows/timings using zipkin

New DSL

  • hystrix - Using Hystrix as circuit breaker. This requires having camel-hsytrix on the classpath.

New Annotations

New Data Formats

New Languages

New Examples

  • camel-example-cdi-xml: illustrates the use of Camel XML configuration files into a Camel CDI application

New Tutorials

API breaking

Known Issues

Important changes to consider when upgrading

  • Java 1.8 is now required.
  • karaf 2.4.x is no longer supported
  • spring 4.0 is no longer supported
  • Jetty 8.x is not longer supported and camel-jetty8 has been removed
  • removed camel-test-spring40 module
  • spring 3.x is no longer supported
    (only spring-dm using spring 3.2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)
  • Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module. If using Spring XML with Spring-DM then you need to install camel-spring-dm feature in Karaf/ServiceMix.
  • The deprecated @LazyLoadTypeConverter has been removed from all Camel Test modules
  • camel-gae has been removed (was not working anyway)
  • The access in the Rest DSL has been deprecated and no longer in use - its not part of swagger specification anymore.
  • Removed the deprecated maven archetypes for SOAP WS using CXF with OSGi Blueprint


Getting the Distributions

Binary Distributions

Description

Download Link

PGP Signature file of download

Windows Distribution

apache-camel-x.y.x.zip

apache-camel-x.y.x.zip.asc

Unix/Linux/Cygwin Distribution

apache-camel-x.y.x.tar.gz

apache-camel-x.y.x.tar.gz.asc

The above URLs use redirection

The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using FireFox

Source Distributions

Description

Download Link

PGP Signature file of download

Source for Windows

apache-camel-x.y.x-src.zip

apache-camel-x.y.x-src.zip.asc

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>x.y.x</version>
</dependency>

SVN Tag Checkout

svn co http://svn.apache.org/repos/asf/camel/tags/camel-x.y.x

Changelog

For a more detailed view of new features and bug fixes, see the:



  • No labels