Apache camel 3.1.0 Release

New and Noteworthy

This release is the new Camel 3.1.0 major release.

Supported Java version

This version supports Java 8 and 11.

Getting the Binaries using Maven

To use this release in your Apache Maven pom.xml, import the Camel Bill of Materials (BOM) and then include the camel-core and any other components needed without specifying the version.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-bom</artifactId>
      <version>3.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
  </dependency>
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-COMPONENT</artifactId>
  </dependency>
</dependencies>

To use this release in a Spring Boot application, use Spring Boot spring-boot-dependencies and Camel camel-spring-boot-bom Bill of Materials (BOM):

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version> SPRING BOOT VERSION HERE </version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.camel.springboot</groupId>
      <artifactId>camel-spring-boot-bom</artifactId>
      <version>3.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-COMPONENT-starter</artifactId>
  </dependency>
</dependencies>

Apache Camel

Download Signature and checksum
apache-camel-3.1.0-src.zip (Sources) PGP Signature, SHA512 Checksum

Git tag checkout

Release is tagged with camel-3.1.0 in the Git, to fetch it use:

git clone https://git-wip-us.apache.org/repos/asf/camel.git
cd camel
git checkout camel-3.1.0

Resolved issues

Here is a list of all the issues that have been resolved for this release

Bug (65)

CAMEL-14594
ProducerServicePool - Memory leak
CAMEL-14593
Eager type converter creation breaks WildFly integration
CAMEL-14591
Recipient List EIP - MemoryLeak
CAMEL-14586
camel-core - Disable cache on some EIPs seems to not be working correlction
CAMEL-14579
Camel-mail: MemoryLeak when sending mails using recipient list or dynamic to
CAMEL-14577
QuartzEndpoint returns no trigger parameters
CAMEL-14561
Camel-Blueprint fails on JDK8 with NPE
CAMEL-14548
resilience4j doesn't catch configuration from spring boot
CAMEL-14534
Wrong message in some cases in org.apache.camel.PropertyBindingException
CAMEL-14529
Pipeline inconsistency due to mutable processors list
CAMEL-14510
NullPointerException with @BeanInject
CAMEL-14506
came-ftp - streamDownload=true and stepwise=true for larger files could cause deadlock
CAMEL-14503
camel-package-maven-plugin:generate fails with NPE for component outside the camel source tree
CAMEL-14492
EtcdKeysEndpoint cannot be cast to AbstractEtcdPollingEndpoint
CAMEL-14462
Camel-Blueprint: Endpoint parameters not recognized
CAMEL-14457
Groovy language: NoClassDefFoundError in OSGi environment
CAMEL-14456
camel-master - RAW() parameter value in delegated URI gets encoded
CAMEL-14453
ensure Camel Rest Swagger example work again
CAMEL-14452
Unable to configure font or page size on PDF endpoints
CAMEL-14449
camel-main: duration properties are ignored
CAMEL-14447
OpenApi V3: ensure all variables are parsed for Server Url
CAMEL-14442
Scheduler no longer shared between routes using the same scheduler name
CAMEL-14441
Stomp connections are not established when the queues have additional features
CAMEL-14439
camel-openapi-java: OasInfo may miss parent pointer
CAMEL-14424
camel-salesforce - HTTP responses over 4 MB fail
CAMEL-14420
Support `KafkaOffsetBackingStore` in camel-debezim
CAMEL-14419
Enrich EIP - Should wrap in UoW
CAMEL-14412
Maven central now requires HTTPS
CAMEL-14396
websocket-jsr356 consumer fails when endpoint URI parameters are provided
CAMEL-14390
websocket-jsr356 producer hangs
CAMEL-14387
camel-salesforce - Null pointer exception when restart client in SubscriptionHelper
CAMEL-14372
Validator component fails with java.lang.IllegalArgumentException: protocol = http host = null
CAMEL-14368
can't gracefully shutdown a camel-undertow consumer endpoint
CAMEL-14366
JUnit declared in compile scope
CAMEL-14363
Camel netty requestTimeout doesn't work as expected
CAMEL-14350
camel-main: xml routes discovery does not work outside the classpath
CAMEL-14340
camel-core - Concurrency issue in multipool for non singleton producers
CAMEL-14333
Camel Jgroups Component doesn't export org.apache.camel.component.jgroups.cluster
CAMEL-14332
camel-blueprint - Camel route does not consider the value of ShutdownStrategy timeout.
CAMEL-14327
Jt400PgmProducer doStop() method called on actively used instance
CAMEL-14323
XMPP room with password disconnect after bootup
CAMEL-14318
camel-blueprint - <proxy> in XSD is anyType
CAMEL-14312
Fix issues reported by lgtm.com
CAMEL-14306
Endpoint DSL - ToD sets hash parameter when using complex objects as parameters
CAMEL-14303
Setting matchOnUriPrefix on netty-http Rest Component causes api route to fail
CAMEL-14302
Camel-spring: No longer possible to invoke static method of non-spring bean
CAMEL-14300
Java 8 Supplier overloadings break all DSLs
CAMEL-14299
camel-sql - Dynamic producer (toD) problem
CAMEL-14277
NPE when NATS server not configured
CAMEL-14272
Configuring endpoint with bean reference should fail if no such bean found
CAMEL-14271
camel di does not work for routes discovered from the registry
CAMEL-14268
Component auto configuration fails in Java 11
CAMEL-14267
Conversion fails with NullPointerException when the body is null at the end of a route and an outputType is set
CAMEL-14265
camel-cdi - Standalone CDI with Camel Main discovers routes twice
CAMEL-14257
allowUseOriginalMessage not configurable
CAMEL-14243
Opentracing with JMS not working when JmsComponent is defined as a Spring bean
CAMEL-14242
camel-rabbitmq - Binding parameters with x- is not possible when using endpointdsl
CAMEL-14241
InfluxDb does not define its dependency on okio
CAMEL-14234
Project generated with camel-archetype-spring-boot cannot be built
CAMEL-14224
Camel-Websocket: The sendToAll method in the Producer is really slow
CAMEL-14223
EndpointBuilderFactory is not updated whenever `:camel-package:generate-endpoint-dsl` is executed
CAMEL-14220
camel-activemq - Setting brokerURL via camel-main issue
CAMEL-14219
ReactiveStreams subscriber does not enforce type conversion
CAMEL-14213
camel-jms - Using XA and having 2 or more connection factories issue
CAMEL-11947
Race condition in iec60870 producer

