Apache camel 4.18.3 Release
New and Noteworthy
This release is the new Camel 4.18.3 LTS 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.18.3</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.18.3</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.18.3-src.zip (Sources) | PGP Signature, SHA512 Checksum |
| apache-camel-4.18.3-sbom.xml (SBOM, CycloneDX XML) | PGP Signature, SHA512 Checksum |
| apache-camel-4.18.3-sbom.json (SBOM, CycloneDX JSON) | PGP Signature, SHA512 Checksum |
Git tag checkout
Release is tagged with camel-4.18.3 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.18.3
Resolved issues
Here is a list of all the issues that have been resolved for this release
Bug (33)
- CAMEL-23834
- camel-smb forward slashes rejected on Windows System STATUS_OBJECT_NAME_INVALID
- CAMEL-23828
- camel export --quarkus-version is ignored — registry resolution overwrites the user-specified version
- CAMEL-23821
- camel-jbang: camel validate plugin doesn't find any files
- CAMEL-23814
- camel-core - Optional secret property placeholders in YAML DSL parameters not stripped due to RAW() wrapping
- CAMEL-23811
- camel-micrometer: app.info gauge value uses weak reference causing NaN values
- CAMEL-23805
- HTTP endpoint summary not logged on startup when supervised route controller is enabled
- CAMEL-23740
- LangChain4jAgentConverter WrappedFile converter fails for FTP/SFTP GenericFile — requires manual convertBodyTo workaround
- CAMEL-23739
- camel-openai: support WrappedFile, byte[], and InputStream bodies for vision models
- CAMEL-23730
- AggregateReifier.mandatoryLookup fails during export dry-run even with lazyBean=true
- CAMEL-23729
- camel-google-secret-manager: NoClassDefFoundError due to protobuf 3.x/4.x version mismatch
- CAMEL-23698
- camel-rest-openapi - Producer appends trailing ? to URL when no query parameters are set
- CAMEL-23646
- BackgroundTask callbacks return inverted boolean in sjms, pgevent, and master causing infinite retry loops after successful recovery
- CAMEL-23627
- Exception not caught when Slack returns a response code > 299
- CAMEL-23571
- Google PubSub component leaves orphaned channels when using PubSub emulator
- CAMEL-23547
- camel-core - Properties component should eager start custom functions resolver
- CAMEL-23523
- camel-kafka: batchingIntervalMs timer not reset on new accumulation cycle, causing premature single-message batches after idle periods
- CAMEL-23513
- completeAllOnStop() does not complete aggregations when used with completionInterval()
- CAMEL-23505
- camel-splunk-hec: align hostname verification with system default in SplunkHECProducer
- CAMEL-23504
- camel-keycloak: KeycloakSecurityHelper.parseAndVerifyAccessToken should include the IS_ACTIVE predicate on TokenVerifier
- CAMEL-23494
- preparingShutdown flag not reset on error handlers after suspend/resume — causes silent transaction rollback and redelivery suppression
- CAMEL-23469
- Infinite redelivery loop when child route with NoErrorHandler uses removeHeaders("*")
- CAMEL-23461
- Camel-AWS-Bedrock: applyGuardrail reads guardrail identifier from wrong header
- CAMEL-23448
- camel-launcher jolokia fails to attach agent — JAR path unresolvable from nested Spring Boot JAR
- CAMEL-23422
- camel-spring-rabbitmq - Exported camel-jbang project with RabbitMQ consumer not consuming messages anymore on runtime main
- CAMEL-23419
- camel-nats - Consumer does not work in pull mode
- CAMEL-23384
- camel-kamelet-main: camel export fails with IllegalArgumentException on kamelets using transformDataType EIP
- CAMEL-23378
- camel-spring-boot - Block String to InputStream conversion in SpringTypeConverter
- CAMEL-23355
- camel-jbang: export with kamelet aws-ddb-sink - transformer aws2-ddb is not working
- CAMEL-23334
- JBang plugin resolution checks remote repositories on every CLI invocation even when artifacts are cached locally
- CAMEL-23291
- EventHubs and Google PubSub consumers lack ShutdownAware support, causing potential message loss during graceful shutdown
- CAMEL-23192
- jbang export to quarkus generates wrong dockerfiles
- CAMEL-23124
- camel-docling - Fix CLI mode ProcessBuilder deadlock with sequential stream reading
- CAMEL-23120
- camel-docling - Implement batchSize sub-batch partitioning in batch processing
Dependency upgrade (2)
- CAMEL-23731
- camel-spring-boot - Upgrade to SB 3.5.15
- CAMEL-23401
- Upgrade JSch to 2.28.2 (RSA certificate authentication fix)
Improvement (46)
- CAMEL-23803
- camel-jackson-avro / camel-jackson-protobuf: block unsafe polymorphic base types by default in the data format ObjectMapper
- CAMEL-23787
- camel-jacksonxml: block unsafe polymorphic base types by default in the XmlMapper
- CAMEL-23786
- camel-jackson: block unsafe polymorphic base types by default in the data format ObjectMapper
- CAMEL-23783
- camel-schematron: harden the rules TransformerFactory against external entities (XXE)
- CAMEL-23782
- camel-leveldb: apply an ObjectInputFilter to aggregation-repository key deserialization
- CAMEL-23765
- camel-ftp/sftp/mina-sftp/azure-files/smb: contain localWorkDirectory downloads within the work directory
- CAMEL-23762
- camel-whatsapp: support X-Hub-Signature-256 verification of inbound webhook payloads
- CAMEL-23760
- camel-oauth: require a JWK set to verify token signatures in UserProfile
- CAMEL-23759
- camel-spring-ws: apply a HeaderFilterStrategy to inbound SOAP headers
- CAMEL-23738
- camel-keycloak: always verify the access token in KeycloakSecurityPolicy regardless of configured roles/permissions
- CAMEL-23726
- camel-pqc: Use JSON instead of Java serialization for key metadata in AWS and HashiCorp Vault lifecycle managers
- CAMEL-23716
- camel-salesforce - align Exchange header constant names with Camel naming convention
- CAMEL-23651
- camel-netty-http and camel-undertow: align muteException default with the other HTTP components
- CAMEL-23630
- camel-dapr - add HeaderFilterStrategy and avoid copying routing-relevant CloudEvent fields into Camel exchange headers
- CAMEL-23629
- camel-irc - align Exchange header constant names with Camel naming convention
- CAMEL-23621
- camel-langchain4j-tools / camel-langchain4j-agent / camel-spring-ai-tools: tool argument headers should be filtered against declared parameters
- CAMEL-23597
- camel-solr - align Exchange header prefix constants with Camel naming convention
- CAMEL-23588
- camel-undertow - align websocket header names with Camel naming convention (CAMEL-23532 follow-on)
- CAMEL-23584
- camel-kafka - align Exchange header constant names with Camel naming convention
- CAMEL-23576
- camel-jira - align Exchange header constant names with Camel naming convention
- CAMEL-23575
- camel-mongodb-gridfs: align Exchange header constant names with Camel naming convention
- CAMEL-23574
- camel-dns - align Exchange header constant names with Camel naming convention
- CAMEL-23532
- camel-vertx-websocket / camel-atmosphere-websocket / camel-iggy - use dedicated HeaderFilterStrategy aligned with sibling components
- CAMEL-23528
- camel-neo4j: validate property names when building MATCH/DELETE WHERE clause
- CAMEL-23526
- camel-cxf: align Exchange header constant names with Camel naming convention
- CAMEL-23524
- camel-couchdb / camel-couchbase - align Exchange header constant values with Camel naming convention
- CAMEL-23522
- camel-mail: filter mail.smtp.* / mail.smtps.* namespace from producer headers
- CAMEL-23516
- camel-xmpp - Use dedicated HeaderFilterStrategy aligned with sibling components
- CAMEL-23515
- camel-nats - Use dedicated HeaderFilterStrategy aligned with sibling components
- CAMEL-23511
- camel-jgroups-raft: align Exchange header constant names with Camel naming convention
- CAMEL-23510
- camel-jgroups: align Exchange header constant names with Camel naming convention
- CAMEL-23509
- camel-lucene: align Exchange header constant names with Camel naming convention
- CAMEL-23508
- camel-elasticsearch-rest-client: align Exchange header constant names with Camel naming convention
- CAMEL-23507
- camel-cometd: Integrate HeaderFilterStrategy for inbound header mapping
- CAMEL-23506
- camel-aws2-sqs / camel-aws2-sns - align HeaderFilterStrategy with sibling components
- CAMEL-23409
- camel-sjms - Disable ObjectMessage by default
- CAMEL-23399
- camel-mina - Upgrade to 2.2.7
- CAMEL-23379
- camel-core - DefaultHeaderFilterStrategy should be lower-case by default
- CAMEL-23373
- camel-jms - Disable ObjectMessage by default
- CAMEL-23372
- Tighten default ObjectInputFilter to deny java.net.** before java.**
- CAMEL-23363
- camel-platform-http-main - NPE if you enable healt-check but lack JAR
- CAMEL-23353
- camel-jbang: Support configurable default Maven repositories and dynamic Quarkus platform version resolution from registry
- CAMEL-23324
- camel-vertx-http, camel-netty-http - Add deserialization filtering in helper utilities
- CAMEL-23320
- camel-platform-http-starter - Fix binary data corruption due to Spring Boot's default UTF-8 charset
- CAMEL-23312
- Opentelemetry2: SpanLifecycleManager.create() missing SpanKind parameter causing incorrect span types
- CAMEL-23212
- Camel-Docling: Harden CLI argument injection validation in camel-docling
Task (1)
- CAMEL-23414
- camel-hazelcast: Allow customization of SerializationConfig on managed Hazelcast instances
Test (2)
- CAMEL-23754
- CustomJarsITCase.testCustomJars is broken on 4.18.x
- CAMEL-23725
- CI sometimes stay blocked on InOutQueueProducerAsyncLoadTest for 4.18.x
Keys
You can verify your download by following these procedures and using these KEYS.