Apache camel 4.9.0 Release
New and Noteworthy
This release is the new Camel 4.9.0 release.
Supported Java version
This version supports Java 17 and 21.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>4.9.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>4.9.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-4.9.0-src.zip (Sources) | PGP Signature, SHA512 Checksum |
apache-camel-4.9.0-sbom.xml (SBOM, CycloneDX XML) | PGP Signature, SHA512 Checksum |
apache-camel-4.9.0-sbom.json (SBOM, CycloneDX JSON) | PGP Signature, SHA512 Checksum |
Git tag checkout
Release is tagged with camel-4.9.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-4.9.0
Resolved issues
Here is a list of all the issues that have been resolved for this release
Bug (72)
- CAMEL-21493
- camel-ref: should use CamelContext.hasEndpoint but not CamelContext.getEndpoint to check existence of an endpoint
- CAMEL-21488
- camel-jbang - Export with multiple customer kamelets
- CAMEL-21487
- camel-jbang - Should be able to load route template files
- CAMEL-21471
- camel-quartz ignores ignoreExpiredNextFireTime when endAt is expired
- CAMEL-21467
- Simple expressions execute forever. Thread is RUNNABLE for ever. Issue appears with bean expressions inside simple expressions on SimpleLRUCache
- CAMEL-21460
- [camel-opentelemetry] Cannot run with Camel Springboot runtime
- CAMEL-21446
- configmap/secret - default takes precedence
- CAMEL-21444
- camel-jbang - catalog using since-after can do NPE if version is single digit
- CAMEL-21436
- camel-jbang - Export beans with secret function should work even if k8s is not configured
- CAMEL-21435
- Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and retry, the application hangs
- CAMEL-21432
- multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache
- CAMEL-21430
- camel-rest-openapi - Generated produces string is missing media types
- CAMEL-21423
- camel-crypto - It is not possible to use "inline" with "AES/GCM/NoPadding"
- CAMEL-21420
- camel-yaml-io - YAML model serializer is not serializing XPath expression namespaces
- CAMEL-21419
- Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected
- CAMEL-21407
- camel-dynamic-router component: unsubscribe by control message does not work
- CAMEL-21406
- camel-sql - RowMapperFactory should be configurable to refer a bean by id
- CAMEL-21404
- camel-jbang - Skip files without extension when using --source-dir
- CAMEL-21403
- AS2 Component - Incorrect message length calculation when generating MIC for EDI messages with multi-byte characters
- CAMEL-21401
- camel-core - Custom bean in DSL using factory method should avoid ClassCastException
- CAMEL-21399
- Kubernetes plugin regression. Fails on OCP deployments
- CAMEL-21397
- camel-file: autoCreateStepwise not working in Windows
- CAMEL-21386
- camel k8s run --dev does not work on openshift
- CAMEL-21382
- camel-core - Tracing with headers that are Map type can cause ClassCastException when dumping as XML
- CAMEL-21381
- camel k8s cannot run spring-boot on openshift
- CAMEL-21379
- camel-salesforce: introduce delay in pub/sub reconnect attempts
- CAMEL-21376
- UseOriginalAggregationStrategy - null pointer
- CAMEL-21374
- camel-jbang - Export pipe with local kamelets seems to fail
- CAMEL-21372
- Camel JBang Export/Run are not working based on external camel-version setting
- CAMEL-21363
- camel-whatsapp - Serialization error in MessageResponse when the Message object returns "message_status" from the endpoint.
- CAMEL-21362
- camel k8s run cannot find pod on openshift
- CAMEL-21361
- fabric8 kubernetes-client fails to connect to openshift
- CAMEL-21355
- LangChain4j Tools fails with direct LLM response
- CAMEL-21345
- Invalid manifest with jbang camel k8s --cluster-type openshift
- CAMEL-21340
- camel-spring-boot - JSON validator object mapper and standalone tomcat
- CAMEL-21339
- camel-rest - Client request validation and empty body
- CAMEL-21337
- Camel-Jbang: Camel run with runtime=quarkus doesn't use group-id from config
- CAMEL-21329
- camel-zipfile (and camel-tarfile) - Null body is not supported by ZipAggregationStrategy
- CAMEL-21328
- Camel-AS2 signing MDN message with SHA1 and MD5 not sha-256
- CAMEL-21318
- camel-platform-http-starter executed on multiple async threads
- CAMEL-21316
- camel-jbang - Export with k8s secret does not include camel-kubernetes
- CAMEL-21306
- camel-jsonpath - Null should be accepted return value
- CAMEL-21305
- camel-pdf: type converter doesn't work with stream cache
- CAMEL-21302
- camel-opentelemetry context leak with direct async producer
- CAMEL-21301
- [camel-jbang] Error when running openapi contract first with Q or SB
- CAMEL-21293
- camel-core - Unmarshal processor should close InputStream after processing
- CAMEL-21291
- Camel-smb: Producer requires "FileExist" parameter and "Exchange.FILE_NAME" header to work
- CAMEL-21290
- camel-jbang - Export activemq should include connection pool
- CAMEL-21289
- camel-jbang - Export with --local-kamelet-dir
- CAMEL-21287
- Camel-Azure-Files: missing header for AZURE_IDENTITY
- CAMEL-21285
- [camel-jbang] Error exporting from different directory
- CAMEL-21280
- azure-files: Only CredentialType.SHARED_ACCOUNT_KEY is handled
- CAMEL-21271
- camel-jbang - Export @PropertyInject should support ENV variables
- CAMEL-21269
- camel-langchain4j-tokenizer: tokenizer are unusable in YAML
- CAMEL-21267
- camel-jbang k8s delete command may not see k8s run dir
- CAMEL-21263
- camel-smb: unable to read files after connection has closed
- CAMEL-21256
- camel-github startingSha=last does not work with large history
- CAMEL-21243
- camel-braintree-starter tries to use org.osgi:org.osgi.core:8.0.0
- CAMEL-21240
- camel-jbang - Download does not work with --source-dir option
- CAMEL-21239
- camel-report-maven-plugin - NPE if route does not have id
- CAMEL-21238
- camel-jbang - k8s run - Reloading project does not change route behaviour
- CAMEL-21235
- Cannot run k8s app in namespace other than default
- CAMEL-21227
- camel k8s run ignores output format
- CAMEL-21219
- camel-jms - Sending request/reply should not include temporary CamelJmsDeliveryMode header
- CAMEL-21216
- Apache Camel LRA does not work with Oracle MicroTX LRA coordinator
- CAMEL-21215
- camel-jbang: unreliable export to Quarkus without lazy binding
- CAMEL-21211
- camel-azure-servicebus - Default header filter strategy can try to propagate headers of types not supported by the Service Bus protocol
- CAMEL-21210
- camel-jbang - Optimized backlog tracer may miss information about which endpoint sent to
- CAMEL-21209
- camel-langchain4j-tools: incorrect metadata prevents usage for tooling
- CAMEL-21199
- Camel-jackson not properly marshalling 4-byte characters
- CAMEL-21188
- No EndpointBuilder for camel-activemq6
- CAMEL-21133
- camel-jbang: export a project using langchain4j-chat does not compile
Dependency upgrade (13)
- CAMEL-21470
- camel-datasonnet - Upgrade to 3.0.0
- CAMEL-21455
- camel-beanio - Upgrade to 3.2.0
- CAMEL-21447
- camel-spring-boot - Upgrade to 3.4.0
- CAMEL-21393
- Upgrade to Jackson 2.18.1
- CAMEL-21367
- camel-smooks - Upgrade to 2.0.1
- CAMEL-21366
- camel-spring-boot - Upgrade to 3.3.5
- CAMEL-21344
- Update OpenTelemetry dependencies to use out of the box thread-pool functionality
- CAMEL-21312
- camel-debezium - Upgrade to 3.0
- CAMEL-21310
- camel-jackson - Upgrade to 2.18
- CAMEL-21232
- camel-http - Upgrade to 5.3 causes test failures
- CAMEL-21231
- camel-jq - The JQ library is not as active maintaned
- CAMEL-21229
- camel-spring-boot - Upgrade to 3.3.4
- CAMEL-20593
- camel-kafka - Use official ASF docker images instead of confluent
Improvement (92)
- CAMEL-21492
- Doc: it would be nice to have a list of components usable for payload security
- CAMEL-21489
- camel-micrometer - Make it possible to skip routes
- CAMEL-21482
- camel-jaxb - JaxbDataFormat ignoreJAXBElement is default true
- CAMEL-21481
- camel-jbang - Capture reload error when doing route reloads
- CAMEL-21477
- Camel-Google-Storage: Add prefix option to consumer
- CAMEL-21475
- camel-yaml-dsl - Using route templates with hardcoded ids problem
- CAMEL-21474
- Camel-SMBProducer is never disconnecting
- CAMEL-21462
- [camel-observability-services] Include more components
- CAMEL-21459
- camel-jbang - Version list to include old releases
- CAMEL-21454
- camel-main - Do not trigger JVM shutdown hook if already shutting down
- CAMEL-21445
- camel-core - Vault with secret refresh should be disabled as default
- CAMEL-21434
- camel-kamelet-main: decouple from Camel JBang
- CAMEL-21431
- camel-jbang - camel export using dot instead of star
- CAMEL-21427
- camel-xml-io - XML model serializer is serializing default values
- CAMEL-21422
- CPU Load sometimes returns empty String
- CAMEL-21421
- Move assertj version to parent
- CAMEL-21415
- [camel-micrometer-prometheus] Make endpoint metrics configurable
- CAMEL-21414
- [camel-micrometer-prometheus] Make endpoint metrics configurable
- CAMEL-21412
- camel-test - Make it easy to use expression outside route builder
- CAMEL-21411
- camel-openapi-rest - Should default load specification from classpath
- CAMEL-21402
- Enhance Camel's testing capabilities of MockEndpoint with Expressions
- CAMEL-21387
- Let's add some default dependencies to camel-opentelemetry-starter
- CAMEL-21384
- [camel-micrometer] Analyse the possibility to harmonize the metrics endpoint
- CAMEL-21383
- Add OIDC support for Knative Http client
- CAMEL-21380
- camel-salesforce: pub/sub: add ability to opt out of proxy
- CAMEL-21378
- Enable camel-opentelemetry-starter by default
- CAMEL-21377
- camel-jbang - Add default values to --help
- CAMEL-21375
- Camel-AWS-Secrets-Manager: Support Properties Function with Localstack in Spring Boot
- CAMEL-21373
- Camel-AWS-Secrets-Manager: Delete operation add an header for forcing the deletion
- CAMEL-21371
- camel-core - Add converter for Reader to InputStream
- CAMEL-21369
- camel-jbang - Kubernetes plugin - Use quarkus extensions for Route trait
- CAMEL-21358
- Add Knative Http client SSL support
- CAMEL-21357
- camel-jq: Add ability to resolve the root scope from the registry
- CAMEL-21353
- camel-core - Add possibility to set some condition for Camel to wait during startup before continuing
- CAMEL-21351
- camel-core - AllowAllHeaderFilterStrategy
- CAMEL-21349
- Add support for camel spring-boot on OpenShift
- CAMEL-21348
- camel-spring-boot-examples : add an example how to use jolokia-starter
- CAMEL-21347
- camel-aws - Head bucket should have option to return true|false instead of throwing exception
- CAMEL-21342
- camel-kamelet-main - openapi generator should be optional and downloaded dynamically
- CAMEL-21336
- camel-kamelet - Allow Kamelets configured by EnvVars only
- CAMEL-21335
- camel-jbang - Command to start route should log start summary
- CAMEL-21333
- camel-core - RemoveHeaders should default to remove all
- CAMEL-21331
- camel-jbang - Kubernetes run/export - Remove trait-profile option
- CAMEL-21326
- camel-jbang - Kubernetes run --verbose
- CAMEL-21322
- camel-core - CamelRestartRouteEvent as event for supervised controller restarting a route
- CAMEL-21321
- camel-main - Allow configuring long ENV names using more human readable
- CAMEL-21320
- camel-main - Configuring camel.server should allow ENV variables
- CAMEL-21315
- Throw an exception or add a warning when multiple ToDefinitions are defined in Rest DSL
- CAMEL-21311
- NATS: Automatically added nats:// prefix in servers-parameter blocks the usage of NATS' built-in Websocket support
- CAMEL-21309
- camel-cxf - When Exchange is using otel then run synchronous to avoid leaking spans
- CAMEL-21307
- camel-smb: should provide the file name via header
- CAMEL-21303
- camel-core - Tone down logging noise for IOHelper close
- CAMEL-21300
- camel-platform-http - Consumer should have option to control if writing response failing should cause Exchange to fail
- CAMEL-21298
- camel-jbang - VersionList to output in json
- CAMEL-21294
- [Camel JBang] Run/Export hardcoded platform-http
- CAMEL-21292
- camel-jbang - Export to quarkus should map JARs to quarkiverse JARs
- CAMEL-21286
- Add a cache to JAXB object factories on JAXB Marshalling/Fallback converter
- CAMEL-21282
- camel-file: allow creating folders one by one
- CAMEL-21279
- camel-jbang - Export using custom kamelets should not add not needed kamelet JARs
- CAMEL-21277
- camel-smb: should use WrappedFile for consistency
- CAMEL-21276
- camel-kamelet - ENV variable name configuration - Can we support underscore for long names
- CAMEL-21273
- camel-jbang can not run with the saga() dsl
- CAMEL-21264
- camel-smb: should use avoid leaking implementation details
- CAMEL-21261
- camel-opentelemetry does not use it's context propagators
- CAMEL-21260
- camel-cxf - Allow to configure synchronous on component level
- CAMEL-21259
- [Camel JBang] Missing dockerfile in springboot and main runtime
- CAMEL-21258
- camel-core - Add SPI for before/afterExecute on Camel thread pools
- CAMEL-21255
- camel-core - Add listener for creating ThreadFactory in ExecutorServiceManager
- CAMEL-21253
- Camel AWS Kinesis: KCL Consumers, make the ConfigsBuilder for metrics of the Scheduler enable/disable
- CAMEL-21247
- camel-core - CamelThreadFactory should create thread via newer JDK api
- CAMEL-21246
- camel-jbang - Export should include console & management if dev console is enabled
- CAMEL-21241
- camel-core - Properties dev console to capture actual values
- CAMEL-21237
- Allow Endpoint DSL in Rest DSL 'to'
- CAMEL-21234
- camel-core - Log EIP to use exchange formatter for ${exchange}
- CAMEL-21224
- camel-jbang - Total counter should have option to show total as remote only
- CAMEL-21221
- camel-jms - Should default filter out Camel headers like other components
- CAMEL-21217
- camel-rest-openapi consumer: request and response types
- CAMEL-21214
- camel-core - BrowsableEndpoint - Optimize for a get size only
- CAMEL-21213
- camel-groovy - Align variables to use same naming as simple
- CAMEL-21212
- camel-groovy - Add log as a variable to make it easy to write to log in a script
- CAMEL-21201
- camel-ftp - Enrich exception with FTP client error codes if failing to upload file
- CAMEL-21189
- camel-jms: Add idleReceivesPerTaskLimit
- CAMEL-21183
- camel-core - BrowseEndpoint should have limit parameter
- CAMEL-21174
- camel-core - Allow to use groovy in the log EIP
- CAMEL-21152
- Camel-Jbang Kubernetes Plugin: remove dependency to camel k
- CAMEL-21138
- camel-jbang - Export should use lazy beans
- CAMEL-21128
- camel-core - Add trust all certificate for easier TLS/SSL development
- CAMEL-21104
- camel-jbang - Delete used files when creating a Camel project "in-place" with Camel JBang
- CAMEL-21085
- camel-jbang - Init - Support providing absolute path for camel file creation using Camel JBang
- CAMEL-21068
- Add support for `camel kubernetes run` for all runtimes
- CAMEL-21063
- Provide health endpoint for k8s export main
- CAMEL-11780
- camel-amqp - SSL Transport configuration
New Feature (27)
- CAMEL-21443
- Read-Eval-Print loop for Camel JBang
- CAMEL-21398
- Smooks Data Format
- CAMEL-21396
- Introduce a fury format
- CAMEL-21392
- camel-jbang - Add support for --cluster-type=k3s
- CAMEL-21391
- camel-core - Add configuring dataFormats into model DSL
- CAMEL-21389
- camel-flowable - Add component for flowable
- CAMEL-21330
- Camel-AWS-Secrets-Manager: Support Properties Function with Localstack
- CAMEL-21324
- Camel-AWS-Secret-Manager: for context reloading on secret refresh we should check also UpdateSecret Event
- CAMEL-21323
- Camel-AWS-Secrets-Manager: Add a PutSecretValue operation to producer
- CAMEL-21275
- Camel-Clickup Spring Boot Starter
- CAMEL-21265
- Create ApplicationEnvironmentPreparedEvent for Vault components
- CAMEL-21262
- Camel-AWS2-S3: Explicitly add Producer operations HeadObject and HeadBucket
- CAMEL-21251
- Camel-AWS2-S3: Support Conditional Reads on producer operations
- CAMEL-21249
- Camel-Kamelets: Move Kamelets utils in Camel Kamelets component
- CAMEL-21248
- Camel-Aws2-S3: Support Conditional Writes
- CAMEL-21244
- camel-clickup component
- CAMEL-21242
- camel-jolokia-starter - a new starter to easily expose Jolokia endpoint
- CAMEL-21226
- camel-jasypt-starter: Support early properties' decryption on properties files
- CAMEL-21207
- Camel-Opensearch: Provide a parameter to set HostNameVerifier on client
- CAMEL-21206
- Camel-Google-Storage: Support prefix in ListObjects operation
- CAMEL-21202
- Add a ThreadPoolFactory to propagate OpenTelemetry contexts
- CAMEL-21193
- camel-jbang - Add receive command
- CAMEL-21186
- AWS Secrets Manager: Support Batch Retrieval for Secrets
- CAMEL-21179
- Secret Properties Functions: Supporting secret name containing "/"
- CAMEL-21166
- Kubernetes Configmaps: Trigger context reloading on update
- CAMEL-21018
- Add a component for PyTorch TorchServe
- CAMEL-20503
- camel-http OAuth2 support for caching / refreshing tokens
Sub-task (2)
- CAMEL-21458
- Kubernetes Configmaps: Trigger context reloading on update - Documentation
- CAMEL-21360
- Camel Spring Boot: Vault early resolving properties documentation
Task (23)
- CAMEL-21485
- camel-spring-boot - The dynamic-router-eip example is failing
- CAMEL-21483
- Camel-upgrade-recipes: cover upgrading camel 4.8 to 4.9
- CAMEL-21464
- camel k8s run ... may lead to exec format error
- CAMEL-21453
- Camel-Spring-Boot: Kubernetes Configmaps Trigger context reloading on update
- CAMEL-21448
- camel-etcd3: deprecate component etcd3
- CAMEL-21410
- Replace usage of STRICT_VALIDATOR with UTF_VALIDATOR
- CAMEL-21395
- camel-debezium - Avoid split packages
- CAMEL-21343
- No longer possible to recreate camel-vm
- CAMEL-21338
- camel-jbang - Running java route seems to be slow at resolving java-dsl
- CAMEL-21334
- Camel-opensearch - Provide ppc64le arch support
- CAMEL-21272
- Move jbang camel-k plugin to camel-k git repo
- CAMEL-21252
- Add checking for non .*-versions to sync-properties-maven-plugin
- CAMEL-21236
- Explicitly enable/disable quarkus image push
- CAMEL-21205
- Remove Groovy DSL
- CAMEL-21204
- Remove JavaScript DSL
- CAMEL-21203
- Remove JavaShell DSL
- CAMEL-21131
- Camel-upgrade-recipes: 4.0 recipe does ignore one of its sub-recipes
- CAMEL-21127
- Migrate from Deprecated o.a.maven.plugins.annotations.Component
- CAMEL-20923
- camel-jbang: Camel JBang is unable to load langchain4j embeddings
- CAMEL-20888
- Remove Kotlin DSL and API
- CAMEL-20837
- camel-test: implement extensions for CamelTestSupport
- CAMEL-19767
- camel-core: test should not catch AssertionError
- CAMEL-19538
- camel-mllp: replace Thread.sleep in tests
Test (3)
- CAMEL-21417
- Broken tests in various components
- CAMEL-21332
- Smpp tests broken on main branch
- CAMEL-21297
- camel-test-infra-dispatch-router not working due to SEGFAULT in running qdrouterd
Wish (1)
- CAMEL-21158
- Add exception as variable to expression languages
Keys
You can verify your download by following these procedures and using these KEYS.