Improvement (131)

CAMEL-14590
Camel-Pulsar consumer calls unsubscribe on doStop/doSuspend, potentially deleting subscription
CAMEL-14589
camel-cxf - Service beans can only be set via context
CAMEL-14582
camel-bean - Optimize excluded methods
CAMEL-14580
camel-main - Add option to clear reifier when no need to add new routes
CAMEL-14572
camel-core - Optimize type converter for some basic convertions
CAMEL-14571
camel-core - Optimize type converter eager created
CAMEL-14570
camel-zookeeper-master - Use testcontainers for testing
CAMEL-14569
camel-zookeeper - Use test containers for testing
CAMEL-14564
Webhook endpoint may not be fully initialized when the route policy is applied
CAMEL-14563
The camel api generator maven plugin does not support packages correctly
CAMEL-14560
Use a custom xref checker as the antora one is very slow
CAMEL-14559
Use String in definition fields to be able to leverage property placeholders
CAMEL-14546
camel-xmlsecurity - Split up into verify and sign endpoints
CAMEL-14545
Document the Camel Catalog
CAMEL-14538
camel-core - Do not load type converters via package scanning by default
CAMEL-14523
Sort component options correctly
CAMEL-14521
Unicode problem in Bindy component for fixed length data
CAMEL-14517
camel-core - JAXB JARs should be dependencies on camel-xml-jaxb and not globally
CAMEL-14515
camel-core - Include spi annotations in camel-api
CAMEL-14509
camel-package-maven-plugin - generate-component - Make it generate so the code is in the JAR by default
CAMEL-14502
JSR 356 Websocket component does not work properly on Spring Boot
CAMEL-14501
gain fully control of xml parser used by saxon
CAMEL-14500
camel-core - spi-annotations is not optional
CAMEL-14498
camel-core - Make RuntimeCamelCatalog a simpler API
CAMEL-14497
camel-core - Avoid camel-util-json if not needed
CAMEL-14489
camel-core-engine - XML and JAXB should be optional
CAMEL-14487
camel-jaxp - Rename to camel-xml-jaxp
CAMEL-14485
camel-componentdsl - Sort the component in the pom.xml and ComponentsBuilderFactory
CAMEL-14484
ValidateReifier requires camel-jaxp
CAMEL-14483
camel-endpointdsl dependency on camel-jaxp and camel-util-json
CAMEL-14481
camel-spring-boot: Remove camel-management to disable JMX by default
CAMEL-14477
camel-netty - Disable object serialization
CAMEL-14471
camel-spring-boot: Disable proxying of bean methods for auto-configuration classes
CAMEL-14466
camel-core - Optimize reduce error handler memory usage
CAMEL-14461
camel-core - Make RuntimeCatalog optional and in its own module
CAMEL-14460
camel-core - Optimize and allow to turn off case insensitive headers
CAMEL-14438
camel-core - Optimize core for checking for stop routing
CAMEL-14436
CamelContext - Move ReactiveExecutor to ExtendedCamelContext
CAMEL-14435
camel-core - Optimize using reactive executor
CAMEL-14433
Optimize core - Message ID should default to be same as exchangeID
CAMEL-14428
Terminate the JVM for OutOfMemoryError when running tests
CAMEL-14427
camel-core - Optimize UnitOfWork route context push/pop
CAMEL-14426
camel-core - Optimize inflight repository
CAMEL-14425
Mail Consumer Performance Optimization
CAMEL-14422
DefaultShutdownStrategy not masking sensitive information
CAMEL-14421
optimize core - ServiceSupport should not have instance logger
CAMEL-14418
camel-timer - Add option to turn on/off metadata
CAMEL-14416
Camel Pulsar: support subscriptionInitialPosition for consumers
CAMEL-14414
Aggregation completion has inconsistent property/header handling
CAMEL-14411
Avoid using reflection when configuring DataFormats
CAMEL-14409
camel-core - Optimize Exchange
CAMEL-14406
Component configurer - Generate API for returning which properties the component have
CAMEL-14403
Add capability to customize server endpoints created by websocket-jsr356 consumer
CAMEL-14401
Restore default host/port options for IPFS
CAMEL-14399
camel-osgi OsgiDefaultCamelContext does not use JmxManagementStrategyFactory
CAMEL-14398
camel-core - MessageHistory off by default
CAMEL-14397
DefaultComponent should prefer getting the configurers from the registry before checking the FactoryFinder
CAMEL-14393
Components that are DelegateEndpoint need to set some basic options
CAMEL-14392
Components that are consumer only should not have option lazyStartProducer
CAMEL-14389
Make entrypoint for "endpoint dsl" static
CAMEL-14384
camel-jsonpath: Do not use reflection on the annotation proxy in DefaultAnnotationExpressionFactory
CAMEL-14383
camel-core - Bean language add support for declaring type explicit
CAMEL-14380
camel-core - Add hostname function to simple language
CAMEL-14379
camel-core - Route lifecycle should not log full endpoint uris
CAMEL-14377
Add configuration option to disable BraintreeLogHandler
CAMEL-14376
camel-netty-http - Drop servlet dependency
CAMEL-14375
camel-kafka - The saslJaasConfig option may contain sensitive information that can be logged
CAMEL-14374
Camel-irc validation of endpoint's url fails for correct url
CAMEL-14371
Upgrade to velocity 2.1
CAMEL-14367
review netty-all usage
CAMEL-14364
Endpoint DSL - Add default values in javadoc
CAMEL-14361
camel-http - Avoid reflection in creating http method
CAMEL-14359
camel-bean - Let cache be default enabled
CAMEL-14357
camel-bean - Add start/stop to BeanHolder so we can do eager lookup
CAMEL-14356
camel-core - toString of processors should favour just outputting their node id
CAMEL-14355
PDF producer should close PDF documents
CAMEL-14354
camel-core - Optimize unnecessary object allocations
CAMEL-14353
Eager init LRUCacheFactory
CAMEL-14352
Add camel-openapi as api-doc discovered component
CAMEL-14351
camel-rest - Rest producer may detect multiple rest producer factory
CAMEL-14349
camel-core - Transformer and Validator registry should be on-demand
CAMEL-14347
camel-core - Remove default producer/consumer service pool from CamelContext
CAMEL-14346
Camel-CoAP: Add a recommendedCipherSuitesOnly option to the endpoint
CAMEL-14345
camel-core - Optimize SendProcessor to not use ProducerCache when not needed
CAMEL-14344
camel-milo - Upgrade to newer milo version
CAMEL-14342
Add cacheSize option to recipientList EIP
CAMEL-14339
JMX - ManagedProducer - should have routeId
CAMEL-14338
Processor - Add RouteIdAware so EIP processors can know which route they are serving
CAMEL-14336
Default shutdown timeout should be reduced to 45 seconds
CAMEL-14330
camel-aws-lambda - Operation should invoke function by default
CAMEL-14329
Adding component should not autowire singleton from registry in nested mode
CAMEL-14328
camel-aws-lambda - Function should not be configurable on component level
CAMEL-14325
Add new functions on camel-cmis component
CAMEL-14321
camel-osgi-activator Allow RouteBuilders to be added Pre Camel Context Start
CAMEL-14316
Http component - Tests cleanup
CAMEL-14313
Camel-AWS Translate: Add terminology names support
CAMEL-14311
Provide validation for Camel properties files
CAMEL-14309
Include Camel Main in the catalog
CAMEL-14308
Upgrade to Kafka 2.4.x
CAMEL-14307
camel-rabbitmq - unable to set empty routing key when declaring DLX
CAMEL-14292
Remove unwanted dependency to google-http-client library
CAMEL-14288
Endpoint configurer should deal better with list types
CAMEL-14287
getComponent on CamelContext should initialize component
CAMEL-14284
Configuring endpoint should set properties on endpoint and not configuration object
CAMEL-14278
Upgrade to microprofile config 1.5
CAMEL-14275
Camel component option with Properties should be configurable in SB
CAMEL-14273
Configuring endpoint which fails in setter should repot this as property binding exception
CAMEL-14270
[camel-quart2-starter] Can't set properties using application.properties
CAMEL-14266
Add getStartDate to CamelContext api
CAMEL-14263
Generate configurers for types annotated with @UriParams
CAMEL-14253
camel-nats - Configure brokers on component level
CAMEL-14251
camel-nats - Store message payload in body/headers
CAMEL-14250
Allow custom configurations into Kafka component
CAMEL-14247
camel-netty - Turn off component level shared thread pool and use nettys workers directly
CAMEL-14246
Camel-SQL: Relax the modifier for datasource setter by removing final
CAMEL-14245
[camel-main] allow to enable/disable auto confioguiration per component/language/data-format
CAMEL-14240
Add backlogTracing into the spring/blueprint XML
CAMEL-14238
Ensure generated catalog is providing a valid json even if there is no description provided
CAMEL-14233
camel-kafka - topic overriding not possible when using aggregation
CAMEL-14229
STOMP headers are missing in the Exchange
CAMEL-14228
camel-netty - Let netty calculate the default worker count
CAMEL-14154
Add option to create cache if it doesn't exists in camel-infinispan
CAMEL-14074
http - Allow restricted headers
CAMEL-13830
Move examples to a new camel-examples git repo
CAMEL-13575
Use strings instead of boolean/integer/long in definition fields
CAMEL-13213
Cannot use rest-swagger component with swagger.json provided over HTTPS protocol
CAMEL-12962
camel-elasticsearch - Allow from and size for SearchSource / SearchRequest to be set via URI
CAMEL-12219
Camel-Solr: support for soft commit
CAMEL-11833
camel-catalog : provide a catalog model
CAMEL-11727
Upgrade Groovy to version containing Ivy fixes for cache resolution
CAMEL-6950
camel-sjms: Lacks reconnection logic in case of exception

