Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The component documentation generated from the source code has been double checked to be up to date and include all the options the endpoints supports.
  • Camel commands for Spring Boot
  • Many improvements to Camel Kura
  • Added transacted option to SQL Component when used as a consumer in a transacted route.
  • Added support for UPDATE operation to ElasticSearch.
  • Allow to reuse existing configured Elasticsearch Client on the ElasticSearch component, instead of creating a client per endpoint. 
  • The include and exclude options on File2 and FTP endpoints is now case in-sensitive out of the box.
  • Resource based component such as XSLTVelocity etc can load the resource file from the Registry by using ref: as prefix.
  • Upgraded camel-amqp to the latest qpid-jms-client (also AMQP < 1.0 is not supported anymore).
  • Many improvements to Camel AMQP component.
  • The Metrics Component allows to capture Message History performance statistics with the MetricsMessageHistoryFactory 
  • Reduced the number of mbeans enlisted in the services tree, to only include mbeans that has value to be managed.
  • The Elasticsearch Component now supports MultiGet operation
  • The Throttler has been improved to be more performant and use a rolling window for time periods which gives a better flow.
  • The setHeader and setExchangeProperty allows to use a dynamic header key using the Simple language if the name of the key is a Simple language expression.
  • Add collate function to Simple language to make it easier to split a message body into sub lists of a specified size. The function is similar to the collate function from Groovy.
  • The Camel Run Maven Goal is able to auto detect if its a OSGi Blueprint or CDI project so end users no longer have to explicit configure this on the plugin.
  • Camel-Elasticsearch now supports Multiget, Multisearch and exists operation
  • Camel-Git now supports Cherry-pick operation
  • Stopping the Main class from JMX will now trigger shutdown of the Main class/JVM also, as it does when hitting ctrl + c.
  • Added option to skipFirst to the Tokenizer language to make it easy to skip the very first element, when for example splitting a CSV file using the Splitter EIP.
  • The Rest DSL now supports default values for query parameters
  • The Rest DSL now only binds from POJO to JSon/XML if the content-type is for json or xml. This allows you to specify a custom content-type and omit the binding, such as when having binary payloads.
  • Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.
  • Camel Error Handler no longer log message body/header details when logging the Message History. This avoids logging any sensitive details from message bodies.
  • Camel Exception Clause and Error Handler now supports using a custom Processor to be invoked right after an exception was thrown using the new onExceptionOccurred option.
  • RabbitMQ consumer more resilient to auto re-connect in case of connection failures
  • The JSON camel-jackson can be used as a type converter to convert json to/from POJO and String/byte[] types, if enabled.
  • The SQL Component now supports loading the SQL queries from external files on the classpath or file system, where you can format the queries using newlines and indenting.
  • The Mail consumer allows to use an idempotent repository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process.
  • Added support for completion interval on the SJMS Batch component, which allows to trigger batch completion in a fixed scheduled interval.
  • The HTTP and HTTP4 producers now support the disableStreamCache option to allow to use the raw response stream as the message body instead of wrapping using Stream caching
  • The Camel CDI component has been improved to better fit into the CDI programming model, cover a larger set of containers, and provide these new features:
    • The Camel events from the org.apache.camel.management.event package (like CamelContextStartedEvent) can be observed as CDI events
    • The new CDI event Camel endpoint enable CDI events to be seamlessly consumed from (respectively produced by) Camel consumers (respectively Camel producers)
    • CDI beans annotated with the @Converter annotation are automatically registered as type converters
    • The CDI Camel contexts can be properly customised programmatically in bean constructor or @PostConstruct lifecycle callback
    • Camel routes configured in RouteBuilder beans are added before the corresponding Camel contexts get started
    • CDI Camel contexts are now properly adapted when deployed in OSGi containers and are registered as OSGi services
    • Proper support of multiple Camel contexts across all the features
  • The XSLT component now supports Saxon's integrated extension functions.
  • Added option reuseChannel to Netty4 which allows to reuse existing Channel when using a netty producer to call a server multiple times during routing an Exchange.
  • Idempotent Repository now supports optional serialized headers 
  • Camel-quartz2 now supports customCalendar to avoid specific range of dates (Holidays for example) in Scheduler and Triggers.

Fixed these issues

  • The Swagger Java now parses nested types in the POJO model that has been annotated with the swagger api annotations to use in the schema api model
  • Fixed Rest DSL with apiContextPath fail to start if there are 2 ore more rest's in use.
  • Paho component name is not limited to 4 characters anymore.
  • Fixed Spring Boot not starting Camel routes if running in Spring Cloud.
  • Fixed an issue with Swagger Java using api-docs could lead to api-doc route being added multiple times
  • Fixed a few things missing in the generated swagger model when using Swagger Java
  • Fixed using statement.xxx options on the JDBC consumer would only be used in first poll.
  • Fixed  HTTP and HTTP4 to keep trailing slash if provided in uri when calling remote HTTP service.
  • Fixed OnCompletion to keep any caught exception stored as property on the Exchange which allows to access that information to know if there was an exception during routing.
  • Fixed an issue with Bean component or Simple language with OGNL method call, would pick method with java.lang.Object type over a better suited method, when the method is overloaded.
  • Fixed camel-blueprint to wait for the bundles with the component and data-formats the Rest DSL has been configured to use, are available before starting Camel.
  • Fixed an issue with Error Handler would log any handled(true) exceptions.
  • Fixed a memory leak if adding/removing routes using Idempotent Consumer where the repository would not be removed from the JMX registry when routes is removed.
  • Fixed issue with Spring Boot would eager shutdown some Camel resources like type converters, which spring-boot should let Camel handle the lifecycle of these resources.
  • Fixed CXFRS using simple binding mode would use the content-length header from the incoming message in the response, instead of calculating the length based on the output message body.
  • Fixed Idempotent Consumer would not propagate exception thrown from IdempotentRepository to Camel's Error Handler such as onException

...