Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. Camel 2.9.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.9.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)

* Introduced {{ThreadPoolFactory}} with a simpler API for 3rd party SPI. See [CAMEL:Threading Model] for more details.
* Fixed issue with [Properties] component may cache duplicates and thus take up unnecessary memory in the cache
* Fixed issue with [Tracer] out exchanges when using [Asynchronous Processing] by the [Asynchronous Routing Engine]
* Fixed issue with [Component]s or [Endpoint]s not being registered in [JMX|Camel JMX] when using [POJO Producing], [POJO Consuming] or other Camel bean annotations.
* The [SOAP] data format now supports using multiple parameters on the JAXB objects.
* The [Bean] component now supports specifying parameter values to use directly in the method syntax. See more details at [Bean Binding]. For example to invoke a bean with body as first parameter, and a boolean true as second you can now do: {{.to("bean:myBean?method=myMethod(body, true)")}}
* Fixed issue which could cause {{DefaultUnitOfWork}} to throw a {{java.util.EmptyStackException}} under heavy load
* Improved labels of all model definitions which appear in [Tracer] output
* Fixed issue with [MDC logging] not remembering old values, for example when using a {{ProducerTemplate}} from within routes to send new messages.
* Reduced dependency for {{camel-core}} to not require {{commons-management}} JAR anymore
* Added blueprint support of cxfrs endpoint.
* Camel no longer depend on using Spring JARs for having Camel enlisted in [JMX|Camel JMX].
* Introduced a set of Camel JMX annotations in {{org.apache.camel.management}} that can be used to easily instrument Camel [Components], [EIP]s, custom [Processor]s, [Bean]s etc. for being managed in [JMX|Camel JMX]. Using the Spring JMX annotations is still supported (you would need {{camel-spring}} on the classpath).
* Fixed issue when invoking a [Bean] and that bean is using a {{@Bean}} in its method signature, causing the {{@Bean}} to not invoke its intended method
* Updated the [Aggregator2] to allow for manually completing all exchange groups by sending a message containing the header {{Exchange.AGGREGATION_COMPLETE_ALL_GROUPS}} set to true.
* Fixed issue with [Bindy] unmarshalling in key value mode when using @OneToMany bindings, may cause inconsistency for multiple threaded unmarshalling 
* Removed dependency on Spring JARs in the following components: [Validation], [XSLT], [Velocity], [Freemarker], [Flatpack], [StringTemplate], [iBatis], [Jing], [Msv], [XQuery], and [Test]
* Using [pollEnrich|Content Enricher] with a file/ftp endpoint will now only poll on demand, beforehand the polling could be started when the route started.
* Added option {{ReplyToType}} on [JMS] to allow people to control which kind of reply queue they are using (temporary, shared, exclusive). Added support for exclusive reply queues. Mind they have some limitations, by which the shared dont have. So use exclusive with a bit caution.
* Added {{wereSentTo}} to [NotifyBuilder] allowing to set expectation that [Exchange]s was sent to the given endpoint uri.
* [Bindy] in CSV format now uses trim, clip, and length attributes on @DataField when marshalling.
* Improved managed browsable endpoints (JMX) so you can browse all/range messages and whether to include message body or not.
* [File|File2] and [FTP|FTP2] endpoints is now browsable endpoints. For example using JMX people can browse the endpoint listing available files. The returned data does *not* contain the actual file body to avoid loading big data into memory.
* Added {{replaceFromWith}} to [AdviceWith] making it easy to swap a route input endpoint with something else, for easier unit testing.
* Added Java DSL support for route autoStartup(String) and autoStartup(boolean)
* Switched to a better performing non locking endpoint cache based on Google's ConcurrentLinkedHashMap.
* Added {{isUseAdviceWith}} to [Camel Test] which allows end users to tell Camel that the unit tests uses [AdviceWith] which allows you to defer starting [CamelContext] until after the adviceWith has been executed. 
* Fixed issue with {{ExchangeSentEvent}} being fired to early when being sent to [asynchronously|Asynchronous Routing Engine] endpoint. Now its being fired when sent is done.
* Fixed issue with [OSGi Blueprint|Using OSGi blueprint with Camel] when consuming [JAXB] annotated objects from [ActiveMQ] causing ClassCastException's.
* Added {{filtersRef}} option to [Jetty] endpoint, and it supports to setup the Filters on the Jetty endpoints.
* Added {{ciphers}} option to the [SFTP|FTP2] endpoint to allow configuration of the ciphers used by default.
* Added {{errorHandler}} option to the [JMS] component which allows you to set a {{org.springframework.util.ErrorHandler}} to be invoked in case of any uncaught exceptions thrown while processing a {{Message}}.
* Added {{idleConsumerLimit}} option to the [JMS] component which sets the limit for the number of consumers that are allowed to be idle at any given time.