New Feature (25)

CAMEL-14588
MailConsumer: Move mail after processing
CAMEL-14525
provide a bean definition to the auto configuration by property feature
CAMEL-14475
camel-core - Make loading XML pluggable via SPI
CAMEL-14468
Add support for classification in camel-weka
CAMEL-14443
Add new producers to camel-jira
CAMEL-14440
Add Workday report as a service component.
CAMEL-14417
[camel-jslt] Create spring-boot starter for camel-jslt
CAMEL-14400
Add support for Weka Data Mining
CAMEL-14385
Camel-cron component
CAMEL-14360
Allow overriding message key and partition key for aggregated kafka messages
CAMEL-14348
Camel-AWS Lambda: Add alias operations
CAMEL-14315
add openapi-rest-dsl-generator
CAMEL-14301
Stomp Component has no option to set custom headers
CAMEL-14282
came-nsq - Configure servers on component level
CAMEL-14279
Move camel-core-osgi-activator to Components camel-osgi-activator
CAMEL-14252
camel-nats - Add support for reply-to in consumer
CAMEL-14235
camel-seda - Add option to discard if full
CAMEL-14227
camel-rest-swagger - Add support for OpenApi 3.0 spec
CAMEL-14221
Stomp Component has no option to set version
CAMEL-14215
Camel Main for OSGi
CAMEL-14159
camel-elytron - Security component
CAMEL-13903
camel-telegram - use a stock HTTP client instead of the JAX-RS client
CAMEL-13807
Component DSL - To configure components like endpoint DSL
CAMEL-13699
Add Json to Json transformation using JSLT
CAMEL-12619
camel-swagger-java - Add support for 3.0 spec

