Apache camel 4.23.0 Release

New and Noteworthy

This release is the new Camel 4.23.0 LTS release.

Supported Java version

This version supports Java 17, 21 and 25.

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.23.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.23.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

Git tag checkout

Release is tagged with camel-4.23.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.23.0

Resolved issues

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

Bug (508)

CAMEL-25593
camel validate normalize for rest verbs fails
CAMEL-25553
camel-aws-secrets-manager, camel-azure-key-vault, camel-google-secret-manager, camel-ibm-secrets-manager, camel-cyberark-vault - properties functions are not thread safe
CAMEL-25551
camel-azure-storage-blob, camel-huaweicloud-obs, camel-alibaba-oss, camel-aws2-s3-vectors - do not consume an object again while its exchange is in flight
CAMEL-25533
camel-jbang - camel run ignores camel.server.port (and the other camel.server.* settings) for the HTTP server started for platform-http unless camel.server.enabled=true
CAMEL-25527
camel-mybatis, camel-sql - the consumer runs onConsume for a failed (camel-mybatis) or rollback only (both) exchange, so the row is marked as consumed and not polled again
CAMEL-25525
camel-keycloak - the consumer routes the latest events of a poll again in the next poll, although the docs promise fingerprint-based deduplication
CAMEL-25524
camel-mina-sftp - the producer writes a file in the charset of the exchange instead of the charset option, and fails for a null body with allowNullBody=true
CAMEL-25523
camel-slack - the consumer skips messages when more than maxResults messages are posted between two polls
CAMEL-25522
camel-ibm-cos - consumer with fileName routes the object again while its exchange is in flight, and a batch cut short by a route stop leaves its objects in progress and their streams open
CAMEL-25521
camel-aws2-s3 - consumer with fileName routes the object again while its exchange is in flight, and objects of a batch cut short by a route stop are never consumed after a restart
CAMEL-25520
camel-google-mail - google-mail-stream consumer routes a message again while its first exchange is still in flight (asynchronous routes)
CAMEL-25519
camel-google-storage - consumer routes an object again while its first exchange is still in flight (asynchronous routes)
CAMEL-25518
camel-hashicorp-vault - secret refresh never detects updates of secrets outside the "secret" engine, nor updates made before its first check
CAMEL-25512
camel-minio - consumer routes an object again while its first exchange is still in flight (asynchronous routes)
CAMEL-25511
camel-jooq - the consumer deletes an entity whose exchange failed (consumeDelete=true, the default), so the row is lost
CAMEL-25510
camel-openapi-java - the allowable values of an array parameter are generated as the enum of the array instead of its items, so the parameter accepts no value
CAMEL-25509
camel-ldif - "changetype: modrdn" ignores newsuperior, and "changetype: moddn" without newsuperior moves the entry to the root
CAMEL-25508
camel-mybatis - a String body with a comma runs Insert, Update and Delete once per comma-separated part
CAMEL-25507
camel-lucene - with several lucene endpoints, a query searches the index of the endpoint created last
CAMEL-25506
camel-lucene - concurrent queries can get another query's hits, and queries fail after the route is restarted
CAMEL-25505
camel-lucene - inserts fail for good after the route is restarted, after one failed insert, and when two inserts run at the same time
CAMEL-25504
camel-jta, camel-spring - a transacted exchange that completes during a graceful shutdown is rolled back instead of committed
CAMEL-25500
camel-core - removeAllRoutes / stopAllRoutes stop routes one by one, so a route still sending to a direct route is cut off instead of drained
CAMEL-25497
camel-jbang - camel run with --jvm-debug, --jvm-args or --open-telemetry-agent starts the default Camel version of the jbang catalog
CAMEL-25495
camel-jbang - camel export --runtime=quarkus ignores --java-version in the generated Dockerfile
CAMEL-25494
camel-yaml-io - YAML route dump writes routeConfiguration onException items without their onException key, which neither the schema nor the loader accept
CAMEL-25490
camel-jbang - camel validate normalize writes a top-level onException into the steps of every route, which the YAML DSL schema rejects
CAMEL-25486
camel-http - the OAuth2 token request with a resource indicator sends only the resource parameter
CAMEL-25485
camel-jbang - the validator does not report a top-level ternary in a Simple expression that starts with resource:
CAMEL-25483
camel-rest-postman - a remote collection's placeholders resolve Camel properties, JVM system properties and environment variables
CAMEL-25470
camel-dataweave - $ shorthand with .@attr, .*field or ? is mis-converted without a TODO
CAMEL-25457
camel-http-common - a non-chunked text String response replaces the charset that the Content-Type declares with the exchange charset
CAMEL-25456
camel-wasm - a trap in the guest function leaks its memory on the shared instance, and the cleanup releases the error buffer with the wrong size or hides the original exception
CAMEL-25455
camel-wasm - the wasm predicate never matches a Boolean, String or byte[] result
CAMEL-25454
camel-jbang - kubernetes run: --cluster-type=k3s with --output fails, and the Minikube defaults replace image options set by the user
CAMEL-25452
camel-jbang - camel export ignores --resource-dir, the directories never reach the exported project
CAMEL-25437
camel-jbang - camel run --prop key=value with a space is silently ignored
CAMEL-25431
camel-core - backlog tracer: a route called later by the same exchange is stamped with the time the exchange was created
CAMEL-25428
camel-jbang - dev mode reload keeps the old instance of a bean whose Java source changed
CAMEL-25427
camel-support - on-demand route reload fails with FileNotFoundException after a route file is removed from the source dir
CAMEL-25425
camel-jbang - Quitting the monitor deletes the files of examples that are still running
CAMEL-25424
camel-jbang - MCP camel_control ignores the name of the integration and acts on the selected one
CAMEL-25423
camel-jbang - camel run --example with a runtime does not copy the data folders of the example
CAMEL-25422
camel-jbang - camel run pom.xml runs a Quarkus project as Camel Main when the BOM coordinates are properties
CAMEL-25419
Saga EIP: keep the original exception when compensation fails, and stop the in-memory saga service from reporting failed compensations as compensated
CAMEL-25418
camel-jbang - camel get vault does not list the Kubernetes config map names
CAMEL-25417
camel-jbang - An opened folder run with F10 stays listed as Starting next to its running app
CAMEL-25414
camel-debezium-mongodb - mongodbSslInvalidHostnameAllowed is not marked insecure:ssl
CAMEL-25413
camel-kubernetes: trustCerts option misannotated as security=secret instead of security=insecure:ssl
CAMEL-25409
camel-mongodb, camel-aws2-transcribe, camel-twitter - security metadata of three options does not match the code
CAMEL-25401
camel-jira - fugue 7.0.1 is compiled for Java 25, so camel-jira fails on Java 17 and 21
CAMEL-25385
camel-jbang - the send_message MCP tool times out and does not send the message when headers are given
CAMEL-25384
camel-kubernetes - the kubernetes-secrets dev console throws NPE when no Kubernetes vault is configured, so camel ps/get do not show the integration
CAMEL-25383
camel-support - EndpointUriFactorySupport removes an unset optional path option by name from inside the value of an earlier path option
CAMEL-25376
camel-netty-http - match security constraint roles by exact role name
CAMEL-25375
camel-undertow - Apply securityProvider, allowedRoles and handlers to WebSocket endpoints consistently with HTTP endpoints
CAMEL-25369
camel-spiffe - the SpiffeSecurityPolicy doc example denies every request, and the policy has no negative tests
CAMEL-25367
camel-yaml-dsl - Route dump omits doCatch and doFinally written as doTry properties
CAMEL-25366
camel-core - No type converter from String or Number to BigDecimal, so simple bodyAs/convertTo/resultType BigDecimal give null
CAMEL-25361
camel-couchbase - with useView=true and fullDocument=false the body is an Optional, and fullDocument is documented as default false although it defaults to true
CAMEL-25360
camel-cloudevents - application-cloudevents+json ignores the datacontenttype when it writes the data: JSON of a text/plain body is nested, JSON scalars are strings, bytes that are not valid text are lost
CAMEL-25356
camel-cm-sms - messages with <, >, ¤ or a form feed are sent as unicode: the GSM 03.38 regex contains HTML entities
CAMEL-25355
camel-support - an empty charset parameter of the Content-Type (charset=) sets an empty CamelCharsetName, and converting the body then fails (servlet, Jetty and HTTP producer)
CAMEL-25354
camel-cron - five-part schedules fail with the Spring implementation ("Cron expression must consist of 6 fields"), and Unix schedules such as */5 * * * * fail with the Quartz implementation
CAMEL-25353
camel-sql - a :#in: parameter whose name is the start of a later :#in: name breaks the later one ("in (?,?License)"), and :#in:${...} with [ or ( is not expanded
CAMEL-25352
camel-main - CAMEL_COMPONENT_*, CAMEL_DATAFORMAT_* and CAMEL_LANGUAGE_* environment variables are ignored, and a name that starts with another one (NETTY_HTTP, SJMS2, JSONPATH, ...) is mapped to the shorter one
CAMEL-25351
camel-reactive-streams - stopping a consumer drops the items it already received, and after a restart it may never request again
CAMEL-25350
camel-reactive-streams - exchanges of a batch never complete when the subscriber cancels while the batch is sent
CAMEL-25349
camel-jbang - camel run . --dev does not reload changed or new route files
CAMEL-25347
camel-yaml-dsl: Validate scalar alternatives without losing required fields
CAMEL-25346
camel-console - a dev console capacity set from configuration breaks the trace, receive, event and sql-trace consoles
CAMEL-25345
camel-util - URISupport.normalizeUri is not idempotent when the path has # or two @ and a query value has = or #
CAMEL-25337
Wrong comparison in sendAcknowledgement of camel-mllp — SEGMENT_DELIMITER compared against loop index instead of byte value
CAMEL-25327
camel-jbang - the source validator finds the project's classes under src/main/java
CAMEL-25324
camel-dataweave - common DataWeave constructs are converted wrongly or dropped
CAMEL-25323
camel-dataweave - unconverted DataWeave fails silently or points at the generated DataSonnet; add an executed test corpus
CAMEL-25320
camel-core - the separator of @PropertyInject is used as a regular expression: with | the value is split into single characters, with . there are no values
CAMEL-25319
camel-aws2-sqs - batchSeparator is used as a regular expression: with | every character is sent as a message, with . nothing is sent
CAMEL-25318
camel-smpp - an 8-bit message is split by its length in characters, not bytes, and a message one segment past 255 gets the segment count 0
CAMEL-25317
camel-iso8583 - unmarshal fails with "IsoType ... is not known" for every message type without an ISO header or with a binary ISO header
CAMEL-25316
camel-http-common - a String response is written in the exchange charset while the Content-Type declares another charset (servlet and Jetty consumers, chunked by default)
CAMEL-25315
camel-zookeeper-master - a master whose consumer failed to start never consumes, and a consumer started while the leadership is lost or the route stops keeps running
CAMEL-25314
camel-cxf, camel-cxfrs - a suspended consumer keeps accepting and routing new requests (graceful shutdown, suspendRoute, route policies)
CAMEL-25313
camel-kafka - a consumer resumed after a suspend may never consume again: the fetcher thread ends while the consumer is suspended, and a pause or resume request can be overwritten
CAMEL-25312
camel-sjms - a suspended consumer keeps consuming (graceful shutdown, suspendRoute, route policies), and a consumer started again receives nothing
CAMEL-25308
camel-smpp: the deliverSm and dataSm paths create exchanges on the endpoint instead of the consumer, so pooling never applies and fromRouteId is unset
CAMEL-25305
camel-netty-http - a String body is sent in the exchange charset, not in the charset the Content-Type declares, and the request charset parameter is only recognized in lower case
CAMEL-25304
camel-barcode - unmarshal fails with NoTypeConversionAvailableException unless the body is a file (byte[] body, image received over HTTP, marshal and unmarshal in one route)
CAMEL-25303
camel-barcode - text outside ISO-8859-1 comes back as '?' (the documented default encoding UTF-8 is not used), and the hints added before the route starts are dropped
CAMEL-25302
camel-google-sheets - the google-sheets:application-x-struct data type gives the custom column names to the wrong columns when the range does not start at column A (values lost or repeated), and miscomputes columns beyond ZZ
CAMEL-25301
camel-cloudevents - the application-cloudevents+json data type writes invalid JSON when an attribute value or a text body contains a quote, a backslash or a line break, or when the text starts with '[' or '{'
CAMEL-25300
Throttle EIP - the clean of the total requests throttler can hand out a second set of permits, so more exchanges than allowed pass in a time period
CAMEL-25299
Error handler - with asyncDelayedRedelivery, allowRedeliveryWhileStopping=false is ignored: a route stop waits for the redelivery delay and then redelivers
CAMEL-25298
camel-rocketmq - an InOut exchange is completed twice when its reply arrives at the request timeout, or the reply is delivered twice
CAMEL-25297
camel-direct, camel-kamelet - while one exchange waits for the consumer of a suspended or stopped route, the other exchanges of the same producer are sent to that route
CAMEL-25295
camel-undertow - the charset parameter of the Content-Type is only recognized in lower case (Charset=ISO-8859-1 is read and written as UTF-8)
CAMEL-25294
camel-consul - the readTimeout and writeTimeout options set the connect timeout of the Consul client, so the read and write timeouts cannot be configured
CAMEL-25293
camel-hivemq - the consumer discards the messages it already acknowledged, and interrupts the ones being processed, when it stops
CAMEL-25292
camel-plc4x - a stopped triggered consumer keeps its scraper running (exchanges after stop, duplicates after a restart), and the triggered consumer cannot start without jackson-databind
CAMEL-25291
camel-plc4x - a write that cannot be done completes the exchange successfully, and the polling consumer answers a failed read with an empty result
CAMEL-25290
camel-couchdb - the consumer ignores updates=false, and stops seeing changes for good after a page of changes that deletes=false or updates=false skips
CAMEL-25289
camel-iggy - after 8 failed sends or polls the producer and the consumer wait forever for a pooled client; stopped producers and consumers leak their connections; autoCommit=false fails without startingOffset
CAMEL-25288
camel-dapr - the consumers close the configured or autowired Dapr clients when they stop, and the configuration consumer fails to start in a route with a NullPointerException
CAMEL-25287
camel-splunk-hec - the producer fails to start with "NullPointerException: SSL context" when no sslContextParameters is configured
CAMEL-25286
camel-consul - ConsulClusterView stops taking part in the leader election after a failed query or when Consul invalidates its session, and can keep the leadership while another node takes it
CAMEL-25281
camel-pubnub - an endpoint without its own PubNub client fails to start unless publishKey, secretKey and authKey are all set ("Parameter specified as non-null is null")
CAMEL-25280
camel-snmp - concurrent exchanges on one endpoint share the producer's request PDU, so a GET_NEXT walk can silently return another walk's subtree or an incomplete result
CAMEL-25279
camel-knative - a consumer with reply=false answers 204 No Content when the route fails, so Knative takes the event as delivered
CAMEL-25278
camel-cometd - a stopped consumer stays subscribed to its channel (each message is processed twice after a route restart), and the extensions and server listeners are added again for every producer and consumer
CAMEL-25277
camel-nats - a request to an InOut consumer whose route fails gets a successful reply with the body of the failed exchange (usually its own request)
CAMEL-25276
camel-pubnub - a consumer receives the messages of the other channels of a shared PubNub client, every route restart adds another listener (messages received twice), and removing a route destroys the shared client
CAMEL-25275
camel-consul - the key/value and event consumers stop watching for good after one failed query, while the route stays started
CAMEL-25274
camel-dapr - the pub/sub consumer acknowledges every event with SUCCESS before the route has processed it, so Dapr drops the events whose route fails
CAMEL-25273
camel-kubernetes - the watch consumers stop receiving events for good when the Kubernetes client closes their watch with an error (410 Gone), while the route stays started
CAMEL-25272
camel-rocketmq - the consumer acknowledges the message of a failed exchange (the message is lost), and an InOut send without replyToTopic completes successfully when the send fails
CAMEL-25262
xtokenize via dynamic language: in YAML DSL NPEs
CAMEL-25255
camel-yaml-io / camel-java-io - model writers: rests, route templates, interceptors and error handlers not written as their DSL loads them
CAMEL-25253
camel-dynamic-router - updating a subscription is ignored when the priority is unchanged, and duplicates the subscription when the priority changes
CAMEL-25252
camel-timer - stopping a timer consumer with a negative delay releases the shared java.util.Timer it never took, which cancels the timer of the other routes with the same timer name (they stay Started but never fire again)
CAMEL-25251
camel-coap - the producer completes the exchange successfully when the CoAP server does not respond (timeout or rejected request), so the message is silently lost
CAMEL-25250
camel-grpc - with the AGGREGATION or PROPAGATION consumer strategy a failed exchange is answered with its message body as a successful response instead of an error
CAMEL-25249
camel-vertx - a request/reply over the event bus gets a successful reply (usually its own request) when the consumer route fails, and no reply at all when the route ends without a body
CAMEL-25248
camel-undertow - a String body is always sent as UTF-8, even when the Content-Type declares another charset
CAMEL-25247
camel-thrift - the consumer does not send a route failure to the client: the synchronous server ignores it, the asynchronous server writes both the error and a response, so the error answers the next call on the connection
CAMEL-25246
camel-hazelcast - the queue consumer keeps its item listener after stop (events processed twice after a route restart), and in poll mode stops polling for good after one failed poll
CAMEL-25245
camel-snmp - a GET_NEXT walk that reaches the end of the agent's MIB view never ends, a walk can run into a neighbouring subtree, and a walk without answer returns an empty list as success
CAMEL-25239
camel export: kamelet spec.dependencies missing from pom.xml when Java route builder fails to compile during silent run
CAMEL-25238
camel-yaml-dsl-validator - a oneOf used twice in one file picks one winner for both, so the second place is asked for a property it does not need
CAMEL-25230
camel-cli-connector - the connector thread keeps the JVM alive when the application fails to start
CAMEL-25227
camel-azure-eventhubs: partition header conflict and no default header filter
CAMEL-25224
camel-xslt / camel-xslt-saxon: implicitly converted DOM sources select wrong XSLT context node
CAMEL-25222
Route dump - YAML with source locations loses the list dash of a choice when, and throwException given an exception instance is dumped empty
CAMEL-25221
camel-couchbase: consumerProcessedStrategy=delete removes the document before the route runs, so an undelivered row is lost
CAMEL-25218
camel-jsonpath - jsonpath on a file from the ftp or ftps consumer with the charset option fails with ClassCastException (FTPFile cannot be cast to java.io.File)
CAMEL-25217
camel-platform-http-vertx - a String response body is always written as UTF-8, even when the response Content-Type declares another charset (for example charset=ISO-8859-1), so the client decodes it wrongly
CAMEL-25216
camel-redis - RedisAggregationRepository recovers a completed exchange without the message that completed the group
CAMEL-25215
camel-ehcache, camel-jcache - EhcacheKeyValueRepository and JCacheKeyValueRepository use the non-atomic default putIfAbsent, so KeyValueIdempotentRepository can add the same message id twice
CAMEL-25214
camel-hl7 - HL7DataFormat decodes and encodes messages with MSH-18 = 8859/6, 8859/7, 8859/8, 8859/9 or 8859/15 in the wrong charset, and fails for GB 18030-2000 (wrong entries in HL7Charset)
CAMEL-25213
camel-support - FileStateRepository can lose the stored offsets: stop rewrites the file without the lock, the rewrite truncates the file first, and an incomplete line prevents a restart
CAMEL-25212
camel-infinispan - InfinispanEmbeddedClusterView and InfinispanRemoteClusterView stop refreshing the leadership after one exception, and keep the local member as leader when the view is stopped
CAMEL-25211
camel-hazelcast - the aggregation repositories recover a completed exchange without the message that completed the group, and ReplicatedHazelcastAggregationRepository fails to complete any group with recovery enabled
CAMEL-25210
camel-cassandraql - CassandraAggregationRepository hands aggregations that are still open to the recover task, which sends and then deletes them, and a completed exchange that failed is never recovered
CAMEL-25209
camel-kubernetes - a failed Lease renewal stops the KubernetesLeadershipController for good: the leader gives up its routes and no other pod takes over
CAMEL-25194
The tools cannot author a custom Kamelet: the validator checks a .kamelet.yaml against the route schema
CAMEL-25188
camel-util - URISupport.normalizeUri alternates between + and %20 for a space in a query value
CAMEL-25179
camel-crypto - CryptoDataFormat with the default HMAC cannot unmarshal a message larger than its buffer size (4096 bytes): ArrayIndexOutOfBoundsException in HMACAccumulator.CircularBuffer
CAMEL-25172
camel-couchbase: persistTo=2 is rejected although PersistTo.TWO exists, by a message that says 0 to 4 are supported
CAMEL-25171
camel-couchbase: the consumer discards route failures, and with consumerProcessedStrategy=delete the document is already gone
CAMEL-25170
camel-couchbase: connectTimeout is silently ignored unless queryTimeout is also changed
CAMEL-25169
camel-couchbase: the Couchbase connection is never closed - core().shutdown() returns a cold Mono that is discarded
CAMEL-25168
camel-openapi-validator: a repeated request header is validated as the text of a Java collection
CAMEL-25167
Large payloads - consistent body length detection and streaming charset conversion in file / object-storage producers
CAMEL-25165
camel-spring-redis - SpringRedisIdempotentRepository.remove() returns true also when the key was not in the repository
CAMEL-25164
camel-infinispan - the aggregation repositories recover a completed exchange without the message that completed the group
CAMEL-25160
camel-mongodb - harden the persistent tail tracking manager
CAMEL-25159
camel-mongodb - findAll, distinct and aggregate execute their query twice
CAMEL-25157
camel-java-io - LwModelToJavaDumper writes invalid Java for some routes
CAMEL-25156
camel-caffeine - CaffeineIdempotentRepository.add() is a check-then-put, so two concurrent exchanges with the same message id both pass the Idempotent Consumer
CAMEL-25155
camel-spring-redis - SpringRedisIdempotentRepository.add() checks the key and adds it in two round trips and ignores the SADD result, so the same message id is processed by two consumers at the same time
CAMEL-25154
camel-vertx-http - a file body that is not a local java.io.File (such as a file from ftp, sftp or smb) is never sent and the exchange never completes, so the route hangs (regression of CAMEL-22044)
CAMEL-25153
camel-caffeine, camel-ehcache - the aggregation repositories hand aggregations that are still open to the recover task, so incomplete groups are sent on as redelivered exchanges, and a completed exchange that failed is never recovered
CAMEL-25152
camel-bindy - fixed-length marshal pads and clips fields in UTF-16 chars while unmarshal counts code points (or graphemes), so a record with an emoji or other non-BMP character is written one pad short and read back shifted
CAMEL-25151
camel-bindy - a java.util.Date field rejects a valid value that is longer than its pattern (M/d/yyyy with 12/25/2026, h:mm a, MMMM), so Bindy cannot read back dates it has written
CAMEL-25150
camel-bindy - with quotingEscaped=true a CSV field whose value ends with a quote (He said "hi", 12") is not closed on unmarshal, so it swallows the next fields and the columns shift (regression of CAMEL-22068)
CAMEL-25140
camel-core - interceptSendToEndpoint: the interceptor belongs to one route, so removing that route breaks the other routes, and the interception is lost on a CamelContext restart
CAMEL-25139
camel-opa - failOpen allows the exchange when OPA answered (undefined decision, rejected request), not only when it is unavailable
CAMEL-25137
ArrayIndexOutOfBoundsException: Index -1 when MLLP message starts with segment delimiter
CAMEL-25135
camel-core - routeConfiguration onCompletion is skipped in the Java DSL
CAMEL-25133
camel-http-common - a non-chunked response over 2 GiB gets a wrong Content-Length
CAMEL-25131
Match header names in any case in components
CAMEL-25130
camel-sql - JdbcAggregationRepository with optimistic locking: add() ignores the old exchange, so a group completed meanwhile is stored again (duplicates) and a new group can be overwritten (lost messages)
CAMEL-25129
camel-resilience4j - Circuit Breaker EIP: with timeout enabled, the bulkhead permit is released when the call times out while the call keeps running, so bulkheadMaxConcurrentCalls is not enforced
CAMEL-25128
camel-netty - with a TimeoutCorrelationManagerSupport correlation manager, a failed write and the request timeout both complete the exchange, so it is completed twice
CAMEL-25127
camel-syslog - valid RFC 5424 messages fail or are misparsed: no MSG (RFC 5424 example 4) throws BufferUnderflowException, an escaped ']' ends the structured data, a NILVALUE timestamp throws
CAMEL-25126
camel-syslog - the syslog data format decodes every byte as ISO-8859-1, so non-ASCII text (UTF-8 MSG and structured data values) is corrupted, and the endpoint encoding option does not help
CAMEL-25125
camel-mllp - automatic acknowledgement fails with ArrayIndexOutOfBoundsException when MSH-2 defines a component separator other than '^', so no ACK is sent (regression of CAMEL-22421)
CAMEL-25124
camel-core - Aggregate EIP keeps bodies that stream caching spooled to disk, but their spool files are deleted when the incoming exchanges complete, so the aggregated message cannot be read (NoSuchFileException)
CAMEL-25123
camel-seda - a message that is discarded (discardWhenFull) or not added to a full queue loses the on completions of its exchange, so a file consumer never commits or rolls back the file
CAMEL-25122
camel-sjms - InOut: when the send fails, the request timeout completes the exchange a second time (the reply handler is registered before the send and never cancelled)
CAMEL-25121
camel-util - StringQuoteHelper.splitSafeQuote trims the spaces inside a quoted value unless it is the last value
CAMEL-25118
camel-catalog - Endpoint and configuration validation: fix bugs found in a deep review
CAMEL-25117
camel-spring-xml - XML camelContext configuration and JAXB dumper: fix bugs found in a deep review
CAMEL-25116
camel-main - /q/download?classpath=true does not list project resources
CAMEL-25115
camel-core - Error handler failure paths: fix bugs found in a deep review
CAMEL-25114
camel-core - doTry, doCatch and doFinally: fix bugs found in a deep review
CAMEL-25113
camel-core - onException configuration: fix bugs found in a deep review
CAMEL-25111
camel-core - Properties component: fix bugs found in a deep review
CAMEL-25110
camel-core - Property placeholder parser: fix bugs found in a deep review
CAMEL-25109
camel-core - Scheduled poll consumer: fix bugs found in a deep review
CAMEL-25108
camel-core - Component, endpoint and consumer base classes: fix bugs found in a deep review
CAMEL-25107
camel-core - SSLContextParameters ignores the configured named groups when the list has a duplicate or blank value
CAMEL-25106
camel-kafka - sslContextParameters ignores the SSL endpoint options and does not use the SSL security protocol
CAMEL-25105
camel-netty - The client authentication of sslContextParameters is overridden by needClientAuth=false
CAMEL-25103
camel-vertx - Client authentication, cipher suites and protocols of SSLContextParameters are not applied
CAMEL-25102
camel-core - JSSE utility and camel.ssl configuration: fix bugs found in a deep review
CAMEL-25101
camel-main - The "Property not auto-configured" warnings are never logged
CAMEL-25100
camel-core - OnCompletion EIP (default after-consumer mode) cannot read a body spooled to disk by stream caching, as the spool file is deleted before the onCompletion runs
CAMEL-25099
camel-main - Configuration options not applied: fix bugs found in a deep review
CAMEL-25098
camel-main - Bootstrap, profiles and duration options: fix bugs found in a deep review
CAMEL-25097
camel-main - Route loading, route reload and startup conditions: fix bugs found in a deep review
CAMEL-25095
camel-jms - InOut: a send that fails after the request timeout or the reply has completed the exchange completes it a second time
CAMEL-25094
camel-seda, camel-disruptor - a message sent InOnly to seda: or disruptor: from inside a Multicast or Split loses its spooled stream cache file when the parent exchange completes
CAMEL-25092
Property binding: nested list elements are appended, not created at their index, so a list of 11 or more beans or a list with gaps silently loses elements; the documented list key last fails
CAMEL-25090
camel-core - Event notifiers and vault configuration: fix bugs found in a deep review
CAMEL-25089
camel-cluster - Clustered route policy and file lock cluster: fix bugs found in a deep review
CAMEL-25088
camel-health - Health checks: fix bugs found in a deep review
CAMEL-25086
camel-platform-http-starter: fails to start outside a servlet web application (ServerProperties/WebMvcProperties)
CAMEL-25085
Rest DSL: under json/xml binding a response without Content-Type ignores the verb's produces
CAMEL-25084
camel-util - String, time, URI and file helpers: fix bugs found in a deep review
CAMEL-25083
camel-support - ObjectHelper type coercion and iterators: fix bugs found in a deep review
CAMEL-25082
camel-disruptor - a request/reply timeout marks the caller's exchange as ignored, so a redelivery or fallback to disruptor is dropped
CAMEL-25081
camel-bean - a comma inside ${...} in the method parameters splits the parameter, so OGNL calls with several arguments fail (e.g. ${body.substring(0, 2)})
CAMEL-25079
camel-yaml-io, camel-java-io - Route dumpers produce invalid YAML and Java: fix bugs found in a deep review
CAMEL-25078
camel-xml-jaxp - XML type converters: fix bugs found in a deep review
CAMEL-25077
camel-xml-io - XML DSL parser and dumper: fix bugs found in a deep review
CAMEL-25076
camel-mcp-server - stdio: adding a tool fails when stdin is closed, which breaks StdioMcpServerEngineTest
CAMEL-25073
camel-management - MBean registration: follow-ups from the deep review
CAMEL-25072
camel-management - EIP and service MBeans: follow-ups from the deep review
CAMEL-25071
camel-management - Route and CamelContext MBeans: follow-ups from the deep review
CAMEL-25070
camel-core - Stream caching strategy is not stopped after a CamelContext restart
CAMEL-25069
camel-core - Rest DSL: follow-ups from the deep review
CAMEL-25067
camel-core - Reifiers: follow-ups from the deep review
CAMEL-25065
camel-management - Processor statistics freeze after a route restart, and ContextOnly context statistics stay 0
CAMEL-25064
camel-management - EIP and service MBeans: fix bugs found in a deep review
CAMEL-25063
camel-management - Route and CamelContext MBeans: fix bugs found in a deep review
CAMEL-25062
camel-cluster - ClusteredRoutePolicy: CamelContext stop or removeRoute can deadlock with a leadership change that is starting routes (follow-up to CAMEL-24545)
CAMEL-25061
camel-file - FileLockClusterService: after the service is stopped and started again, the node can never become the leader again (cluster data tasks are rejected)
CAMEL-25060
Property placeholders: an optional circular reference such as timeout={{?timeout:5000}} makes the parser loop for ever (CamelContext start hangs at 100 % CPU)
CAMEL-25059
CaseInsensitiveMap (message headers) since 4.21: keySet().remove(o) and removeAll(c) are case-sensitive, so they no longer remove a header stored with another case
CAMEL-25057
camel-console - Dev consoles: fix bugs found in a deep review
CAMEL-25056
camel-core - Backlog debugger and tracer: fix bugs found in a deep review
CAMEL-25055
camel-core - Error registry: fix bugs found in a deep review
CAMEL-25053
camel-core - Stream Resequence EIP stops delivering after its route is stopped and started while a message waits for its timeout, and callers waiting for capacity are not released on stop
CAMEL-25052
camel-file - FileLockClusterView: stopping the view no longer ends a leadership check that is already running (regression from CAMEL-22784), so a stopped view can take the cluster lock, and a quick restart doubles the checks
CAMEL-25051
Message headers since 4.21: a header set as content-type is stored and sent on as Content-Type (CaseInsensitiveMap replaces the key with a known key of another case)
CAMEL-25048
camel-core - Route templates: fix bugs found in a deep review
CAMEL-25047
camel-core - Reifiers and error handler: fix bugs found in a deep review
CAMEL-25046
camel-core - Rest DSL: fix bugs found in a deep review
CAMEL-25045
camel-core - Java DSL builders: fix bugs found in a deep review
CAMEL-25044
camel-core - ExpressionBuilder and PredicateBuilder: fix bugs found in a deep review
CAMEL-25043
camel-core - Tokenize language: fix bugs found in a deep review
CAMEL-25042
Dev mode reload: the scan should skip dot directories, so camel-jbang's own state file does not reload the routes
CAMEL-25038
camel-disruptor - request/reply: a late reply is written into the caller's exchange after ExchangeTimedOutException, and an interrupted wait reports success (same bugs as CAMEL-24947 / CAMEL-24948 for seda)
CAMEL-25037
camel-support - an interrupted EventDrivenPollingConsumer.receive() never returns: it loops at 100 % CPU and logs a WARN on every iteration (regression of CAMEL-20297, 4.4)
CAMEL-25036
camel-support - EventDrivenPollingConsumer.receive() holds the service lifecycle lock while it waits, so stopping a ConsumerTemplate, a pollEnrich route or the CamelContext hangs forever (regression in 4.8)
CAMEL-25035
variableReceive keeps the header variables of an earlier message when the same variable receives again
CAMEL-25034
convertBodyTo(type, charset) ignores the charset when the message has a CamelCharsetName header, and leaves it on the exchange when the conversion fails
CAMEL-25033
camel-bean: a parameter bound from ${body} or ${header.x} in the method name loses its surrounding quotes, and the text "null" becomes a Java null
CAMEL-25032
Dev mode: a route saved together with a property it uses fails to reload and keeps running the previous version
CAMEL-25026
camel-package-maven-plugin - @Metadata(security/secret) is dropped for model, dataformat and language options
CAMEL-25025
camel-mongodb - a change stream event with a non-ObjectId _id loops the consumer forever
CAMEL-25024
camel-mongodb - the consumers discard a failed exchange and advance past it
CAMEL-25023
camel-util - IOHelper.copy counts copied bytes in an int, so zipFile/tarFile maxDecompressedSize values of 2 GiB or more are not enforced
CAMEL-25020
camel-sql - observability still reports the CamelSqlQuery header when useMessageBodyForSql=true
CAMEL-25018
ThrottlingInflightRoutePolicy and ThrottlingExceptionRoutePolicy resume a consumer that the route controller suspended: suspendRoute is not honoured and a graceful stop keeps consuming until the timeout
CAMEL-25017
Claim Check EIP: Split/Multicast/Recipient List/Wire Tap/SEDA copies share the parent's claim check repository, so parallel parts get each other's messages back
CAMEL-25016
Remote file consumers (FTP, FTPS, SFTP, SMB, Azure Files): with noop=true or idempotent=true, a file whose download fails is never retried
CAMEL-25014
ThrottlingExceptionRoutePolicy: since CAMEL-24903 the circuit stays open forever when the halfOpenHandler is not ready once, and keepOpen no longer suspends the consumer after a route restart
CAMEL-25013
Simple and PredicateBuilder comparisons truncate decimals when the two numbers have different types: ${header.amount} > 100 is false for a BigDecimal 100.50, and 2.5 == 2 is true
CAMEL-25012
OnCompletion EIP with parallelProcessing: a graceful shutdown drops the queued onCompletion tasks and interrupts the running ones
CAMEL-25011
Saga EIP with the in-memory saga service: split, multicast, recipient list and wire tap sub-exchanges lose the saga (MANDATORY fails, REQUIRED completes independent sagas)
CAMEL-25010
Supervising route controller: a restart attempt that is already running starts the route after stopRoute() cancelled it
CAMEL-25009
camel-core - Bean binding: @PropertyInject hides an invalid value, and overloaded constructors are not found
CAMEL-25008
Supervising route controller deadlocks when a route is stopped or started while its restart attempt completes
CAMEL-25007
Supervising route controller: a cancelled restart task completes a second time and removes the route's new restart task, which then restarts the route unsupervised
CAMEL-25006
In-memory Saga: after a saga timed out, a REQUIRED step on the same exchange silently starts and completes a new saga (SUPPORTS runs outside any saga)
CAMEL-25005
In-memory Saga: a step that joins while the saga is being completed, compensated or timed out is reported as joined, but its compensation/completion never runs
CAMEL-25004
camel-core - Producer cache and stream caching: fix lifecycle bugs found in a deep review
CAMEL-25003
camel-core - ServicePool hands out a stopped non-singleton producer after LRU eviction, and stops producers in use
CAMEL-25002
Loop EIP: a negative or very large loop count makes graceful shutdown stop without waiting for inflight exchanges
CAMEL-25001
camel-core - Supervising route controller: an exhausted route stays unhealthy after it is started manually
CAMEL-25000
camel-ai-tool / camel-ai-resource - tools and resources are missing when a route sends a request as soon as it starts
CAMEL-24997
camel-core - Reactive executor: after a nested scheduleSync, scheduled tasks run inline instead of after the current task
CAMEL-24996
camel-core - Changing a header value through the entry set of a copied message changes the original message
CAMEL-24995
camel-core - Wire Tap EIP: a graceful shutdown does not wait for the tapped exchanges queued in the thread pool
CAMEL-24994
camel-core - Enrich and Poll Enrich EIPs: the resource on completions are lost when the enrich fails
CAMEL-24993
camel-core - toD, Routing Slip and producer cache: fix bugs found in a deep review
CAMEL-24991
camel-core - Aggregate EIP: fix bugs found in a deep review
CAMEL-24990
camel-core - Multicast, Split and Recipient List EIPs: fix bugs found in a deep review
CAMEL-24981
camel-core - Error handler keeps the onException of an earlier redelivery attempt when the exception type changes
CAMEL-24978
camel-core - Internal processor advices: fix bugs found in a deep review
CAMEL-24976
camel-core - Type converter: fix bugs found in a deep review
CAMEL-24973
camel-util - URISupport.sanitizeUri does not follow the endpoint URI parser for RAW values, userinfo, dash-case option names and additional keywords
CAMEL-24960
Multicast/Split/RecipientList with parallelProcessing hangs forever when the thread pool rejects a sub-exchange task
CAMEL-24959
Split with streaming and parallelProcessing completes before its parts and loses the aggregated result when the iterator returns null after hasNext()=true
CAMEL-24958
Recipient List does not release the producers (and prototype endpoints) of recipients that were not sent to (stopOnException, timeout)
CAMEL-24954
Stopping a route with an Idempotent Consumer stops and clears a repository that other running routes still use
CAMEL-24953
Idempotent Consumer with skipDuplicate=false: a duplicate that fails removes the message id that the original exchange added
CAMEL-24952
camel-seda - virtualThreadPerTask consumer: graceful stop does not wait for polled exchanges whose task has not started yet
CAMEL-24951
Stopping a suspended SEDA route (or the CamelContext) with queued messages always waits for the full shutdown timeout
CAMEL-24950
camel-seda - purging the queue leaves request/reply producers waiting for exchanges that were discarded (forever with timeout=0)
CAMEL-24949
camel-seda - suspending a route with purgeWhenStopping=true discards all queued messages
CAMEL-24948
camel-seda - SedaProducer swallows InterruptedException and reports success: message not queued, or the request returned as the reply
CAMEL-24947
camel-seda - request/reply timeout race: a late reply is copied into the caller's exchange after the producer already returned ExchangeTimedOutException
CAMEL-24946
KeyValueAggregationRepository stores the previous state of the group for recovery, so a recovered exchange misses the last aggregated message
CAMEL-24945
Aggregate EIP: with optimistic locking a group can lose its completion timeout and never complete
CAMEL-24944
Aggregate EIP: with optimistic locking and a pre-completing AggregationStrategy, a completed group can be lost
CAMEL-24943
Aggregate EIP: the recover task can re-deliver an aggregated exchange that is being completed normally, which sends it twice
CAMEL-24942
camel-seda - multipleConsumers=true silently load-balances instead of broadcasting when the consumer URIs differ in any other option
CAMEL-24941
Aggregate EIP: with closeCorrelationKeyOnCompletion an exchange that arrives while its group is being completed starts a new group for the closed key
CAMEL-24940
camel-jbang/cli - autodetection of Kubernetes property placeholder functions (configmap:, secret:) stopped working in 4.22.1
CAMEL-24935
camel-pulsar - the producer replaces the message body with the MessageId
CAMEL-24934
camel-pulsar - a failed acknowledgement is reported without its cause
CAMEL-24933
camel-pulsar - the consumer leaks a pooled exchange for every message
CAMEL-24932
camel-pulsar - the polling loop dies on a NullPointerException when a receive fails
CAMEL-24929
RedeliveryPolicy javadoc shows a malformed delayPattern example
CAMEL-24928
Throttle EIP with asyncDelayed fails with NullPointerException when the maximum requests is 0
CAMEL-24927
Sample EIP drops every message until the machine's uptime exceeds the sample period
CAMEL-24926
throttle(n).concurrentRequestsMode() lets more than n exchanges in when one of them takes longer than 10 seconds
CAMEL-24925
onException redeliveryDelay("5s") fails at runtime with "Error parsing [5s] as a java.lang.Long"
CAMEL-24924
Failover load balancer with no processors never completes the exchange, so the caller hangs
CAMEL-24923
Weighted load balancer accepts negative, all-zero or overflowing distribution ratios, and the caller then hangs
CAMEL-24922
Failover load balancer in sticky mode without round robin never tries the endpoints before the last known good one
CAMEL-24910
rest - a path parameter and an incoming HTTP header of the same name are merged into a list, so a correct value fails
CAMEL-24891
camel-debezium - generated password options are not marked as secret
CAMEL-24890
camel-debezium - deprecated connector options declared as String constants are still generated
CAMEL-24889
camel-debezium - the consumer is never told that the embedded engine has failed
CAMEL-24887
ManagedRouteGroupMBean exchange stats changed
CAMEL-24885
camel-core - Simple: a resource: text with a function but no scheme ends in a StackOverflowError
CAMEL-24883
camel-jbang - the validator's Simple checks skip expressions written as YAML block scalars
CAMEL-24878
camel-kamelet-main - resolving an http: resource fetches it, so rest-openapi reads its specification twice
CAMEL-24875
camel-jbang - camel validate yaml skips a multi-line simple expression (expression: | block scalar)
CAMEL-24866
camel-support - route reload fails with duplicate route id when a new file is added next to a file with several routes
CAMEL-24865
camel-jbang - camel run --source-dir breaks the Java language and the datasource auto-configure: a missing classpath resource is replaced by a file that does not exist
CAMEL-24864
camel-platform-http-vertx: response write failures are discarded, leaking exchanges and SSE subscribers when a client disconnects
CAMEL-24853
camel-jbang - camel export moves a Groovy script the route references as a resource: into camel-groovy, where the reference no longer resolves
CAMEL-24848
camel-mail - The useHeaderFrom and other useHeaderXXXXX options defaulted to false but the document said the default should be true
CAMEL-24845
Simple: the suggestion for ${jsonpath:$.status} is the same text (did you mean ${jsonpath:$.status}?); the function is ${jsonpath($.status)}
CAMEL-24835
camel-file: a consumer on the current directory (file:. or file:./) never delivers a file
CAMEL-24825
REST DSL from an OpenAPI contract with no servers entry fails to start with "URI is not absolute"
CAMEL-24816
camel-elasticsearch/camel-opensearch: minor robustness fixes (scroll clear NPE, id header clobber, size/from header bleed)
CAMEL-24815
camel-opensearch: producer ignores socketTimeout without SSL and scopes basic auth to the first host only
CAMEL-24814
camel-elasticsearch/camel-opensearch: BulkRequestAggregationStrategy returns the wrong exchange, breaking bulk aggregation
CAMEL-24813
camel-core: PropertiesComponent.unescape drops trailing backslash
CAMEL-24811
camel-servlet - async=true without executorRef completes the AsyncContext before a truly-asynchronous route finishes
CAMEL-24800
camel-core - pooled exchange copies share the parent's clock, so Splitter children are returned to the pool without reset (properties/variables leak between messages)
CAMEL-24799
camel-jbang: Installing Camel Kit by command name loses the requested plugin version
CAMEL-24792
camel-aws2-ddb: setHeaderIfNotPresent in Ddb2JsonDataTypeTransformer always overwrites the header
CAMEL-24789
camel-vertx-websocket: the producer completes an exchange both synchronously and asynchronously when there is no peer
CAMEL-24788
camel-vertx-websocket: a shared websocket host is unregistered when the first of its consumers stops
CAMEL-24784
camel-opa - the REST decision call has no timeout and builds a new HttpClient per message
CAMEL-24783
camel-kafka - async batch producer: in-flight callbacks can mutate a continued/recycled exchange after a mid-batch dispatch failure
CAMEL-24782
camel-kafka - transactional producer can be left permanently unusable after a transaction/commit failure (no recreation, commit failure not aborted)
CAMEL-24780
camel-kafka - transactional producer leaks a half-begun transaction and skips the async callback when beginTransaction fails
CAMEL-24778
camel-kafka - consumer with batching=true throws NullPointerException when maxPollRecords is not set
CAMEL-24776
camel-jbang run does not auto-load camel-kubernetes for secret property functions
CAMEL-24775
camel-core - BeanFactoryDefinition.type is required in the schemas but optional at runtime for scripted and builder beans
CAMEL-24771
camel-core - simple predicate fails to parse a } inside a quoted literal
CAMEL-24769
camel-hazelcast: leftover hazelcast-atomicvalue service files after atomicvalue removal
CAMEL-24768
camel-huaweicloud-dms/-iam: ineffective int-option guards (mandatory fields, proxy port) and a fragile exchange-property cast
CAMEL-24766
camel-huaweicloud-smn: empty-body guard checks the raw endpoint operation instead of the resolved one
CAMEL-24765
camel-huaweicloud-functiongraph: include the region in the invoke URN when endpoint is set, and read the response body robustly
CAMEL-24764
camel-huaweicloud-obs: close the downloaded object stream (connection leak) and fix putObject bucket-creation, charset and proxy-port issues
CAMEL-24754
camel-opa - a verdict claimed by an inbound message survives a failed evaluation
CAMEL-24749
camel-core: failover load balancer ignores inheritErrorHandler=false since 4.10
CAMEL-24748
Component metadata disagrees with what seven components accept (operation enums, consumer/producer labels, options without @UriParam)
CAMEL-24747
KameletComponent URL encodes kamelet parameters
CAMEL-24746
KameletOptimisedComponentResolver doesn't recognize kamelets registered as beans
CAMEL-24734
camel-spiffe - validateJwtSvid silently validates against only the first configured audience
CAMEL-24730
camel-spiffe - do not let inbound headers choose the operation or the validated audience
CAMEL-24729
camel-infinispan: a lifespan set without its time unit is silently ignored
CAMEL-24719
camel-weaviate: remove the dead VECTOR_FIELD_NAME header
CAMEL-24718
camel-sql - observability (SqlTraceDevConsole, SqlSpanDecorator) surfaces the CamelSqlQuery header even when allowQueryFromHeader is disabled
CAMEL-24717
camel-opa - the producer health check publishes the bearerToken in its id
CAMEL-24716
camel-xmlsecurity - the cipher algorithm values listed by the model are rejected by the data format
CAMEL-24705
camel-jbang - explicit CLI flags such as --max-seconds are overridden by application.properties
CAMEL-24701
camel-jbang - logging.level.root in application.properties produces a second log4j root logger and breaks the CLI log layout
CAMEL-24700
camel-yaml-dsl - circuitBreaker with onFallback before steps puts the steps into the fallback (Definition has no children)
CAMEL-24697
camel-yaml-dsl - JSON schema rejects EIP doc examples the runtime accepts: inheritErrorHandler, resequence expression oneOf, jaxb contextPath
CAMEL-24694
YAML DSL validator rejects scalar values the runtime accepts (quoted booleans/numbers and placeholders at typed attributes)
CAMEL-24692
camel-catalog: validateLanguagePredicate/Expression for simple rejects property placeholders used as operands
CAMEL-24691
camel-saxon - align XQueryBuilder with secure XML parsing defaults
CAMEL-24690
camel-python (Jython) - PythonExpression is not thread safe
CAMEL-24687
camel-quickjs - every evaluation leaks a QuickJS module; 8 threads exhaust a 1 GB heap in 22 seconds
CAMEL-24686
camel-joor - headerAs/exchangePropertyAs default-value patterns match across two calls on the same line
CAMEL-24685
camel-joor - an inline expression with preCompile=false compiles on every evaluation
CAMEL-24681
camel-jbang: export does not include Maven repositories from properties camel.jbang.repos and camel.extra.repos
CAMEL-24669
camel-groovy - groovyJson/groovyXml: support Jackson 3 nodes and fix prettyPrint=false output
CAMEL-24668
Camel MLLP consumer discards pipelined HL7 messages that arrive in a single TCP read
CAMEL-24662
camel-jbang: "camel kubernetes run --cluster-type X" is silently overridden by auto cluster detection
CAMEL-24651
Regression on Camel 4.x NPE on evaluation of a Simple expression ${exception.stacktrace}
CAMEL-24632
SSLException when GET/POST to https endpoint with proxy setting using camel-http component
CAMEL-24630
camel-kamelet: supervised route reload creates duplicate internal routes and causes context console NPE
CAMEL-24628
camel-cli: dependency update silently drops route files passed as positional arguments
CAMEL-24626
camel-master: follow-ups to CAMEL-24583 - leadership lock, cancelled task registry entries, backoff documentation
CAMEL-24623
camel-infinispan: the QUERY operation silently returns the input when no query builder is set
CAMEL-24622
camel-infinispan: the aggregation repository implements RecoverableAggregationRepository without a recovery store
CAMEL-24614
camel-langchain4j-agent: validate that an agent was resolved before use
CAMEL-24613
camel-langchain4j-agent-api: guardrail robustness (English false-reject with allowMixed=false, no guardrail-class interface check)
CAMEL-24612
camel-langchain4j-agent: content converter charset and content-type handling issues
CAMEL-24611
camel-chatscript: multiple functional bugs (resetChat no-op, chatUserName ignored, no socket timeout, non-String body NPE)
CAMEL-24610
camel-langchain4j-web-search: NullPointerException unboxing maxResults when a custom WebSearchRequest omits it
CAMEL-24609
camel-langchain4j-agent: the managed tool-execution executor is not recreated after a stop/start cycle
CAMEL-24608
camel-langchain4j-agent-api: LanguageGuardrail minLanguageRatio option is never applied
CAMEL-24607
camel-langchain4j-agent-api: CodeInjectionGuardrail blocks legitimate input by counting duplicate same-type matches
CAMEL-24606
camel-google-firestore: the realtime change type header is undocumented
CAMEL-24604
camel-jpa - KeyValueEntry cannot be mapped by Hibernate: isExpired() lacks @Transient
CAMEL-24594
RestBindingAdvice response marshalling failure is silently swallowed
CAMEL-24593
camel-platform-http-starter - accepted multipart uploads are copied to the servlet temp directory and never deleted
CAMEL-24592
camel-spring-boot - health check details include the full error stack trace at the default exposure level
CAMEL-24591
camel-seda - Send fails with "No queue available" after producer route restart (regression from CAMEL-24408)
CAMEL-24590
ManagedRouteGroupMBean.getFailuresHandled() / getLastExchangeFailureHandledTimestamp() return 0/null even though a member route recorded a handled failure
CAMEL-24589
camel-platform-http-starter: stopping the second consumer on a shared path unregisters the first consumer
CAMEL-24585
The catalog validateLanguageExpression returns an invoke error when using jsonpath in a simple expression
CAMEL-24584
camel-support: BackgroundTask.schedule keeps re-running a task that has completed or run out of budget
CAMEL-24583
camel-master: losing leadership while a consumer start is pending leaves the delegated consumer running on a non-leader node
CAMEL-24573
CXF REST: UnsupportedOperationException when copying factory bean with fixed-size features list
CAMEL-24545
Camel Shutdown Locked State With ZookeeprCluster Service
CAMEL-24544
camel-kserve / camel-tensorflow-serving: doStop can NPE when the gRPC channel was never created
CAMEL-24543
camel-langchain4j-embeddingstore: the endpoint @UriEndpoint syntax uses the wrong scheme
CAMEL-24542
camel-qdrant: the PayloadSelector header is declared and advertised but never read
CAMEL-24541
camel-djl: ImageNetUtil.getSynsetName can throw ArrayIndexOutOfBoundsException on synset lines without a space
CAMEL-24540
camel-huggingface: revision is ignored by two task predictors and TextToImage never sets the OUTPUT header
CAMEL-24539
camel-openai: embeddings/audio store their SDK response under the chat-typed RESPONSE property
CAMEL-24538
camel-openai: operator-precedence bug can discard the prompt supplied in the message body
CAMEL-24537
camel-openai: the chat-completion producer does not validate that a model is set
CAMEL-24536
camel-langchain4j-embeddings: OpenAiEmbeddingModelBuilder never enables response logging
CAMEL-24535
camel-tensorflow-serving: the Target and Credentials headers are declared but never read
CAMEL-24534
camel-qdrant: the embeddings data-type transformer casts every metadata value to String
CAMEL-24533
camel-weaviate: the embeddings data-type transformer drops the document text on CREATE/UPDATE
CAMEL-24532
Camel Spring Boot: Preserve property-source precedence during early vault resolution
CAMEL-24530
camel-djl: DJLConverter leaks the InputStream opened from File/Path bodies
CAMEL-24529
camel-djl: the loaded ZooModel is never closed (native-memory leak on restart)
CAMEL-24528
camel-huggingface: four task predictors swallow Python inference errors as success
CAMEL-24527
camel-huggingface: authToken/oauthProfile are honored only by the CHAT task
CAMEL-24526
camel-djl: the zoo linear/softmax regression predictors are unimplemented no-ops
CAMEL-24524
camel-core: URISupport.normalizeUri fast path skips value encoding when parameters are already sorted, causing duplicate endpoints
CAMEL-24523
camel-paho - Consumer silently stops receiving messages when resubscribe fails and route remains in Started state
CAMEL-24521
camel-google: Workload Identity Federation is documented for all components but is not wired to any of them
CAMEL-24520
camel-ibm-watsonx-ai: lazy service getters on WatsonxAiEndpoint are not thread-safe
CAMEL-24519
camel-ibm-watsonx-ai: the ModelId header is an output but its metadata describes it as an input
CAMEL-24518
camel-ibm-watson-language: analyze with all features disabled yields an opaque Watson 400
CAMEL-24517
camel-ibm-cos: headBucket does not set the BucketExists producer header
CAMEL-24512
camel-spring-boot - error.message is overwritten when several health checks report DOWN
CAMEL-24511
camel-paho-mqtt5 - Consumer silently stops receiving messages when resubscribe fails and route remains in Started state
CAMEL-24509
camel-mina - gate the exchange-holder unmarshal on transferExchange and mark objectCodecPattern as security-relevant
CAMEL-24495
Authentication-type detection is not triggered via camel-salesforce-maven-plugin. It still uses grant-type USERNAME_PASSWORD
CAMEL-24494
camel-ibm-cos: fix typo in the CacheControl producer/consumer header name
CAMEL-24493
camel-ibm-cos: the producer ignores multiPartUpload, partSize, storageClass and deleteAfterWrite options
CAMEL-24491
camel-ibm-cos: consumer in-progress deduplication is inert, causing duplicate delivery
CAMEL-24490
camel-ibm-watsonx-ai: the timeout option is never applied to the watsonx.ai service clients
CAMEL-24488
camel-ibm-watson-speech-to-text: WatsonSpeechToTextProducer leaks the audio FileInputStream
CAMEL-24486
camel-core - Simple language init block custom functions ($foo ~:= ...) fail with "No custom simple function" when CamelContext profile is dev
CAMEL-24484
camel-file: readLockRemoveOnCommit=false is not respected when idempotent-changed/-rename/idempotent read lock fails to acquire an existing entry
CAMEL-24483
camel-jbang export: explicit --dep version is ignored for auto-detected dependencies
CAMEL-24482
Camel JBang YAML validator incorrectly requires all data formats inside unmarshal step
CAMEL-24479
[camel-jbang] YAML validation incorrectly succeeds when containing invalid properties
CAMEL-24475
camel-xpath - documentType=InputSource evaluates the payload with an unhardened XML parser
CAMEL-24472
camel-ibm-secrets-manager: endpoint credential validation uses && so a half-configured endpoint passes
CAMEL-24471
camel-ibm-secrets-manager: SecretId producer header has a copy-pasted description
CAMEL-24470
camel-ibm-secrets-manager: IBMEventStreamReloadTriggerTask rejects Event Stream credentials provided via environment variables
CAMEL-24468
camel-ibm-secrets-manager - fix defects in IBMSecretsManagerPropertiesFunction (env-var credentials rejected, secret version pin ignored, missing KV field returns "null")
CAMEL-24464
camel-exec ignores its documented CamelExecCommand* headers (executable and args have no effect)
CAMEL-24457
Camel Zookeeper Cluster Split brain issue when leader is isolated
CAMEL-24456
camel-http - OAuth2 token cache key omits tokenEndpoint, scope and resourceIndicator
CAMEL-24455
camel-platform-http - any path starting with "proxy" selects HTTP proxy mode
CAMEL-24454
camel-mllp - logPhi defaults to true, so message content is written to the log at INFO/WARN
CAMEL-24453
camel-platform-http - request-header echo suppression compares header names case-sensitively
CAMEL-24452
camel-http - credentials are sent to redirect targets on a different host
CAMEL-24451
camel-xslt - all headers are bound as stylesheet parameters and XsltUriResolver bypasses the JAXP external-access limits
CAMEL-24450
camel-jetty - enableCORS installs Jetty's CrossOriginFilter with its allow-all defaults
CAMEL-24449
camel-core - saga coordinator is selected from the unprefixed Long-Running-Action message header
CAMEL-24448
camel-keycloak - introspection issuer validation is skipped when the iss claim is absent
CAMEL-24447
camel-pqc - FileBasedKeyLifecycleManager writes private keys with default file permissions
CAMEL-24445
camel-pqc - producer shares one Signature instance across concurrent exchanges without synchronization
CAMEL-24444
camel-xmlsecurity - verifier output is not correlated with the validated signature References
CAMEL-24443
camel-knative-http - enabling SSL without a truststore falls back to trusting all certificates
CAMEL-24442
camel-thrift - unmarshal deserializes into and returns a single shared instance
CAMEL-24441
camel-crypto-pgp - unmarshal accepts unsigned and non-integrity-protected messages by default
CAMEL-24440
camel-crypto - CryptoDataFormat validates the MAC after decrypting, reuses the cipher key for the HMAC, and has no per-message IV
CAMEL-24439
camel-shiro - presented password is not verified when the thread subject already matches the username
CAMEL-24438
camel-platform-http-main - static file serving resolves against the process working directory and the classpath root
CAMEL-24436
camel-platform-http-vertx - CORS handler allows any origin and always sends Access-Control-Allow-Credentials
CAMEL-24435
camel-as2 - asynchronous MDN context attributes are reused across requests on the same connection
CAMEL-24433
camel-mail - attachment file names are neither path-sanitised on unmarshal nor quoted on marshal
CAMEL-24432
camel-mail - a single malformed message can permanently stop the consumer
CAMEL-24429
camel-as2 - ResponseMDN keeps per-request signing keys in shared mutable instance fields
CAMEL-24427
camel-servlet, camel-jetty - fileNameExtWhitelist is checked against the wrong value in one binding and absent in the other
CAMEL-24425
camel-azure-storage-blob - sasToken is not marked as a secret
CAMEL-24424
camel-vertx-http - REST header filter strategy applies the inbound rules on the outbound direction
CAMEL-24423
camel-tika - parsed document metadata is copied to exchange headers without filtering
CAMEL-24419
camel-mail - MimeMultipartDataFormat unmarshal does not filter the mail.smtp/mail.smtps header namespace
CAMEL-24417
camel-as2 - asynchronous MDN delivery address is used without scheme validation and always over a plain socket
CAMEL-24415
camel-file - normalizePathToProtocol turns a backslash in a legal POSIX file name into a path separator
CAMEL-24413
camel-hazelcast - ReplicatedHazelcastAggregationRepository does not apply the default serialization filter
CAMEL-24412
camel-netty-http - security constraint lookup must use the same case-insensitive path matching as dispatch
CAMEL-24411
camel-oauth - stop the route when the OAuth processors do not authenticate the request
CAMEL-24410
camel-jbang export fails to parse redeliveryDelay in YAML DSL (IllegalArgumentException: Error parsing as java.time.Duration)
CAMEL-24409
rest-dsl - Binary data corrupted by rest client request validator
CAMEL-24408
SEDA discardIfNoConsumers breaks after consumer removal when sharing the same URI
CAMEL-24407
simple predicate fails for long digital strings
CAMEL-24403
camel-mail: MessageRemovedException in processCommit causes null in error log
CAMEL-24401
Camel-jms InOut pattern on to(...) with temporary queues can enter infinitely looping error state
CAMEL-24398
[BUG] DefaultAttachmentMessage.hasAttachments() returns true for messages with no attachments in Camel 4.x
CAMEL-24397
camel-tui: --record produces no cast file because the recording backend is never applied
CAMEL-24392
BacklogTracerRouteAdvice drains non-re-readable InputStream body before stream caching
CAMEL-24388
Camel JBang - PluginHelper should guard against duplicate subcommand registration
CAMEL-24384
camel-azure-eventgrid: the dataVersion header is read but never applied to the published CloudEvent
CAMEL-24383
camel-azure-key-vault: producer throws a copy-pasted "createSecret" validation message for every operation
CAMEL-24382
camel-azure-cosmosdb: change-feed consumer checkpoints the lease before the exchange is processed, losing events on failure
CAMEL-24379
AS2 client ignores custom HostnameVerifier due to JSSE-level hostname verification
CAMEL-24376
boolean zen not working with logical operator
CAMEL-24375
parseDuration should handle plain millis value without relying on type converter
CAMEL-24371
camel-a2a - fix WebhookUrlValidator address classification and host matching
CAMEL-24350
camel-google-pubsub: producer NPEs on non-convertible headers and drops non-Exchange list elements
CAMEL-24349
camel-google-functions: createFunction fails with an opaque NPE when required headers are missing
CAMEL-24348
camel-google-bigquery: NPEs on a null body or unknown job id, and insertId is ignored for List bodies
CAMEL-24347
camel-google-firestore: listCollections ignores the configured documentId and the realtime queue is unbounded

