h1. Camel 2.2.0 release (currently in progress)

{div:style=padding-right:20px;float:left;margin-left:-20px;}
!http://camel.apache.org/download.data/camel-box-v1.0-150x200.png!
{div}
{div:style=min-height:200px}
{div}

h2. New and Noteworthy

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

* [Routing Slip] now breaks when an exception occurred
* [Mina] now supports easier configuration of multiple custom codecs, which is needed when working with SSL.
* Improved [TransactionErrorHandler] two fold by reducing complexity of internal logic in Camel when working with transactions. And added better support for using multiple transactions in multiple routes. See more at section _Using multiple routes with different propagation behaviors_ at [Transactional Client].
* [Recipient List] now supports {{parallelProcessing}}, {{stopOnException}} and references for {{AggregationStrategy}} and thread pools. This applies to the {{@RecipientList}} annotation as well.
* Cleanup of spring jar dependencies.
* [File Language] is now merged directly into [Simple] language which among others makes [Content Based Router] in Spring XML using file language syntax easier.
* [HTTP] is now using CamelContext Properties instead of System Properties to set the http proxy configuration. 
* Fixed [Camel Proxy|Using CamelProxy] throwing exception if {{null}} was returned.
* Improved error handling with [Recipient List] and [Multicast] which now performs redelivery etc. on that _output_ node instead of starting again from the scratch.
* Improved the [ETL EXAMPLE] and [BAM EXAMPLE] so they can be deployed into ServiceMix4(Karaf).
* [SEDA] now supports {{multipleConsumers}} which allows you to use it for pub-sub messaging where each consumer concurrently will receive a copy of the [Exchange]. This is done with the help from [Multicast] EIP.
* [DefaultErrorHandler] will now log a log line at {{ERROR}} level in case an Exception was thrown which could not be redelivered either. This aid to see that an Exception occurred instead of relying on the client logging it. You can customize this behavior on the [Error Handler].
* Fixed {{groupedExchange}} not working properly on [Aggregator].
* [Graceful Shutdown] which ensures Camel now shutdown in a more reliable and graceful manner. This also works with in memory components such as [SEDA]. 
* Added new {{[log|LogEIP]}} in the DSL for dynamic human readable log messages.

h3. New [Enterprise Integration Patterns]

h3. New [Components]

* [camel-ftp|FTP2] now supports {{FTPS}} (FTP over SSL/TLS)
* [camel-smpp|SMPP]
* [camel-protobuff|Protobuf]

h3. New DSL

* {{markRollbackOnlyLast}}
* {{[log|LogEIP]}}

h3. New Annotations

h3. New [Data Formats|Data Format]

h3. New [Languages]

h3. New [Examples]

h2. API breaking

h3. DefaultComponent

The methods {{DefaultComponent.resolveAndRemoveReferenceParameter}} and {{DefaultComponent.resolveAndRemoveReferenceParameterList}} have been changed to make the leading {{#}} sign for bean references optional and to throw an {{IllegalArgumentException}} if a referenced bean is not in the registry. For details see [CAMEL-2248|https://issues.apache.org/activemq/browse/CAMEL-2248].

h3. Exchange
The property {{Exchange.FILTETED}} have been removed as part of [CAMEL-2288|https://issues.apache.org/activemq/browse/CAMEL-2248].

h3. ExceptionHandler
The class {{org.apache.camel.spi.ExceptionHandler}} now have two additional methods which accepts more details when an Exception occurred such as a message and the current Exchange.

h3. @EndpointInject
The {{name}} attribute in @EndpointInject has been renamed to {{ref}} to be consistent with the other annotations. Its a reference for an Endpoint to be looked up in the [Registry].

h2. Known Issues

See known issues from previous releases.

h2. Important changes to consider when upgrading

h3. Spring jar dependencies have been cut down in camel-core.
The {{pom.xml}} file for *camel-core* have cut down number of spring jar dependencies to allow Camel to easily run without any Spring .jars at all. However this affects you if you use maven and use camel-core without camel-spring or spring at all. If you want to use JMX with Camel then you need to add the following 4 spring jars required: {{spring-core.jar, spring-beans.jar, spring-context.jar, spring-aop.jar}}. With maven you only need to depend on {{spring-context}} and {{spring-aop}} as they will bring in the other two jars.

See also [Camel Jar Dependencies] and [Camel JMX].

h3. Using filter in [Splitter]
The {{filter}} no long influence the {{split}} and its {{AggregationStrategy}} as it was just too confusing why it did that. See [CAMEL-2288|https://issues.apache.org/activemq/browse/CAMEL-2248] for details.

h3. camel-http and proxy
The [HTTP] component used to read Proxy settings directly from system properties. You should instead configure proxy wide information as properties to the {{CamelContext}} instead. See [HTTP] for details.

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.2.0.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.2.0/apache-camel-2.2.0.zip] | [apache-camel-2.2.0.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.2.0/apache-camel-2.2.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.2.0.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz] | [apache-camel-2.2.0.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz.asc] |
{info:title=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|http://www.mozilla.com/en-US/firefox/]
{info}

h3. Source Distributions

|| Description || Download Link || PGP Signature file of download ||
| Source for Windows | [apache-camel-2.2.0-src.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.2.0/apache-camel-2.2.0-src.zip] | [apache-camel-2.2.0-src.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.2.0/apache-camel-2.2.0-src.zip.asc] |

| Source for Unix/Linux/Cygwin | [apache-camel-2.2.0-src.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz] | [apache-camel-2.2.0-src.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz.asc] |

h3. 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|http://maven.apache.org/guides/introduction/introduction-to-the-pom.html] is:
{code:xml}
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.2.0</version>
</dependency>
{code}

h3. SVN Tag Checkout

{code}
svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.2.0
{code}

h2. Changelog

For a more detailed view of new features and bug fixes, see the:
TODO: Fix for 2.2.0
* [release notes for 2.2.0|http://issues.apache.org/activemq/secure/ReleaseNote.jspa?projectId=11020&styleName=Html&version=11900]