Sub-task (19)

CAMEL-14553
Create an AWS-SQS component based on SDK v2
CAMEL-14552
Create an AWS-SNS component based on SDK v2
CAMEL-14551
Create an AWS-SES component based on SDK v2
CAMEL-14550
Create an AWS-SDB component based on SDK v2
CAMEL-14519
Create an AWS-DDB component based on SDK v2
CAMEL-14518
Create an AWS-EC2 component based on SDK v2
CAMEL-14508
Create an AWS-CloudWatch component based on SDK v2
CAMEL-14491
Create an AWS-IAM component based on SDK v2
CAMEL-14478
Create an AWS-KMS component based on SDK v2
CAMEL-14476
Able to extend workday component for futher entities support
CAMEL-14464
Create an AWS-MSK component based on SDK v2
CAMEL-14463
Create an AWS-MQ component based on SDK v2
CAMEL-14458
Create an AWS-EKS component based on SDK v2
CAMEL-14446
Create an AWS-ECS component based on SDK v2
CAMEL-14408
Create an AWS-Translate component based on SDK v2
CAMEL-13228
telegram - Games support
CAMEL-13226
telegram - Stickers support
CAMEL-13224
telegram - Inline mode
CAMEL-13223
telegram - Implement methods to update messages

Task (44)

