Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added camel-zendesk

...

  • Introduced Camel Connector's which is a simplified version of a Camel component that has been pre-configured for a specific use-case.
  • Upgraded to Spring Boot 1.5.x.
  • The Camel Maven Plugin now provides the camel:validate goal to parse your Java and XML source code for any Camel routes and report invalid Camel endpoint uri and simple expression errors. You can run this at code time (not runtime). 
  • Camel Main and Spring Boot and Camel Maven Plugin can now auto terminate the JVM after Camel has been running for maximum duration of seconds, processed messages or been idle for a period.
  • Camel source code can build with Java 9 in preparation for official support for Java 9 later this year
  • All the Camel Spring Boot starter components now has more of the components default values included in their metadata which allows tooling to display such information
  • Deprecated more components and camel-core APIs that will be dropped in Camel 3.0 or sometime in the future
  • Introduced ReloadStrategy as SPI which allows custom providers to implement logic for triggering live reloads of Camel routes.
  • The  Camel Maven Plugin now allows to live reload route changes from XML files when running Camel. This can also be enabled from the Main class.
  • Introduced a new camel-catalog-rest artifact which is a tiny standalone REST API of the CamelCatalog using JAX-RS and Swagger Annotations.
  • Added camel-catalog-rest-app as a standalone application which used Apache CXF with Jetty to host the Catalog REST API with embedded Swagger UI
  • Returning null from Bean should work similar to how setBody and transform works when they set a null body.
  • The Camel Spring Boot starter components now have their auto configuration depends on org.apache.camel.springboot.CamelAutoConfiguration which makes it easier writing unit tests where you can exclude org.apache.camel.springboot.CamelAutoConfiguration to turn off Camel Spring Boot auto configuration completely.
  • Camel now supports OWASP dependency check maven plugin
  • NATS component now supports TLS and explicit flushing (with timeout) of the connection
  • Metrics component now supports Gauge type
  • File consumer now supports idempotent-changed and idempotent-rename read lock strategies for clustering. 
  • Camel Catalog now supports custom runtime providers that only includes the supported Camel components, languages and data formats running in that container. For example for Karaf or Spring Boot in the camel-catalog-provider-karaf and camel-catalog-provider-springboot.
  • The bean component will when calling a method that returned an instance of Callable now call that callable to obtain the chained result. This allows to call Groovy functions/closures etc.
  • Failover Load Balancer with inheritErrorHandler=false, now allows Camel's Error Handler to react after the load balancer is exhausted.
  • Salesforce component now supports limits, recent items, approvals and composite API
  • Dumping Camel routes as XML now includes custom namespaces which are at xpath expressions etc. Likewise updating Camel routes from XML can now include namespaces which will be associated on xpath expressions.
  • Added RouteIdFactory which can auto assign route ids based on the consumer endpoints to use more sensitible names, instead of route1, route2, etc.
  • Add skip function to Simple language
  • Upgraded to Jetty 9.3 (Jetty 9.2 still supported for Karaf 4.0.x users)
  • RouteBuilder auto-configuration can now be disabled in Camel CDI
  • Asynchronous support for CXF JAX-RS producers has been added
  • The JSonPath language now supports Map and List types and POJOs as well. For POJOs you need to have Jackson on the classpath. 
  • Data Format which marshal to JSon or XML now set the content-type header to application/json or application/xml appropriately.
  • The Kafka component can now store offset state offline (stateRepository) to preserve this information and be able to resume from previous offset.
  • The Kafka component has been improved to be easier to configure and use. Notice there is a backwards incompatible change so users need to migrate.
  • A topic based idempotent repository that is Kafka based for the Idempotent Consumer EIP
  • The Kafka component will not automatic type convert the message body to the type specified by the configured serializer (is string by default) when sending to kafka. You can also now configure key and partitionKey in the endpoint uri, instead of having to specify as headers.
  • The Kafka consumer will now auto commit on stop to ensure the broker has the latest offset commit. The option autoCommitOnStop can be configured to be sync,async or none.
  • Added easy predicate parser to JSonPath to more easily define simple predicates without using the more complex jsonpath notation with all the symbols to just say price < 50
  • The Box component has been migrated to use the Box v2 Java API as the old v1 API is going to be shutdown from summer 2017
  • Examples overview now generate from the source code to ensure its up to date at https://github.com/apache/camel/tree/master/examples#examples
  • Added query support for JPA Producer
  • Added camel-zendesk component which interacts with Zendesk server with using Zendesk Java Client

Fixed these issues

  • Fixed starting Camel on Oracle JDK 1.8.0_19 or lower, which would throw an UnsupportedOperationException
  • Fixed running mvn camel:run when using OSGi Blueprint
  • Fixed Hystrix EIP to also execute fallback if execution was rejected or short-circuited or other reasons from Hystrix. 
  • Fixed Hystrix EIP race condition when timeout was hit and fallback is executed could let to Camel Exchange having wrong caused exception.
  • Fixed adding new routes to running CamelContext and if the new routes would fail to startup, then before these routes would "hang around". Now only succesful started routes are added.
  • Adding or removing routes that starts from Undertow no longer restart the entire HTTP server
  • VM endpoint should prepare exchange with the CamelContext from the consumer and not from cached endpoint which can be different
  • Fixed a bug when using Rest DSL with SERVLET could cause a java.io.IOException: Stream closed exception when using Bean in the route. 
  • Fixed an issue when using pipeline in Java DSL not setting up the EIP correctly which could lead to runtime route not as intended.
  • Fixed Dropbox to use Stream caching to avoid reading entire file into memory so Camel can process big files
  • Fixed toD issue with splitting uris when RAW values had + sign
  • Fixed adviceWith may behave differently when using multiple advices in the same order and you would advice on the same nodes.
  • Fixed camel-zipkin to be able to startup and work with Camel XML 
  • Fixed FTP2 readLock=changed not working (when fastFileExists=false) if no sub folder was specified as starting directory.
  • Fixed Simple language when using indexing with a nested function
  • Fixed issue with @Consume not having CamelContext injected and its lifecycle managed by CamelContext
  • Fixed Netty double buffer release leak in Netty4 and Netty4 HTTP

...