Versions Compared

Key

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

* Internal code cleanup to reduce warnings reported by Eclipse
* Moved [Spring Testing] from {{camel-test}} to {{camel-test-spring}} component.
* Camel [Property Placeholders|Using PropertyPlaceholder] is now supported in embedded [Expression]s in the Camel routes.
* Added missing options in the XML DSL for the [XPath] language to control and set XPath Engine to use, etc.
* Added option {{logNamespaces}} to [XPath] language to have {{INFO}} logging of detected namespaces from message. Can be used to aid during issues with having [XPath] expression works as expected (as often its a namespace conflict).
* Added {{replyToCacheLevelName}} option to [JMS] component, to allow to configure cache levels for persistent reply consumer, when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to configure this option to {{CACHE_NONE}}.
* Added {{antInclude}} and {{antExclude}} options to [File|File2] and [FTP|FTP2] components, to make it easier to specify include/exclude using ANT style.
* The [Camel archetypes|Camel Maven Archetypes] for java and scala, no longer generates project with Spring dependency. 
* Improved {{JdbcMessageIdRepository}} in [SQL|SQL Component] to use custom sql statements/queries.
* Added option to [Properties] to allow silently ignoring property locations not found, such as a .properties file.
* Added {{managementNamePattern}} attribute to {{<camelContext>}} to make it very easy to customize and control the JMX naming of the Camel application. See details at [Camel JMX|Camel JMX#CamelJMX-ManagementNamingStrategy]. For example in OSGi environments you can explicit configure a {{managementNamePattern}} in case you do not want the bundleId as part of the MBean names.
* Added streaming update support to [Solr] as well as support for SolrInputDocuments
* Improved Camel [Mail] to support the {{replyTo}} option
* Added {{traceEnabled}} option to [Jetty] component so you have control over whether to allow HTTP TRACE calls against your Jetty endpoints.
* Polished the [Camel Maven Archetypes] to let the projects be prepared for [Testing] and fixed any WARNs from Maven.
* Added {{dumpRouteStatsAsXml}} methods to [JMX|Camel JMX] to make it easier to get the total performance stats as XML, and in one JMX call.
* [Graceful Shutdown] is now more aggressive if timeout occurred during shutdown, now rejecting continue processing messages or redeliveries.
* Add {{ShutdownPrepared}} SPI to allow custom Services (also EIPs) in routes to do custom code preparing for shutdown.
* The {{camel-archetype-java}} [Camel Maven Archetypes] is now a pure Java DSL based project (no longer Spring)
* [JMS] consumer is less verbose when logging uncaught exceptions occurred during process a message. Added {{errorHandlerLoggingLevel}}, and {{errorHandlerLogStackTrace}} options to tweak the logging verbosity.
* Added {{messageId}} as [MDC logging] key.
* Improved Camel's Transaction [Error Handler] logging to better pinpoint and correlate redelivered messages (from eg a JMS broker), making reading the logs much easier.

h3. Fixed issues

* Fixed memory leak issue when dynamic adding and removing a lot of routes at runtime.
* Fixed potential NPE in [FTP|FTP2] consumer when using double slashes as starting directory.
* Fixed [InterceptSendToEndpoint|Intercept#InterceptSendToEndpoint] with a [when|predicate] and {{skipSendToEndpoint=true}} should only skip sending if the predicate was true.
* Fixed issue with [Bean Binding] directly in method name not working properly with method call expressions.
* Fixed issue with using custom namespaces in [XPath] expressions when using [OSGi Blueprint|Using OSGi blueprint with Camel]
* Fixed [Validation] to support {{xs:import}} in the schema files.
* Fixed [Poll Enrich|Content Enricher] where timeout was not explicit configured to use the blocking mode. Was wrongly using the non blocking mode.
* Fixed [Threads EIP|Async] to handle rejected policies to ensure the [Exchange] will done the {{UnitOfWork}}, to ensure the [Exchange] will get de-registered from the inflight registry.
* Fixed [Delayer] not working with a [Bean] expression to define the delay when using XML DSL
* Fixed [JMS] consumer will no longer complain by default about no errorHandler configured, if uncaught exception was thrown during processing a message.

h3. New [Enterprise Integration Patterns]

h3. New [Components]

* {{camel-avro}}
* AWS-DDB
* {{camel-beanio}}
* {{camel-cdi}}
* {{camel-gson}} - For [JSON] data format using Google GSon project
* {{camel-mina2}}
* {{camel-ssh}} - For executing commands on a [SSH] Server
* {{camel-test-blueprint}} - For [Blueprint Testing]
* {{camel-test-spring}} - For [Spring Testing]
* {{camel-twitter}} - For integrating with [Twitter]

h3. DSL Changes

h3. New Annotations

h3. New [Data Formats|Data Format]

* {{camel-avro}}
* {{camel-beanio}}
* {{camel-gson}} - For [JSON] data format using Google GSon project

h3. New [Languages]

h3. New [Examples]

* There is a {{camel-example-ssh}}

h3. New [Tutorials]

h2. API changes/breaking

* Added {{shutdownForced}}, and {{forceShutdown}} methods to {{org.apache.camel.spi.ShutdownStrategy}}
* Add boolean parameter to {{prepareShutdown}} on {{ShutdownAware}}

h2. Internal/Non API refactorings that may affect users

* Removed method {{setManagementName}} from {{CamelContext}} as it should not be used by Camel end users
* Added {{isTransactedRedelivered}} method to [Exchange]

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

* AHC 1.6.5 to 1.7.0
* AWS 1.2.2 to 1.3.0
* Commons-codec 1.4 to 1.6
* CXF 2.5.1 to 2.5.2
* Jetty 7.5.3 to 7.5.4
* Hadoop 0.20.203.0 to 1.0.0
* Hazelcast 1.9.4.4 to 1.9.4.6
* Jasypt 1.7 to 1.8
* Jetty 7.5.3 to 7.5.4
* Kratti 0.4.1 to  0.4.3
* Shiro 1.1.0 to 1.2.0
* Spring 3.0.6 to 3.0.7
* Spring Integration 2.0.5 to 2.1.0
* Spring Security 3.0.7 to 3.1.0
* Tagsoup 1.2 to 1.2.1

h2. Important changes to consider when upgrading

* Moved [Spring Testing] from {{camel-test}} to {{camel-test-spring}} component.
* Combination of {{skipSendToEndpoint=true}} and {{when}} predicate now triggers conditional skipping (you may be relying on unconditional skipping up until now)
* The thread name pattern has changed tokens to avoid clashing with [Using PropertyPlaceholder], see [Threading Model] for more details.
* The [Poll Enrich|Content Enricher] will now block if no messages is available, if no explicit timeout value has been configured.

h2. Notice

* If you want to deploy Apache Camel 2.9.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5.

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.10.0.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip] | [apache-camel-2.10.0.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.10.0.tar.gz|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.tar.gz] | [apache-camel-2.10.0.tar.gz.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.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 Distribution | [apache-camel-2.10.0-src.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip] | [apache-camel-2.10.0-src.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip.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.10.0</version>
</dependency>
{code}

h3. SVN Tag Checkout

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

h2. Changelog

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