Dependency upgrade (4)

CAMEL-24806
camel-jolt - Switch from unmaintained bazaarvoice jolt to the jolt-community fork
CAMEL-24759
camel-jbang - Upgrade tamboui to 0.5.x
CAMEL-24675
camel-spring-boot - Upgrade to 4.1.1
CAMEL-24205
Migrate from as2lib 5.x to phase2 6.x

Improvement (348)

CAMEL-25530
camel-timer - the includeMetadata option names the exchange properties it sets, and that CamelTimerCounter starts at 1
CAMEL-25529
camel-yaml-dsl-validator - an option of a step's EIP at the column of the EIP: say which key it lines up with
CAMEL-25528
camel-jbang - camel run ignores camel.jbang.dependencies in a properties file given on the command line, such as camel/application.properties
CAMEL-25517
camel-jbang - the shipped examples keep their values in variables, not exchange properties
CAMEL-25516
camel-jbang - the validator reports a header read where the route sets an exchange property of that name, and the reverse
CAMEL-25514
camel-jbang - the validator hints when an XSLT 1.0 stylesheet puts a {expression} in element text
CAMEL-25513
camel-jbang-mcp - a write reports the reload and the first output of the integration running from its directory
CAMEL-25503
camel-reactive-streams - Make the consumer Suspendable, so that a suspend does not stop it and wait for the drain
CAMEL-25502
camel-core - RouteStoppingException for an exchange cut off by a route or CamelContext stop
CAMEL-25501
camel-jbang-mcp - camel_edit_file can apply several edits to one file in one call
CAMEL-25499
camel-semantic: Design audit SPI, TUI history and observability hooks
CAMEL-25484
camel-core - a dev mode reload that cuts off an in-flight exchange logs a full ERROR, though the work is retried
CAMEL-25471
camel-dataweave - convert real-world Mule DataWeave scripts faithfully
CAMEL-25463
camel-langchain4j-ingest: maxDocumentSize is checked only after the whole body is read
CAMEL-25438
camel-jbang - monitor tabs wait seconds behind data loads for tabs that are not shown
CAMEL-25435
camel-core - backlog tracer and debugger cut node labels at 50 characters without an ellipsis
CAMEL-25434
camel-jbang - camel run does not record where a property comes from, so camel get properties shows no location
CAMEL-25433
camel-jbang - camel run --example and the monitor show what an example needs before it runs
CAMEL-25432
camel-jbang - source editor: show the tree of the route the cursor is in; Diagram tab: levels in the title
CAMEL-25430
camel-jbang - camel infra run shows the progress of pulling the container image
CAMEL-25429
camel-jbang - route topology: show dead letter and onException targets as error paths from the route whose error handler acts
CAMEL-25426
camel-jbang - Minor bugs and usability fixes in the monitor before 4.23
CAMEL-25416
camel-jbang - Catalog view: list the Kamelets, the project's own first
CAMEL-25412
camel-file - resolve symbolic links when enforcing jailStartingDirectory for the producer target and local consumer listing
CAMEL-25411
camel-jbang - Source editor: run the Kamelet checks the AI tools run
CAMEL-25407
Endpoint uri options keep the order they are written in
CAMEL-25404
camel-ai-tool - make an authorizationPolicy denial visible to onException, tracing and metrics
CAMEL-25403
camel-jbang - AI tools: note a Kamelet camel: dependency that the template does not use
CAMEL-25402
camel-yaml-dsl-validator - Say how to write expression: when it is given text instead of a language
CAMEL-25387
camel-kamelet - A Kamelet whose template starts from the Kamelet itself fails with a StackOverflowError instead of saying so
CAMEL-25382
camel-semantic: Introduce expert-owned evaluation contracts
CAMEL-25381
camel-jbang - camel validate normalize should support Kamelet files
CAMEL-25380
camel-yaml-dsl - Do not log the compact notation warning for YAML inside a jar, such as the Kamelets of the Kamelet catalog
CAMEL-25379
camel-jbang - AI tools: Kamelets in camel_catalog_doc and camel_catalog_find, and kamelet: endpoints checked by the validator
CAMEL-25377
camel-jbang - camel_catalog_doc nested options: the YAML key of an element, and the options of the error handler kinds
CAMEL-25374
camel-jbang - quote characters in a file include/exclude value are reported with the line to write
CAMEL-25373
camel-rest - the unresolved path parameter warning comes back once a minute, and names an exchange property of that name
CAMEL-25372
camel-yaml-dsl-validator - a misplaced key says where it goes: a top-level key without its - , and an option at the column of its EIP
CAMEL-25371
camel-jbang-mcp - validating the same content again is a repeated call, and validating the file as it is on disk says so
CAMEL-25370
camel-jbang-mcp - the catalog tools answer for the error handler: samples, where it goes, its kinds, and the redelivery options
CAMEL-25365
camel-core - a dev mode reload that cuts off in-flight exchanges says where they were waiting, and does not log them as unexplained errors
CAMEL-25364
camel-jbang - a failed run or restart returns its cause, and camel_run does not start a second copy of an app that already runs from the directory
CAMEL-25359
camel-barcode - getWriterHintMap() and getReaderHintMap() return the live maps, so hints changed through them are lost when the data format starts
CAMEL-25358
camel-jbang - source editor: Shift+F8 (fix with AI) on a line that fails at runtime
CAMEL-25340
camel-spring-ws: apply the HeaderFilterStrategy to outbound SOAP headers
CAMEL-25338
camel-spring-boot - document Jackson 2 / Jackson 3 usage and migration
CAMEL-25336
camel-yaml-dsl-validator - report ${...} in a constant, which is used as written and never evaluated
CAMEL-25330
camel-groovy - a property read on a body that is still text says to unmarshal it first
CAMEL-25329
JSON data formats - marshal json writes a body that is already JSON text (file, stream, bytes, JSON String) as-is
CAMEL-25328
camel-yaml-dsl-validator - an error handler written as a route step says where it goes
CAMEL-25322
camel-bean - a missing Map key says the Map has no such key and lists its keys
CAMEL-25321
camel-rest-openapi - client request validation checks the path parameters too
CAMEL-25310
camel-semantic: Add experts and runtime capability discovery
CAMEL-25309
camel-http - a Map or List body says to marshal it to JSON first
CAMEL-25307
camel-jbang-mcp - an HTTP tool group: served endpoints and a request tool for the selected integration
CAMEL-25306
camel-rest-openapi - contract-first path parameter headers are not percent-decoded
CAMEL-25296
camel-jbang - camel_get_log leaves out stack traces by default, keeping the error line
CAMEL-25285
marshal/unmarshal on a null message body: say the body is null
CAMEL-25284
marshal EIP: add allowNullBody, as unmarshal has
CAMEL-25283
camel-kamelet - document how to write a custom Kamelet (source, sink, action) as a sub-page camel_catalog_doc can return
CAMEL-25270
camel-jbang - Resolve Camel shorthand dependencies using catalog coordinates
CAMEL-25265
docs - language pages show their examples in Java, XML and YAML tabs
CAMEL-25264
docs, camel-jbang - samples for the HTTP rungs: REST status codes, JsonPath YAML, calling a rest-openapi operation, the call-service intent
CAMEL-25261
camel-jbang - bundle the examples of the ladder that run offline
CAMEL-25258
camel-jbang-mcp - camel_transform_route converts with the route DSL converter
CAMEL-25256
camel-jbang - source editor: refactorings (Ctrl+R) for Java and XML routes
CAMEL-25254
camel-jbang - convert a route file between YAML, XML and Java DSL without running it
CAMEL-25244
camel-jbang - source editor: quick doc of the XML element or attribute at the cursor
CAMEL-25243
camel-jbang - source editor: Java DSL completion inside arguments (expression builders) and for the REST DSL
CAMEL-25242
camel-jbang - source editor: complete the arguments of simple functions (date commands and patterns, beans, property keys)
CAMEL-25241
camel-jbang - source editor completion for the Java DSL route chain
CAMEL-25240
camel-jbang - source editor completion for XML DSL elements and attributes
CAMEL-25237
camel-core - Switch EIP should count the messages per case
CAMEL-25236
camel-jbang - camel run --example should work from any folder for examples that read files
CAMEL-25235
camel_catalog_doc gives a language only its generic options: the semantic language's questions, criteria and threshold are unreachable
CAMEL-25229
camel-hazelcast: serialization filter docs and WARN for user-supplied configs
CAMEL-25225
camel-spring-ws: apply the HeaderFilterStrategy to producer response headers
CAMEL-25223
camel-jgroups: fail fast (or require explicit opt-in) when the consumer has no pre-read deserialization control on the default channel
CAMEL-25219
camel-jbang - TUI Source tab completion for the simple language
CAMEL-25208
camel-jbang - Camel validation and code assistance for Java and XML DSL routes (model based)
CAMEL-25205
camel-jackson3xml - Add support to enable/disable features from Jackson feature enums
CAMEL-25204
camel-java-io - Java DSL parser resolves the header names of the endpoint DSL
CAMEL-25203
camel-java-io - Java DSL parser reads routes kept in local variables, setHeaders with plain values can be dumped
CAMEL-25202
camel-jbang - camel transform route reads Java routes without compiling them
CAMEL-25201
camel-typesafe-ai: Make the API path configurable
CAMEL-25199
camel-jbang - read Java routes with the Java DSL parser only, retire the regex readers
CAMEL-25198
camel-jbang - TUI Source tab route jump links across the folders of a project
CAMEL-25197
camel-cli-connector - add a WebSocket transport so developer tools can drive running integrations
CAMEL-25196
camel-jbang - TUI Source tab route jump links for XML DSL routes
CAMEL-25195
camel-console - send dev console: support base64 encoded (binary) message bodies
CAMEL-25193
camel-jbang - project overview and TUI diagrams miss the destinations of the Switch EIP
CAMEL-25192
camel-jbang - TUI Source tab route jump links for Java DSL routes
CAMEL-25187
Add suport for type/* in RestUtil.isValidOrAcceptedContentType
CAMEL-25184
camel-openfga: add the expand, readTuples and readChanges operations
CAMEL-25183
camel-openfga: support contextual tuples and condition context on the check operation
CAMEL-25182
Check the Java DSL examples of the documentation with the Java DSL parser
CAMEL-25178
Improve Switch EIP discoverability and DSL round-trip coverage
CAMEL-25163
camel-google-storage - apply the download directory containment check on the expression branch
CAMEL-25162
camel-oauth - confine the reconstructed post-login URL to the configured redirect URI origin
CAMEL-25161
camel-jbang - AI project overview: plain-language labels for the decision points of a route
CAMEL-25147
camel-jbang - TUI: capabilities view grouping the route topology by the AI project overview's business capabilities
CAMEL-25145
camel-milo - OPC Subscription parameters are not available but not handled
CAMEL-25138
camel-semantic: Add question declarations to Java and XML DSLs
CAMEL-25134
camel-main - security policy check matches options by name only, so one component's insecure marker applies to all
CAMEL-25120
camel-core - do not reject && in endpoint uris
CAMEL-25112
camel-core - The local properties of the properties component should be per thread
CAMEL-25104
camel-core - SSLContextParameters should use TLSv1.2 as minimum protocol by default
CAMEL-25096
camel-core - Properties component: mask the values of vault functions and sensitive keys when logging
CAMEL-25093
Thread-Safety: Concurrent updateRoutes() Against a Single CamelContext Causes ConcurrentModificationException
CAMEL-25091
camel-kafka: expose by_duration as valid autoOffsetReset value (Kafka 4.0+)
CAMEL-25087
camel-coap - add a muteException consumer option
CAMEL-25075
camel-jbang-mcp - a repeated identical tool call should answer differently, so an agent can notice it is looping
CAMEL-25074
camel-sql - say in the outputType description that a StreamList body is an Iterator with no size
CAMEL-25068
camel-core - Route templates: follow-ups from the deep review
CAMEL-25066
camel-core - Producer cache eviction can stop a dynamic endpoint that another producer cache still uses
CAMEL-25058
camel-saga - saga:complete and saga:compensate should only consult Long-Running-Action for a saga service that uses it
CAMEL-25054
camel-jackson - Add support to enable/disable features in qualified manner
CAMEL-25049
camel-semantic: Support batching multiple named questions
CAMEL-25041
Dev mode reload: consider a polling directory scan instead of the JDK WatchService
CAMEL-25040
camel-jbang-mcp - camel_catalog_doc returns only the option list, not the syntax a component's documentation explains
CAMEL-25022
camel-oauth: honor the JWT nbf (not before) claim when authenticating bearer tokens with the servlet backend
CAMEL-25019
camel-quickfix - InOut consumer should reply on the originating session
CAMEL-24999
camel-hivemq: ssl option is missing security=insecure:ssl annotation for the security policy framework
CAMEL-24992
camel-yaml-dsl-validator: say when a rest-openapi call has no value for a path parameter of its operation
CAMEL-24986
camel-rest: a REST producer sends the request when a path parameter has no value, with the placeholder still in the uri
CAMEL-24984
camel-core: simple - support ! as a negation prefix in a predicate
CAMEL-24975
camel-core: the inflight, blocked and shutdown dumps say where the node is in the source
CAMEL-24974
camel-core: the failed delivery log line says where the failure is (route, node and source location)
CAMEL-24972
camel-core: the error registry says where each step is in the source (foo.yaml:88), next to the body type
CAMEL-24955
camel-yaml-dsl-validator: report a direct: or seda: endpoint that no route consumes
CAMEL-24937
camel-pqc: confine FileBasedKeyLifecycleManager key file resolution to the configured directory
CAMEL-24936
camel-netty: NettyConverter.toByteArray should copy only the readable bytes of the ByteBuf
CAMEL-24931
camel-jsonpath, camel-jq: the null body hint says how to read the data, not only that it must be read
CAMEL-24921
camel-core: read a predicate inside ${ } in the Simple language, as EL and Groovy do
CAMEL-24920
camel-core: the ternary operator cannot take a compound condition (&& or || inside ${ })
CAMEL-24919
camel-debezium - the consumer health check has no startup readiness signal
CAMEL-24918
camel-core: metadata for endpoint options that are evaluated as a Simple expression per message
CAMEL-24917
camel-yaml-dsl-validator: a to: uri that holds an expression says to use toD:
CAMEL-24916
camel-bean: ${body.name} on a Map reads the key when there is no such method
CAMEL-24911
camel-core, camel-jbang - collapse identical repeated errors in the error registry and in camel_get_log
CAMEL-24909
camel-jbang - an edit tool for the authoring set: replace a snippet instead of rewriting the whole file
CAMEL-24907
camel-jbang - camel_eval_expression evaluates jsonpath, jq, xpath and the other languages, not only the ones on its own classpath
CAMEL-24906
camel-yaml-dsl-validator - the quote hints print the line to write, and a doubled closing quote says so
CAMEL-24902
camel-keycloak: honor token expiry (exp) when caching introspection results
CAMEL-24901
camel-aws2-s3: restrict Simple expression evaluation of key/bucket to configured values
CAMEL-24899
camel-core - a failed reload of the only route file keeps the previous routes running (restore from the last good definitions, not from disk)
CAMEL-24898
camel-jbang - camel_catalog_doc and camel_catalog_sample resolve the YAML names of data formats (json -> jackson, and the YAML shape)
CAMEL-24897
camel-jbang-mcp - camel_write_file: drop the validate flag, an agent turns it off
CAMEL-24894
camel-docling: make output path handling consistent with input path and custom-argument handling
CAMEL-24893
camel-docling: also constrain absolute paths in custom-argument path validation
CAMEL-24888
camel-yaml-dsl-validator, camel-jbang - say the shape for the seven mistakes of the HTTP rungs (constant null, setExchangeProperty, unclosed quote, toD options, library case, jsonPath key, rest-openapi path parameter)
CAMEL-24884
camel-core - resolveResource option on expressions: a returned resource:... value is loaded and its content is the result
CAMEL-24882
camel-jbang - say that a script returning 'resource:file:x' returns the text, not the file (validator hint and error diagnose)
CAMEL-24881
camel-yaml-dsl-validator - say how a route-level error handler is written (errorHandler: {noErrorHandler: {}})
CAMEL-24880
camel-core - GroupedBodyAggregationStrategy's list prints as List<Exchange>(n elements) although it holds bodies
CAMEL-24879
camel-main - Bind @BindToRegistry and @Converter classes from compiled Groovy sources in exported projects
CAMEL-24874
camel-core-languages - catalog: add the simple init block operators := and ~:= (simple.json) and fix the init block doc section
CAMEL-24873
camel-jbang - Custom simple functions in Groovy: auto-add camel-groovy, honour @BindToRegistry, refresh YAML beans on --dev reload
CAMEL-24872
camel-oauth: Align token caching with effective profile configuration
CAMEL-24869
camel-jbang - validator hint for sql endpoint queries with :name parameters (camel-sql uses :#name)
CAMEL-24867
camel-jbang-mcp - expose the sql, datasource, circuit breaker, metrics, spans, EIP stats, startup and route analysis runtime tools
CAMEL-24863
camel-jbang-mcp - camel_get_errors counts exceptions a circuit breaker handled
CAMEL-24862
camel-core - the recursive file watcher does not watch a directory created while it runs (a Java class added under src/main/java is never reloaded), and reloads on its own compile output
CAMEL-24861
camel-jbang-mcp - camel_run starts with --source-dir so files added later are part of the app, and camel_control gets a reload action
CAMEL-24860
camel-core - a failed route reload in dev mode leaves the previous route stopped: keep it running, or say that nothing runs
CAMEL-24859
camel-jbang-mcp - camel_write_file reports the outcome of the reload in dev mode
CAMEL-24858
camel-jbang - the validator reports a required endpoint path option that is missing (uri: cron without name)
CAMEL-24857
camel-jbang - the validator reports a ${...} placeholder used as an endpoint option or bean property value: the syntax is {{key}}
CAMEL-24856
camel-jbang - the properties validator accepts camel.resilience4j.circuitbreaker.<id>.<option>, which fails at startup
CAMEL-24855
camel-jbang, camel-file - a file consumer of a directory that does not exist runs in silence: the validator names the files that are there, the consumer says it created the directory
CAMEL-24854
camel-jbang - the validator reports an include/exclude regex with a doubled backslash in single quotes, which matches a literal backslash and so no file
CAMEL-24852
camel-jbang - the validator reports a resource:classpath: file that sits next to the route, and a ${} placeholder in a file endpoint's directory
CAMEL-24851
camel-jbang - when a YAML route fails to load, camel run prints the schema validator's report (what to write), not only the loader's message
CAMEL-24850
camel-yaml-dsl-validator - say what to write for pollEnrich/enrich with a uri, a steps item inside steps, and EIPs directly under step
CAMEL-24849
Make camel-http the default REST producer client (rest-openapi, rest producer) instead of vertx-http, in the rest component's default list and in the Camel CLI's dependency rule
CAMEL-24847
camel validate yaml: name the data format when a step uses an alias or the artifact name (unmarshal: jackson, json-jackson, jackson-xml)
CAMEL-24846
camel validate yaml: an onException (or intercept, onCompletion) placed after the routes passes validation and fails at startup with a Java DSL message
CAMEL-24843
camel run / validate: a Groovy script importing a class that is not on the classpath should say how to add the dependency
CAMEL-24842
YAML DSL: an endpoint with query options in the uri and a parameters block fails with 'Uri should not contains query parameters'; say what to do (and flag it in camel validate)
CAMEL-24841
jsonpath: a comparison written as the path ($.status == 'paid') should say that jsonpath is a path and how to write the condition
CAMEL-24840
camel validate yaml: say how a key/value property list item is written (restConfiguration dataFormatProperty and friends) instead of 'property is not defined in the schema'
CAMEL-24839
camel-file: a file endpoint whose directory is an existing regular file starts and stays silent; fail with a message (and flag it in camel validate)
CAMEL-24838
jsonpath and jq: say that the body is null (and how to load one) instead of 'Cannot read body as supported JSON value'
CAMEL-24837
camel validate yaml: say in plain words what a YAML indentation error is, instead of the raw snakeyaml message
CAMEL-24836
PropertyBindingException from camel-main configuration hides the cause: the message should carry the root cause
CAMEL-24834
camel-jbang-mcp: load AI tool groups (SQL, tracing, resilience) from what the selected app has, read-only SQL for local models
CAMEL-24833
camel-spiffe - validateJwtSvid should accept the token from the Authorization Bearer header
CAMEL-24832
camel-openai, camel-spring-ai-chat - propagate the calling exchange into ai-tool route invocations like langchain4j-agent
CAMEL-24831
camel-ai-tool - component-level authorization hook so tool routes are guarded by construction
CAMEL-24830
camel-opa - OpaSecurityPolicy should support the in-process WASM evaluation mode
CAMEL-24828
camel-jbang-mcp: examples tools should follow the example groups and accept optional arguments
CAMEL-24826
camel validate: flag a ternary operator in a Simple expression, it is not supported and comes out as literal text
CAMEL-24824
camel run --example: list the examples by group (quick-start first, then the ladder rungs, then showcase) and show what each teaches
CAMEL-24822
camel run: rest-openapi producer fails with a null Vert.x unless componentName=http is set
CAMEL-24821
camel infra ollama: keep pulled models in a volume, add --model, and wait for the pull
CAMEL-24820
Make LangChain4j models easy to declare in YAML and properties: builder inference, component-level model, validator hints
CAMEL-24819
circuitBreaker: count fallback, timed out and bulkhead rejected calls in JMX, dev console, camel get circuit-breaker and the TUI
CAMEL-24818
circuitBreaker: set CamelCircuitBreakerResponseRejected when the fallback runs because the breaker is open
CAMEL-24809
camel-kamelet-main - map more third-party libraries in the known dependencies, by package, and generate the list from the managed dependencies
CAMEL-24808
camel-jbang-examples: revamp into a real-world ladder of examples
CAMEL-24807
camel-yaml-dsl - Deprecate Pipe (aka KameletBinding) support
CAMEL-24805
camel-jbang - TUI AI panel checks the simple expressions in an answer before showing it, and gives the model one turn to fix them
CAMEL-24804
camel-jbang - camel_catalog_doc for simple: an optionsFilter that names a function group returns exactly that group, not every function whose description mentions the word
CAMEL-24803
camel-knative - declare the CloudEvent message headers in the component metadata (headersClass), so the catalog, the docs and the validator know them
CAMEL-24801
camel-sql - sql-stored: allow parentheses inside ${...} simple expressions in the template grammar
CAMEL-24798
camel-jbang - camel_get_files should understand the Maven project layout: recursive listing, relative paths, and the routes' source files from the running integration
CAMEL-24797
camel-core - Splitter should unwrap Exchange parts like Message parts (List<Exchange> from batching consumers)
CAMEL-24796
camel-jbang - TUI AI panel with Ollama: compact on measured tokens, compact harder, and raise the 32k default context
CAMEL-24795
camel-jbang - TUI add a Quit entry to the F2 actions menu
CAMEL-24793
camel-jbang - TUI theme-specific syntax highlighting palettes for the built-in themes
CAMEL-24785
camel-opa - support sslContextParameters for the connection to the OPA server
CAMEL-24779
camel-kafka - reduce per-message allocations on the producer, consumer and transform hot paths
CAMEL-24774
docs - guard the user-manual YAML examples, the XML examples against the Spring XSD, and the Java imports of the examples at build time
CAMEL-24761
camel-jbang - cache the Camel version to Quarkus platform mapping so --runtime quarkus does not ask the extension registry once a day
CAMEL-24760
camel-jbang - the core tool set for local models: camel_catalog_find in it, prefix budgets raised, prompt lines for the canonical YAML shape and file writes
CAMEL-24756
camel-base-engine - http: resources are resolved with no connect or read timeout
CAMEL-24753
camel-langchain4j-ingest: filter options (includeId, excludeId, minDocumentSize, documentFilter)
CAMEL-24752
camel-core - generate a name to artifact table (like SensitiveUtils) so unknown component, language, data format and bean errors say which jar to add
CAMEL-24751
camel-opa - unregister the OpaSecurityPolicy health check when its routes stop
CAMEL-24745
camel-yaml-dsl - decide whether a top-level from: (without route:) is the compact notation: the runtime warns on it, the canonical schema accepts it
CAMEL-24744
camel-jbang - the YAML the MCP scaffold tools, the camel init templates and the bundled examples generate is in the deprecated compact notation; write it in the canonical format
CAMEL-24743
camel-opa - document the WASM mode and gate the server-only options and health checks
CAMEL-24739
camel-spiffe - allow fetchX509Svid without placing the private key on the message
CAMEL-24738
camel-opa - make a failOpen decision observable
CAMEL-24737
camel-opa - allowKey cannot read a verdict nested inside the decision document
CAMEL-24736
camel-opa - OpaSecurityPolicy has no health check for the OPA server
CAMEL-24732
camel-opa - consider narrowing the default includeHeaders before 4.23.0 ships
CAMEL-24731
camel-spiffe - acceptAnySpiffeId is invisible to the security policy framework
CAMEL-24725
core: apply the shared deserialization filter in KeyValueRepositoryHelper
CAMEL-24723
camel-jbang - camel validate yaml --canonical reports the deprecated compact notation as such; the runtime WARN covers implicit expressions
CAMEL-24722
camel-yaml-dsl - the validator and deserializer hints recommend the classic shorthand; write them in the canonical YAML format
CAMEL-24721
camel-openai: token budget and agentic observability for the Responses tool loop
CAMEL-24720
camel-jbang - camel_catalog_sample returns samples for components, data formats and languages from their documentation, once CAMEL-24710 has their examples validating
CAMEL-24715
camel-yaml-dsl-validator - table-driven hints instead of branches in four methods; drift test for the remaining hardcoded lists in the camel-jbang checks
CAMEL-24714
camel-core-model - complete the @AsPredicate marking of expression properties and have tooling read asPredicate from the catalog instead of hardcoded lists
CAMEL-24713
camel-jbang - generate the camel_catalog_sample fallback (eip-samples.json) from the user-manual YAML examples with a mojo, validated in the build
CAMEL-24712
camel-jbang-mcp - retire the catalog and validation tools the shared authoring tools replace (deprecate, then remove)
CAMEL-24711
camel-jbang - camel validate yaml/source --camel-version: catalog and YAML schema of that version (schema read from the camel-yaml-dsl jar)
CAMEL-24709
camel-yaml-dsl - class not found hint for beans should use the bean metadata on the classpath, not a hardcoded aggregation strategy package
CAMEL-24708
camel-catalog - a compact API reference of the core classes (Exchange, Message, CamelContext, Registry, AggregationStrategy...) for AI assistants, exposed as a catalog tool
CAMEL-24707
camel-yaml-dsl - the JSON schema should mark the expression required on the expression nodes (split, filter, setBody, ...)
CAMEL-24706
camel-main - camel.main.duration alias of durationMaxSeconds with a time unit (15s, 2m)
CAMEL-24703
camel-core-languages - simple: error messages should say what to write (audit against typical mistakes)
CAMEL-24702
camel-yaml-dsl - say that an expression is expected when a plain value is used for handled/continued/retryWhile/correlationExpression (handled: true)
CAMEL-24699
camel-jbang - camel run on an existing Quarkus or Camel Main project does not write a log file to ~/.camel
CAMEL-24698
camel-jbang: follow-ups from the AI agent benchmarks (optional MCP args, CLI validate parity, eval placeholders, validator hints)
CAMEL-24695
camel-jbang: one shared, neutral set of Camel authoring MCP tools exposed by both camel-jbang-mcp and camel tui --mcp
CAMEL-24693
EIP documentation YAML examples: validate at build time and ship as a per-EIP sample set in camel-catalog
CAMEL-24689
camel-javascript - share one GraalJS Engine per language and cache the parsed Source; do not silence the interpreter-only warning
CAMEL-24688
camel-quickjs - controlled camel API, variables/exception bindings, compile each script once per engine
CAMEL-24684
camel-groovy - groovyXml creates a new XmlParser per unmarshal and writes one fragment at a time on marshal
CAMEL-24683
camel-groovy - groovyJson prettyPrint=true re-lexes the generated document, 30x slower than Jackson
CAMEL-24682
camel-groovy - Resolve the language and GroovyShellFactory once, keep the compiled script per expression, build the binding lazily
CAMEL-24680
camel-jpa - Use field access for KeyValueEntry and cover all shipped entities in the Hibernate mapping test
CAMEL-24679
Camel TUI: tui_run_example and tui_infra start fail for external MCP agents
CAMEL-24678
camel-jbang: infra ps shows only one instance per service alias and picks its PID non-deterministically
CAMEL-24677
camel-smooks: align XML reader configuration with the other XML components
CAMEL-24676
camel-jgroups: add a configurable deserialization filter and document serialization hardening for the consumer
CAMEL-24672
camel-openai: moderate images with the moderation operation
CAMEL-24671
camel-openai: close the remaining gaps outside the Responses API
CAMEL-24666
camel-catalog: replace the Soundex suggestion strategy with an edit-distance default in camel-core-catalog
CAMEL-24665
Enhance Azure Service Bus consumer to support maxConcurrentSessions
CAMEL-24661
camel-jbang: feature parity for camel run CLI flags across the Camel Main, Spring Boot and Quarkus runtimes (--console, max duration, log file)
CAMEL-24659
camel-jbang: add jbang as the default run runtime, and make --runtime=main export and run via Maven like Spring Boot and Quarkus
CAMEL-24658
camel-catalog - find components by protocol or product name (s3 -> aws2-s3, mqtt -> paho-mqtt5)
CAMEL-24656
camel-jbang TUI: reduce AI panel (F8) prompt size and make it cache friendly for local Ollama models
CAMEL-24653
SSLCertTrustTest: replace external badssl.com dependency with local self-signed HTTPS endpoint
CAMEL-24652
camel-servlet, camel-jetty, camel-platform-http-vertx - consolidate the fileNameExtWhitelist check and tighten the extension match
CAMEL-24650
camel-http-common: lift the multipart fileNameExtWhitelist check into DefaultHttpBinding
CAMEL-24644
camel-opa - add a producer health check for the OPA server
CAMEL-24643
camel-opa - allow exchange properties in the OPA input document
CAMEL-24636
Add SecretRotationAware SPI so components can re-authenticate on context reload
CAMEL-24631
Support Ollama local models in camel doctor and TUI doctor popup
CAMEL-24627
camel-file: resolve symlinks when containing local work directory downloads (parity with camel-azure/google-storage)
CAMEL-24625
camel-platform-http: CamelHttpPath should optionally be relative to the consumer path (stripUriPrefix)
CAMEL-24620
camel-jackson - Add support to enable/disable features from DatatypeFeature enums
CAMEL-24605
camel-fop: align FopProducer XML transformation with Camel's standard secure XML processing configuration
CAMEL-24602
CI test reporting should include elapsed time (duration) not just module/test counts
CAMEL-24595
CassandraKeyValueRepository: implement atomic replace() and delete(key, expected) using lightweight transactions
CAMEL-24588
camel-jms: disable IBM MQ tests on GitHub Actions (icr.io image not reliably pullable)
CAMEL-24582
simple language - add equals/!equals operators for literal (non-numeric) string comparison
CAMEL-24578
camel-avro-rpc fails with Avro 1.12.2 due to new ClassSecurityValidator rejecting HandshakeRequest
CAMEL-24577
camel-platform-http-starter - path variable headers are derived from the undecoded request URI
CAMEL-24576
camel-dynamic-router: align control endpoint parameter handling with the allowTemplateFromHeader convention
CAMEL-24574
camel-google-bigquery - clarify that ${name} is literal substitution and steer value parameters to @name
CAMEL-24570
camel-ai-observability: log when GenAI observability silently falls back to no-op
CAMEL-24569
Support Salesforce Streaming API Server-Initiated Disconnect Messages
CAMEL-24566
CLI GenAI Dependency Auto-Discovery
CAMEL-24554
camel-jolokia-starter - agent binds all interfaces by default and the bundled restrictor gates on MBean domain only
CAMEL-24553
camel-support: getMandatoryBody() OOM guard — refuse huge in-memory body conversion to String/byte[]
CAMEL-24552
Expose phase-specific timeouts (connect/read/write/request) on camel-openai instead of a single overall timeout
CAMEL-24551
Expose structured error metadata (category, retry-after) as Exchange properties when an AI producer call fails
CAMEL-24550
Document how to target OpenAI/LangChain4j/Spring AI component exceptions with onException for rate-limit and retry handling
CAMEL-24531
Camel Spring Boot: Extract a shared early-resolution properties parser
CAMEL-24525
camel-google-firestore: the realtime change buffer is unbounded
CAMEL-24516
AbstractCamelContext: keep TypeConverter non-null after stop; reset only on restart
CAMEL-24514
camel-console - Generated openapi spec all are POST but lets try to use original verbs like GET
CAMEL-24513
camel-core - Error registry for handlded exception should point to origin of error
CAMEL-24508
Vault and secrets starters - early property resolution failures are swallowed, leaving the placeholder as the value
CAMEL-24507
camel-mcp-server-starter - documentation attributes authentication to a property namespace that does not provide it
CAMEL-24506
camel-jasypt-starter - modernise the default algorithm and fix the usage example's password placement
CAMEL-24505
camel-micrometer-starter - uri metric tag falls back to the raw request path, giving unbounded tag cardinality
CAMEL-24504
camel-spring-boot - extend the SpringTypeConverter String guard beyond InputStream targets
CAMEL-24503
camel-spring-boot - security policy check does not see camel properties supplied as environment variables
CAMEL-24502
Build and CI hardening - workflow token scope, job separation and Maven wrapper checksums
CAMEL-24501
camel-spring-boot-generator-maven-plugin - generated configuration binding drops values silently in three places
CAMEL-24500
camel-debug-starter - debugger and JMX connector are both enabled by default on classpath presence
CAMEL-24499
camel-spring-boot - route detail view bypasses the route.start.exception serialization filter
CAMEL-24498
camel-observability-services-starter - injected management defaults exceed the Spring Boot baseline
CAMEL-24497
camel-undertow-spring-security-starter - JWT decoder is built without an issuer or audience validator
CAMEL-24496
camel-platform-http-starter - align SpringBootPlatformHttpBinding multipart and path handling with the other HTTP bindings
CAMEL-24492
Document that backport PRs (cherry-picks of an already-reviewed main PR) do not need reviewers and can be merged as-is
CAMEL-24489
TypeConversionException prints 'from type: null' for anonymous/local classes (getCanonicalName() returns null)
CAMEL-24487
camel-ftp/sftp/mina-sftp/azure-files/smb: contain remote consumer operations within the configured directory
CAMEL-24478
camel-grpc - add a muteException consumer option
CAMEL-24477
camel-cxf - add a muteException consumer option
CAMEL-24476
camel-mina - add a muteException consumer option
CAMEL-24474
camel-as2 - support TLS delivery of asynchronous MDNs via SSLContextParameters
CAMEL-24473
camel-kafka: consumer/producer readiness health check does not detect a downed broker under group.protocol=consumer (AsyncKafkaConsumer)
CAMEL-24467
Scripting languages (JS, MVEL, OGNL, python/python3) do not bind Exchange variables and hand-roll bindings instead of reusing ExchangeHelper.populateVariableMap
CAMEL-24465
Paho MQTT consumers leak owned clients and threads after startup failures
CAMEL-24460
JSpecify: Make ProducerTemplate Body Parameters Nullable
CAMEL-24437
camel-oauth - authorization code flow sends no state, nonce or PKCE parameter
CAMEL-24431
camel-as2 - bound the expansion of compressed entities before they are verified
CAMEL-24428
camel-knative - add a muteException consumer option
CAMEL-24422
camel-docling: make message body input-source interpretation explicit and configurable
CAMEL-24421
camel-spring-redis: apply a configurable ObjectInputFilter to the default JDK serializer
CAMEL-24418
HTTP producers - do not resolve property placeholders in message-supplied endpoint-URI override headers
CAMEL-24416
camel-core - XmlConverter SAX parser factory is configured more permissively than the DOM factory in the same class
CAMEL-24414
camel-core - resolve pollEnrich property placeholders at build time
CAMEL-24406
camel-xml-jaxp: XmlConverter.toDOMDocument throws SAXParseException for non-XML content (Content is not allowed in prolog)
CAMEL-24404
camel-base-engine: InternalRouteStartupManager re-throws consumer startup exceptions raw instead of wrapping in FailedToStartRouteException
CAMEL-24402
threadNamePattern is constructed to early
CAMEL-24399
camel-mcp-server: should add support for setting additional server metadata
CAMEL-24395
camel-tui: Unify view and edit mode rendering to use a single TextArea-based path
CAMEL-24394
camel-mcp-server: should add support for MCP resources
CAMEL-24393
camel-tui: Source editor improvements for low-code editing experience
CAMEL-24390
camel-mcp-server: export all tools via special tag
CAMEL-24387
Add createSingletonService() to test-infra and migrate tests to singletons
CAMEL-24386
Add camel.ai-observability.enabled as a first-class camel-main configuration option
CAMEL-24374
Camel TUI: Add Ctrl+G Go to node popup for navigating to route nodes in Source editor
CAMEL-24372
camel-tui - YAML editor: undo/redo, block-aware move/duplicate/delete for EIP nodes
CAMEL-24370
camel-netty - resolve the shared deserialization filter in the object codecs and expose deserializationFilter on the endpoint
CAMEL-24352
camel-jbang - Serve ai-tool routes over the MCP stdio transport
CAMEL-24333
camel-ai-tool - structured tool output (outputSchema / structuredContent)
CAMEL-24322
camel-openai tool-calling via AiToolRegistry
CAMEL-24295
camel-core: mark the Simple nested option with security metadata
CAMEL-24292
camel-sql, camel-sql-stored and camel-xslt: add opt-in gate for override headers for parity with sibling components

New Feature (45)

CAMEL-25491
camel-jbang - Add Semantic TUI inspection, evaluation and expert-aware completion
CAMEL-25489
camel-jbang - add CLI commands to list and evaluate semantic definitions
CAMEL-25333
Add component for feature flag evaluation using OpenFeature specification
CAMEL-25311
camel-wolf-defender: Add a semantic expert for prompt-injection detection
CAMEL-25263
camel-odata-starter: add the Spring Boot starter for the camel-odata component
CAMEL-25185
camel-openfga-starter: add the Spring Boot starter for the camel-openfga component
CAMEL-25148
camel-java-io - Lightweight Java DSL source to model parser (no compilation)
CAMEL-25143
camel-jbang - TUI: AI project analysis that generates route descriptions and an integration summary, shown as AI-assisted and exposed via MCP and CLI
CAMEL-25030
Supply a MQTT 3.1.1 component
CAMEL-25029
camel-kafka - Add a consumer for Kafka share groups (KIP-932, Queues for Kafka)
CAMEL-25028
camel-openfga: new component for relationship-based (Zanzibar/ReBAC) authorization decisions
CAMEL-25027
camel-langchain4j-ingest - Add media modality to embed images, audio, video and PDF whole
CAMEL-24988
camel-core: Add switch EIP for literal value-based endpoint dispatch
CAMEL-24977
Add provider-agnostic semantic evaluation across Camel EIPs and error handling
CAMEL-24913
camel-jev-starter: hand-craft the Spring Boot starter so the jev language can be configured
CAMEL-24871
Add camel-jev component and evaluate semantic EIP integration
CAMEL-24810
camel-jbang-mcp - tool that maps a class or package name to its Maven dependency, known dependencies first then Maven Central
CAMEL-24802
camel-core - simple: add escape function for html/xml/json/sql/url special characters
CAMEL-24794
camel-jbang - TUI Ollama tab showing local model performance (throughput, context, host, request log)
CAMEL-24741
camel-opa - add an in-process WASM evaluation mode alongside the REST client
CAMEL-24740
camel-opa - support batch policy evaluation
CAMEL-24735
camel-spiffe - add a SpiffeSecurityPolicy to authorize on the peer SPIFFE ID
CAMEL-24674
camel-openai: support the Batch API
CAMEL-24673
camel-openai: verify and parse OpenAI webhook events
CAMEL-24663
Camel TUI: ACP coding-agent provider for the AI panel
CAMEL-24649
Customize 404/405 response body when using REST OpenApi componentc
CAMEL-24641
camel-opa-starter: add the Spring Boot starter for the camel-opa component
CAMEL-24634
camel-opa - new component to evaluate Open Policy Agent (Rego) policies against an Exchange
CAMEL-24621
camel-langchain4j-ingest - document ingestion component: the missing ingestion half of RAG in Camel
CAMEL-24617
Camel TUI: Add YAML DSL refactoring menu to Source tab editor (F5/Ctrl+R)
CAMEL-24571
camel-spiffe: provide an SSLContextParameters backed by the SPIFFE Workload API (rotating mTLS)
CAMEL-24565
camel-console: Authoritative typed response records so dev console OpenAPI response schemas are not empty
CAMEL-24564
camel-console: Generate a static OpenAPI spec for all dev consoles and publish it in the camel-catalog
CAMEL-24561
Integrate GenAI observability with Micrometer ObservationRegistry
CAMEL-24560
Change GenAiUsage token fields from Integer to Long
CAMEL-24559
Extend GenAI observability to additional AI producers
CAMEL-24558
Add unconsumed property warning for camel.aiObservability.* in BaseMainSupport
CAMEL-24556
Add LangChain4jAgentObservabilityTest for span emission
CAMEL-24555
Add GenAI observability configuration to camel-spring-boot
CAMEL-24463
Introduce KeyValueRepository SPI to unify state store, idempotent, aggregation and cache repositories
CAMEL-24377
Add json support to the CamelEvent
CAMEL-24373
camel-alibaba - Add components for this cloud such as object storage and whatlese
CAMEL-24367
Add camel-rest-postman component
CAMEL-24337
Support Python 3
CAMEL-23967
camel-openai: add image generation and edit operations

Sub-task (23)

CAMEL-25482
camel-dataweave - small conversion gaps (reduce without init, filter with index, fun overloads, do blocks, unless/otherwise)
CAMEL-25481
camel-dataweave - XML fidelity (design spike)
CAMEL-25480
camel-dataweave - match / case
CAMEL-25479
camel-dataweave - number and date coercion
CAMEL-25478
camel-dataweave - ranges and slicing
CAMEL-25477
camel-dataweave - string interpolation and regex literals
CAMEL-25476
camel-dataweave - object construction: conditional fields and object spread
CAMEL-25475
camel-dataweave - use DataSonnet ds.* library for DataWeave core functions
CAMEL-25474
camel-dataweave - DataWeave null and selector semantics
CAMEL-25473
camel-dataweave - DataWeave 2 lambda syntax and infix operator precedence
CAMEL-25472
camel-dataweave - make fail-fast trustworthy: reject trailing tokens, unknown header lines, unknown functions and free variables
CAMEL-25331
[JDK 27] printer component not working with JDk 27
CAMEL-24971
simple - internal tidy-ups (dead code, duplication, per-exchange work)
CAMEL-24970
simple - catalog, documentation and syntax hint fixes
CAMEL-24969
simple - collection and misc function fixes
CAMEL-24968
simple - string, math, date and file function fixes
CAMEL-24967
simple - function argument parsing fixes (quotes, commas, parentheses, prefixes)
CAMEL-24966
simple - operator and numeric literal fixes
CAMEL-24965
simple - init block fixes (custom function leak, comments, one-liners, predicates)
CAMEL-24964
simple - tokenizer and predicate parser fixes (quotes, braces, chain, ~> in text)
CAMEL-24963
simple - ${properties:key:default} with a default containing an operator word is parsed as a predicate
CAMEL-24639
camel-http: implement SecretRotationAware to refresh credentials on rotation
CAMEL-24638
camel-jdbc/camel-sql: implement SecretRotationAware to rebuild the pool on rotation

Task (37)

CAMEL-25469
camel-openfeature - Add Spring Boot starter
CAMEL-25266
Visible button to Camel Downloads on Main page and projects/
CAMEL-25226
camel-fory: requireClassRegistration option missing security="insecure:serialization" annotation
CAMEL-25119
camel-package-maven-plugin - prepare-catalog goal does not honour camel.prepare-catalog.skip
CAMEL-24985
Dependency analysis Github wokflow is often failing with No plugin descriptor found at META-INF/maven/plugin.xml
CAMEL-24979
camel-core - Deprecate exchange pooling
CAMEL-24962
simple language - review findings: bugs and tidy-ups
CAMEL-24939
[build] Fix dependency declarations in core/ and tooling/ subprojects
CAMEL-24930
Resequence EIP docs say the last of duplicate messages is kept, but the first one is kept
CAMEL-24914
Spring Boot starter generator: define behaviour for languages using @Language(modelName = "language")
CAMEL-24900
camel-jcr - apply header filtering when mapping JCR node properties to Exchange headers
CAMEL-24895
camel-mustache, camel-chunk - align Exchange header constant names with Camel naming convention
CAMEL-24827
camel-jbang-core: sync the bundled examples with the revamped camel-jbang-examples (new groups and paths) and derive the bundle list from the catalog
CAMEL-24817
camel-elasticsearch/camel-opensearch: fix scroll-keep-alive header description and deprecate the unused maxRetryTimeout option
CAMEL-24791
camel-slack: use obvious placeholders for webhookUrl and token in the component documentation
CAMEL-24790
camel-oauth: remove unused expired demo certificate and private key from helm/etc
CAMEL-24777
GitHub action failure for very long jobs: 'Broken pipe'
CAMEL-24773
docs - the remaining example kinds: Camel 1.x XML namespace, Camel 2 XML elements, malformed XML fragments, wrong Java imports, and user-manual YAML
CAMEL-24770
docs - Java, XML and properties examples in the documentation are out of date or wrong
CAMEL-24755
camel-sql-stored - align the resource schemes named in the CAMEL-24292 upgrade-guide entry
CAMEL-24750
Deprecate MinIO
CAMEL-24710
docs - about 375 YAML route examples in the component and data format documentation do not validate
CAMEL-24696
camel-core-model: port inheritErrorHandler to a String field so property placeholders work
CAMEL-24648
camel-openai: add storeFullResponse tests for audio operations and document storeFullResponse for embeddings/audio
CAMEL-24635
Cleanup obsolete dependencies
CAMEL-24624
camel-infinispan: catalog, lifecycle and efficiency cleanups
CAMEL-24603
Document JIRA workflow transition IDs in AGENTS.md for AI agents
CAMEL-24587
CI: PR incremental build tests the whole project when a core module changes (Scalpel modules bypass the 50-module threshold)
CAMEL-24579
DataFormat.marshal graph parameter should be @Nullable
CAMEL-24572
Use xtokenize as a language in the YAML DSL
CAMEL-24557
Remove stale langchain4j-tools references from AI observability docs
CAMEL-24549
camel-google-storage: Use symlink-aware containment for local downloads
CAMEL-24548
camel-azure-storage: Use symlink-aware containment for local downloads
CAMEL-24547
camel-jbang - Upgrade Camel Kamelets to 4.22.0
CAMEL-24420
camel-hazelcast: Apply the default JavaSerializationFilterConfig to Camel-built client configurations
CAMEL-24356
[camel-micrometer] Support logOnShutdownFormat in all runtimes
CAMEL-24339
camel-openai - Can the name be updated to better hint it works for many vendor LLMs

Test (35)

CAMEL-25464
SemanticCompletionTest.completionFollowsNamedQuestionMapAndOffersVariantFields is broken
CAMEL-25344
InfinispanRemoteQueryProducerIT and InfinispanRemoteQueryConsumerIT are failing with podman
CAMEL-25343
Fix flaky test SshIdleTimeoutTest.testIdleTimeoutExpiresBeforeCommandCompletes
CAMEL-25342
Fix flaky test NatsConsumerIT
CAMEL-25341
LRA*IT tests are failing with podman
CAMEL-25339
InfinispanRemoteEmbeddingStoreIT is failing with podman
CAMEL-25271
Avoid camel-jms test to create log file at the root module
CAMEL-25228
IdentityRoutesTest.describesTheX509SvidWithoutRevealingTheKey is broken
CAMEL-25206
camel-yaml-dsl - round-trip test of the YAML DSL writer and reader over the XML route corpus
CAMEL-25191
Fix flaky test MainNotAutoConfiguredWarningTest
CAMEL-24989
Overridden test methods without @Test are silently skipped in SpringSamplingThrottlerTest and an MLLP test
CAMEL-24957
Fix flaky test MessageHistoryExceptionRouteTest
CAMEL-24903
Fix flaky test ThrottlingExceptionRoutePolicyOpenViaConfigTest
CAMEL-24829
windows-validator: each install.ps1 test launch costs ~24s, keeping the PowerShell suite near 20 minutes
CAMEL-24787
Fix flaky tests Cassandra failing with Query timed out after PT5S
CAMEL-24772
camel-jbang: OllamaDoctorSupportTest.detectReturnsNotRunningWhenEndpointUnreachable fails on any machine running Ollama
CAMEL-24763
Fix flaky test ReactorStreamsServiceTest
CAMEL-24762
Fix flaky test CoAPComponentTLSTest
CAMEL-24742
camel-opa - compile Rego fixtures to WASM in test-infra for the in-process mode
CAMEL-24733
camel-spiffe - add integration tests against a real SPIRE agent
CAMEL-24660
3 Camel JBang InfrastructureITCase tests are failing
CAMEL-24655
camel-coap: add regression test for case-insensitive Camel header filtering in the consumer
CAMEL-24647
Camel JBang IT tests failing with BindException: Address already in use
CAMEL-24645
camel-opa - cover the bearerToken option with an integration test
CAMEL-24618
Fix flaky test SpringFileAntPathMatcherRemoteFileFilterTest.testAntPatchMatcherFilter
CAMEL-24615
camel-jpa - hibernate test profile is not runnable and has failing tests
CAMEL-24601
Fix flaky test SmbComponentConnectionIT.testSendReceive
CAMEL-24597
Fix flaky test MailAttachmentDuplicateNamesTest.testSendAndReceiveMailWithAttachmentsWithDuplicateNames <Hello World> but was: <jakarta.mail.internet.MimeMultipart@XXXXX>
CAMEL-24586
Milvus ITtests are failing very often on pp64le: ailed to initialize connection. Error: UNKNOWN: service unavailable: internal: Milvus Proxy is not ready yet. please wait
CAMEL-24485
windows-validator github workflow is very unstable
CAMEL-24481
Most (all?) Camel Jbang IT tests are failig with main branch on Jenkins due to docker image whcih cannot be built
CAMEL-24469
Crashed tests: org.apache.camel.dsl.jbang.core.common.PluginHelperTest on 4.22.x branch
CAMEL-24458
Cassandra Integration Tests are broken on s390x
CAMEL-24038
Fix flaky AsyncWiretapTest in camel-telemetry and camel-telemetry-dev
CAMEL-24029
Fix flaky camel-core tests using timed assertions

Keys

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