CAMEL-14585
camel-spring-boot - The BOM includes a wrong target artifactId
CAMEL-14558
Execute camel-kafak tests with testcontainers
CAMEL-14549
Remove camel-itest-karaf
CAMEL-14543
Execute camel-etcd tests with testcontainers
CAMEL-14539
camel-spring-boot - Add STARTER markers in doc files
CAMEL-14532
Fix issues with camel-snakeyaml
CAMEL-14530
camel-catalog - Remove html docs
CAMEL-14528
Move camel-spring-boot-* into a core folder
CAMEL-14516
Components should use the endpoint configurer when possible
CAMEL-14513
camel-cdi - Remove OSGi stuff
CAMEL-14507
Enhance components/endpoints configurers to inherit the parent
CAMEL-14505
Remove meta-annotations
CAMEL-14504
camel-apt - No longer used replaced by camel-package-maven-plugin
CAMEL-14474
Dead link in "Message Exchange" doc to "Exchange" doc
CAMEL-14469
Switch to maven plugins and remove apt processors
CAMEL-14459
camel-webhook - RAW() parameter value handling in delegated URI
CAMEL-14451
Camel master doesn't build on JDK11
CAMEL-14448
Move all generated source code in git
CAMEL-14445
Remove the property placeholder resolution inside definitions
CAMEL-14444
Build speed improvements
CAMEL-14437
Use a single model / json representation for all internal tooling generators
CAMEL-14415
Camel-itests-spring-boot should be removed from the main repository
CAMEL-14404
Provide a lightweight xml parser
CAMEL-14388
Camel-Slack: Remove username from SlackMessage, since the API doesn't return it anymore
CAMEL-14382
camel-core test failures
CAMEL-14365
Create OpenTracing SpanDecorator for platform-http component
CAMEL-14334
camel-restdsl-openapi-plugin: tests are failing
CAMEL-14331
camel-spring-boot - Dev profile fails
CAMEL-14320
Update building instructions
CAMEL-14314
Camel-AWS Translate: Being able of set source and target language as endpoint options
CAMEL-14295
Camel-cm-sms: Karaf and Spring Boot integration tests are broken
CAMEL-14290
Upgrade to pulsar 2.4.2
CAMEL-14286
camel-osgi-activator Create Examples for Component Usage
CAMEL-14285
came-osgi-activator create tests in project based on Karaf bundle install rather than features
CAMEL-14276
Move camel-core-osgi-activator to components
CAMEL-14274
camel-crypto-cms - Deprecate this component as its hard to maintain
CAMEL-14259
camel-spring-boot - When using main-run-controller then CamelContext is initialized twice
CAMEL-14255
Deadlink for ExchangePattern
CAMEL-14254
Add Camel 3.x migration guide
CAMEL-14244
camel-opentracing - Associate decorators with component FQN also
CAMEL-14239
XSD schema for Camel 3 release for OSGi blueprint put online
CAMEL-14232
camel-ftp: the sftp serverAliveInterval option documentation is not clear
CAMEL-14226
Move spring-boot support into a different repository
CAMEL-14188
Upgrade debezium to 1.0 Final

Test (5)

CAMEL-14566
camel-mongodb - Use testcontainers for testing
CAMEL-14562
camel-elastichsearch - Use testcontainers for testing
CAMEL-14547
camel-itest-karaf - JDK8 tests fails
CAMEL-14304
Unit Test for STOMP Consumer Header Filter Strategy
CAMEL-14260
camel-rabbitmq - Use testcontainers to test with docker

Keys

You can verify your download by following these procedures and using these KEYS.