h3. New [Enterprise Integration Patterns]

h3. New [Components]

* [Zookeeper]

h3. DSL Changes

h3. New Annotations

* Added some JMX annotations in org.apache.camel.spi.management that replace the spring jmx annotations to make camel-core independent of spring

h3. New [Data Formats|Data Format]

h3. New [Languages]

h3. New [Examples]

h3. New [Tutorials]

h2. API breaking

* The class {{ExecutorServiceStrategy}} is *@deprecated* in favor of a new {{ExecutorServiceManager}} class, which have a slightly reduced and improved API. See [CAMEL:Threading Model] for more details.
* The {{org.apache.camel.component.ResourceBasedComponent}} class from {{camel-spring}} has been deleted. Use {{DefaultComponent}} instead.
* The {{org.apache.camel.component.ResourceBasedEndpoint}} class from {{camel-spring}} has been moved to {{camel-core}}, and its dependency on Spring JARs has been removed. Use the new APIs on {{ResourceBasedEndpoint}} to load resources.
* Changed the method {{beforePoll}} slightly in the {{org.apache.camel.PollingConsumerPollingStrategy}} class.
* {{ServiceSupport}} and {{EventNotifierSupport}} classes are moved to org.apache.camel.support. This package is meant for mostly abstract base classes that make it easier to implement the API. To keep compatibility the old classes are kept as @Deprecated versions (see [CAMEL-4358|https://issues.apache.org/jira/browse/CAMEL-4358])

h2. Known Issues

* The [Tracer] may not output all details for some situations such as when using {{onCompletion}} or {{intercept}} etc.
* The project cannot fully build the site using Maven (eg running {{"mvn site"}}. There is no plan to make this work as the project do not use the maven site.
* The source code cannot fully build with JDK 7

h2. Dependency Upgrades

* Apache CXF 2.4.1 to 2.4.2
* Jackrabbit 1.5.5 to 1.6.4
* Groovy 1.8.0 to 1.8.1
* Scalate 1.5.0 to 1.5.1
* Smack 3.1.0 to 3.2.0
* XStream 1.3.1 to 1.4.1

h2. Important changes to consider when upgrading

* The [XSLT], and [Validation] components has been moved from {{camel-spring}} to {{camel-core}} as they no longer depend upon Spring JARs
* Building the source with Apache Maven 2.x is *deprecated* and support for that is to be removed in the next release.
* [Debugger] is now disabled by default in [Camel Test]. You would need to override {{isUseDebugger()}} method and return {{true}} to enable it.

h2. Notice

* Removed ANT support for the [Examples]
* The {{commons-management}} JAR is no longer required as dependency.
* Camel no longer depend on using Spring JARs for having Camel enlisted in [JMX|Camel JMX].
* Building the source with Apache Maven 2.x is *deprecated* and support for that is to be removed in the next release.

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.9.0.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0.zip] | [apache-camel-2.9.0.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.9.0.tar.gz|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0.tar.gz] | [apache-camel-2.9.0.tar.gz.asc|http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.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.9.0-src.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0-src.zip] | [apache-camel-2.9.0-src.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.0-src.zip.asc] |

| Source for Unix/Linux/Cygwin | [apache-camel-2.9.0-src.tar.gz|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0-src.tar.gz] | [apache-camel-2.9.0-src.tar.gz.asc|http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.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.9.0</version>
</dependency>
{code}

h3. SVN Tag Checkout

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

h2. Changelog

For a more detailed view of new features and bug fixes, see the:
TODO: Update link
* [release notes for 2.9.0|http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&styleName=Html]