Skip to content

CAMEL-21975: Add route-diagram command to display Camel route diagrams in terminal#22227

Draft
gnodet wants to merge 96 commits intofix-jbang-metadata-mojofrom
peppered-rock
Draft

CAMEL-21975: Add route-diagram command to display Camel route diagrams in terminal#22227
gnodet wants to merge 96 commits intofix-jbang-metadata-mojofrom
peppered-rock

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented Mar 24, 2026

Warning

Draft / POC — not ready for review. This is an early proof-of-concept exploring terminal-native route diagram rendering. The layout algorithm, text fallback, and terminal graphics integration still need work.

Summary

Add a lightweight camel cmd route-diagram command that renders Camel route diagrams directly in the terminal using JLine 4's graphics protocol support (Kitty/Sixel/iTerm2 inline images). This is a lighter-weight alternative to the Playwright/Hawtio approach in #21534.

Features

  • Terminal inline rendering via JLine 4's TerminalGraphicsManager (auto-detects Kitty/iTerm2/Sixel)
  • Hawtio-style layout: branching EIPs (choice, multicast, doTry, loadBalance, recipientList) lay children horizontally; sequential nodes stack vertically
  • Merge lines showing branch convergence with a center dot
  • Color-coded nodes by type: from (green), to (blue), EIP (purple), choice (orange), default (gray)
  • Customizable colors via --theme/--colors option or DIAGRAM_COLORS env var, following JLine's LS_COLORS/GREP_COLORS convention
  • Built-in presets: dark, light, transparent
  • PNG export via --output diagram.png
  • Text fallback for terminals without graphics support

Usage

camel cmd route-diagram                              # inline terminal display
camel cmd route-diagram --theme light                # light theme
camel cmd route-diagram --output diagram.png         # save to PNG
camel cmd route-diagram --colors "bg=:from=#ff5722"  # custom colors

Depends on

Preview

(see comment below for rendered diagram screenshots)

Test plan

  • Builds successfully
  • Preview images rendered with complex routes (triple nested choice, split+choice, doTry/doCatch/doFinally, multicast inside choice)
  • Manual test with running Camel integration
  • CI passes

@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Mar 24, 2026

Preview — Dark Theme

Dark theme

Preview — Light Theme

Light theme


Routes rendered (top to bottom):

  1. Triple nested choice — 3 levels of choice/when/otherwise
  2. Split with nested choice — split body → choice with 3 branches → continuation
  3. doTry/doCatch/doFinally — try/catch/finally with multiple endpoints per branch
  4. Choice with multicast inside — multicast nested inside a when branch
  5. doTry with split — exception handling wrapping a split
  6. Choice with throwException — simple error routing
  7. Choice with merge — classic CBR with continuation after merge

Claude Code on behalf of Guillaume Nodet

@gnodet gnodet force-pushed the fix-jbang-metadata-mojo branch 4 times, most recently from 0b80621 to b53baba Compare March 27, 2026 14:50
Croway and others added 25 commits March 27, 2026 15:53
Claude Code on behalf of Otavio R. Piske

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
)

* CAMEL-23263 - Camel-Netty: Make SSL fallback path PQC-capable with TLSv1.3 and named groups auto-configuration

Change the hardcoded SSL protocol from "TLS" to "TLSv1.3" in
SSLEngineFactory and add PQC named groups auto-configuration
(X25519MLKEM768) on JDK 25+.

The new SSLEngineFactory.applyPqcNamedGroups(SSLEngine) method mirrors
the auto-configuration behavior of SSLContextParameters.createSSLContext()
by detecting available PQC named groups via reflection and reordering them
to prioritize post-quantum key exchange. Applied in all 5 initializer
factories across camel-netty and camel-netty-http when the SSLContextParameters
fallback path is used.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>

* CAMEL-23263 - Camel-Netty: Make SSL fallback path PQC-capable with TLSv1.3 and named groups auto-configuration

Address gnodet's review on PR #22296:

- Improve PQC constants cross-reference comment to explicitly name
  SSLContextParameters.PQC_NAMED_GROUP and PQC_PREFERRED_NAMED_GROUPS
- Deprecate unused createServerSSLEngine/createClientSSLEngine methods
  (zero callers) and apply PQC named groups in them for API consistency
- Verify secondary preferred ordering in test (x25519 before secp256r1)

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>

---------

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
- Append PID + AtomicInteger counter to container names in
  ContainerEnvironmentUtil.containerName() for cross-JVM (mvnd) and
  within-JVM (parallel test classes) uniqueness
- Skip the suffix when camel.infra.fixedPort=true (camel infra run)
  to preserve clean names like camel-postgres for docker exec usability
- Remove hardcoded withName("nameserver") from RocketMQNameserverContainer
  that bypassed ContainerEnvironmentUtil (network alias is sufficient)
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: oscerd <oscerd@users.noreply.github.com>
…StateException

When Camel and a remote Infinispan server start concurrently (e.g., in
Kubernetes), the server's ___protobuf_metadata cache may not be ready,
causing embedding store schema registration to fail with
RemoteIllegalLifecycleStateException.

Add retry logic using ForegroundTask with a configurable timeout
(embeddingStoreSchemaRegistrationTimeout, default 60s). Only
RemoteIllegalLifecycleStateException triggers retries; other errors
propagate immediately. Includes unit tests for the retry pattern.

Closes #22278
Kubernetes plugin tests (KubernetesRunTest, KubernetesRunCustomTest)
were creating .camel-jbang-run/ directories in the module root, causing
concurrent test collisions and stale files in the source tree.

Extract a getRunPlatformDir() method in KubernetesRun that tests
override to target/tests/<ClassName>, isolating each test class under
target/. Add @AfterAll/@AfterEach cleanup and missing
CommandLineHelper.useHomeDir("target") to KubernetesRunCustomTest.

Closes #22301
…rver-version 1.10.3 to 1.11.0 (#22284)

Remove generate-code-tests goal from camel-jbang-mcp since the tests
don't use @QuarkusTest and the goal triggers a workspace resolution
regression in Quarkus 3.34+ (quarkusio/quarkus#53285).

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…22314)

Update consul.container from 1.22.5 to 1.22.6

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…#22315)

Update docling.container from v1.14.3 to v1.15.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Update nats.container from 2.12.5 to 2.12.6

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bumps `aws-java-sdk2-version` from 2.42.22 to 2.42.23.

Updates `software.amazon.awssdk:sqs` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:kinesis` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:s3` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:sns` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:cloudwatch` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:ec2` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:eventbridge` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:iam` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:kms` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:lambda` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:secretsmanager` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:ssm` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:sts` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:dynamodb` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:config` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:apache-client` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:transcribe` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:auth` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:regions` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:sdk-core` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:aws-core` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:netty-nio-client` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:athena` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:bedrock` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:bedrockruntime` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:bedrockagent` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:bedrockagentruntime` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:cloudtrail` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:comprehend` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:ecs` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:eks` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:firehose` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:kafka` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:mq` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:polly` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:redshiftdata` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:checksums` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:s3vectors` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:ses` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:sfn` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:textract` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:timestreamquery` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:timestreamwrite` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:translate` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:rekognition` from 2.42.22 to 2.42.23

Updates `software.amazon.awssdk:securityhub` from 2.42.22 to 2.42.23

---
updated-dependencies:
- dependency-name: software.amazon.awssdk:sqs
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kinesis
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:s3
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sns
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:cloudwatch
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ec2
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:eventbridge
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:iam
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kms
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:lambda
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:secretsmanager
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ssm
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sts
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:dynamodb
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:config
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:apache-client
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:transcribe
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:auth
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:regions
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sdk-core
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:aws-core
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:netty-nio-client
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:athena
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrock
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockruntime
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockagent
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockagentruntime
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:cloudtrail
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:comprehend
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ecs
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:eks
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:firehose
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kafka
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:mq
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:polly
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:redshiftdata
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:checksums
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:s3vectors
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ses
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sfn
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:textract
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:timestreamquery
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:timestreamwrite
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:translate
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:rekognition
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:securityhub
  dependency-version: 2.42.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps `groovy-version` from 5.0.4 to 5.0.5.

Updates `org.apache.groovy:groovy` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

Updates `org.apache.groovy:groovy-json` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

Updates `org.apache.groovy:groovy-xml` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

Updates `org.apache.groovy:groovy-dateutil` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

Updates `org.apache.groovy:groovy-ant` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

Updates `org.apache.groovy:groovy-test-junit5` from 5.0.4 to 5.0.5
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.apache.groovy:groovy
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.groovy:groovy-json
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.groovy:groovy-xml
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.groovy:groovy-dateutil
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.groovy:groovy-ant
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.apache.groovy:groovy-test-junit5
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](opensearch-project/opensearch-java@v3.7.0...v3.8.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-java
  dependency-version: 3.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps ca.uhn.hapi.fhir:org.hl7.fhir.utilities from 6.9.3 to 6.9.4.

---
updated-dependencies:
- dependency-name: ca.uhn.hapi.fhir:org.hl7.fhir.utilities
  dependency-version: 6.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [com.google.genai:google-genai](https://github.com/googleapis/java-genai) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/googleapis/java-genai/releases)
- [Changelog](https://github.com/googleapis/java-genai/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-genai@v1.44.0...v1.45.0)

---
updated-dependencies:
- dependency-name: com.google.genai:google-genai
  dependency-version: 1.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [com.azure:azure-storage-blob-changefeed](https://github.com/Azure/azure-sdk-for-java) from 12.0.0-beta.35 to 12.0.0-beta.36.
- [Release notes](https://github.com/Azure/azure-sdk-for-java/releases)
- [Commits](Azure/azure-sdk-for-java@com.azure+azure-storage-blob-nio_12.0.0-beta.35...com.azure+azure-storage-blob-nio_12.0.0-beta.36)

---
updated-dependencies:
- dependency-name: com.azure:azure-storage-blob-changefeed
  dependency-version: 12.0.0-beta.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Update weaviate.container from 1.36.6 to 1.36.8
Bumps [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 3.1.0 to 3.1.1.
- [Commits](FasterXML/jackson-bom@jackson-bom-3.1.0...jackson-bom-3.1.1)

---
updated-dependencies:
- dependency-name: tools.jackson:jackson-bom
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
---
updated-dependencies:
- dependency-name: com.cedarsoftware:java-util
  dependency-version: 4.99.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
… destructiveHint, openWorldHint) to all tools (#22341)

Add @Tool.Annotations(readOnlyHint=true, destructiveHint=false,
openWorldHint=false) to all 27 tool methods across 12 tool classes.
All tools in this module are read-only (query catalogs, validate input,
generate scaffolds) so this explicitly declares that to MCP clients,
enabling auto-approval and better tool selection decisions.

Quarkus MCP Server SDK 1.11.0 already supports these annotations.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
jvrubel and others added 29 commits April 1, 2026 15:03
the previously pointed page was on will to be added and not updated
The FROM column in `camel get route` output truncates URIs to
maxWidth(45) with ELLIPSIS_RIGHT, causing test regex patterns
to fail when matching truncated URIs like `timer://java?peri?`.

Use `--wide-uri` flag which renders the FROM column with
maxWidth(140), ensuring full URI visibility for pattern matching.
Add a 10-minute default timeout for all JMS test methods via
junit-platform.properties. This prevents any individual hung
test from blocking the entire CI build indefinitely.
The sibling tests were already disabled on s390x in e5fd15d
but this test was missed.
Bumps `mcp-java-sdk-version` from 1.1.0 to 1.1.1.

Updates `io.modelcontextprotocol.sdk:mcp-core` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/modelcontextprotocol/java-sdk/releases)
- [Commits](modelcontextprotocol/java-sdk@v1.1.0...v1.1.1)

Updates `io.modelcontextprotocol.sdk:mcp-json-jackson2` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/modelcontextprotocol/java-sdk/releases)
- [Commits](modelcontextprotocol/java-sdk@v1.1.0...v1.1.1)

---
updated-dependencies:
- dependency-name: io.modelcontextprotocol.sdk:mcp-core
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.modelcontextprotocol.sdk:mcp-json-jackson2
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…sniffer (#22237)

Bumps [org.elasticsearch.client:elasticsearch-rest-client-sniffer](https://github.com/elastic/elasticsearch) from 9.3.1 to 9.3.2.
- [Release notes](https://github.com/elastic/elasticsearch/releases)
- [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md)
- [Commits](elastic/elasticsearch@v9.3.1...v9.3.2)

---
updated-dependencies:
- dependency-name: org.elasticsearch.client:elasticsearch-rest-client-sniffer
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Set maxLogins=0 (unlimited) on the embedded test FTP server.
The default maxLogins=10 caused FTP 421 rejections under CI load
when thread scheduling led to >10 concurrent logins.
Bumps [org.codehaus.plexus:plexus-utils](https://github.com/codehaus-plexus/plexus-utils) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/codehaus-plexus/plexus-utils/releases)
- [Commits](codehaus-plexus/plexus-utils@plexus-utils-4.0.2...plexus-utils-4.0.3)

---
updated-dependencies:
- dependency-name: org.codehaus.plexus:plexus-utils
  dependency-version: 4.0.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `aws-java-sdk2-version` from 2.42.25 to 2.42.26.

Updates `software.amazon.awssdk:sqs` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:kinesis` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:s3` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:sns` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:cloudwatch` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:ec2` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:eventbridge` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:iam` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:kms` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:lambda` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:secretsmanager` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:ssm` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:sts` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:dynamodb` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:config` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:apache-client` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:transcribe` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:auth` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:regions` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:sdk-core` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:aws-core` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:netty-nio-client` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:athena` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:bedrock` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:bedrockruntime` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:bedrockagent` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:bedrockagentruntime` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:cloudtrail` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:comprehend` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:ecs` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:eks` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:firehose` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:kafka` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:mq` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:polly` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:redshiftdata` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:checksums` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:s3vectors` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:ses` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:sfn` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:textract` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:timestreamquery` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:timestreamwrite` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:translate` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:rekognition` from 2.42.25 to 2.42.26

Updates `software.amazon.awssdk:securityhub` from 2.42.25 to 2.42.26

---
updated-dependencies:
- dependency-name: software.amazon.awssdk:sqs
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kinesis
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:s3
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sns
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:cloudwatch
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ec2
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:eventbridge
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:iam
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kms
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:lambda
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:secretsmanager
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ssm
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sts
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:dynamodb
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:config
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:apache-client
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:transcribe
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:auth
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:regions
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sdk-core
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:aws-core
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:netty-nio-client
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:athena
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrock
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockruntime
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockagent
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:bedrockagentruntime
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:cloudtrail
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:comprehend
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ecs
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:eks
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:firehose
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:kafka
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:mq
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:polly
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:redshiftdata
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:checksums
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:s3vectors
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:ses
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:sfn
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:textract
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:timestreamquery
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:timestreamwrite
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:translate
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:rekognition
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: software.amazon.awssdk:securityhub
  dependency-version: 2.42.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps `jsmpp-version` from 3.0.1 to 3.0.2.

Updates `org.jsmpp:jsmpp` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/opentelecoms-org/jsmpp/releases)
- [Changelog](https://github.com/opentelecoms-org/jsmpp/blob/master/CHANGES.txt)
- [Commits](https://github.com/opentelecoms-org/jsmpp/commits)

Updates `org.jsmpp:jsmpp-examples` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/opentelecoms-org/jsmpp/releases)
- [Changelog](https://github.com/opentelecoms-org/jsmpp/blob/master/CHANGES.txt)
- [Commits](https://github.com/opentelecoms-org/jsmpp/commits)

---
updated-dependencies:
- dependency-name: org.jsmpp:jsmpp
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jsmpp:jsmpp-examples
  dependency-version: 3.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [com.ibm.cos:ibm-cos-java-sdk](https://github.com/ibm/ibm-cos-sdk-java) from 2.15.0 to 2.15.1.
- [Release notes](https://github.com/ibm/ibm-cos-sdk-java/releases)
- [Changelog](https://github.com/IBM/ibm-cos-sdk-java/blob/master/CHANGELOG.md)
- [Commits](IBM/ibm-cos-sdk-java@2.15.0...2.15.1)

---
updated-dependencies:
- dependency-name: com.ibm.cos:ibm-cos-java-sdk
  dependency-version: 2.15.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.kiwiproject:consul-client](https://github.com/kiwiproject/consul-client) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/kiwiproject/consul-client/releases)
- [Changelog](https://github.com/kiwiproject/consul-client/blob/main/CHANGELOG.md)
- [Commits](kiwiproject/consul-client@v1.10.1...v1.11.0)

---
updated-dependencies:
- dependency-name: org.kiwiproject:consul-client
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Root cause: deadlock between BaseService.lock and Spring's
lifecycleMonitor during CamelContext shutdown in afterAll.

Thread 1 (afterAll -> context.stop()):
  AbstractCamelContext.doStop()
    -> JmsProducer.doStop()
      -> ReplyManagerSupport.doStop()
        -> DefaultMessageListenerContainer.doShutdown()
          -> Object.wait() <- blocked, waiting for listener thread

Thread 2 (QueueReplyManager listener):
  DestinationResolverDelegate.resolveDestinationName()
    -> BaseService.lock <- blocked, held by Thread 1

Introduced by CAMEL-20199 (Oct 2024) which migrated synchronized
blocks to ReentrantLock. Before: BaseService.stop() used
synchronized(lock) on a private Object, while the inner class used
synchronized(QueueReplyManager.this) on the instance monitor — two
independent locks. After: both became QueueReplyManager.this.lock
(the same inherited ReentrantLock), creating the circular wait.

Fix: DestinationResolverDelegate now uses a dedicated ReentrantLock
instead of BaseService.lock, restoring the original two-lock design.
Added volatile + fast-path for the destination field.

Applied to both camel-jms and camel-sjms which share the same
pattern via their respective QueueReplyManager classes.
#22329)

Bumps [org.codehaus.plexus:plexus-utils](https://github.com/codehaus-plexus/plexus-utils) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/codehaus-plexus/plexus-utils/releases)
- [Commits](codehaus-plexus/plexus-utils@plexus-utils-4.0.2...plexus-utils-4.0.3)

---
updated-dependencies:
- dependency-name: org.codehaus.plexus:plexus-utils
  dependency-version: 4.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `jetty-version` from 12.1.7 to 12.1.8.

Updates `org.eclipse.jetty.ee10:jetty-ee10-webapp` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.ee10:jetty-ee10-servlet` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-server` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.websocket:jetty-websocket-jetty-server` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-security` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.ee10:jetty-ee10-servlets` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-client` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-jmx` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-util` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.http2:jetty-http2-client` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.http2:jetty-http2-client-transport` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-util-ajax` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-io` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty:jetty-proxy` from 12.1.7 to 12.1.8

Updates `org.eclipse.jetty.ee9:jetty-ee9-servlet` from 12.1.7 to 12.1.8

---
updated-dependencies:
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-webapp
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-servlet
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.websocket:jetty-websocket-jetty-server
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-security
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-servlets
  dependency-version: 12.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-client
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-jmx
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-util
  dependency-version: 12.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:jetty-http2-client
  dependency-version: 12.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:jetty-http2-client-transport
  dependency-version: 12.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-util-ajax
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-io
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-proxy
  dependency-version: 12.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.ee9:jetty-ee9-servlet
  dependency-version: 12.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
#22408)

The Builder.voiceFileId() method was incorrectly assigning to this.id
instead of this.voiceFileId, causing the voiceFileId to always be null
when using the builder pattern. This also had the side effect of
overwriting the id field.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bumps `bytebuddy-version` from 1.18.7 to 1.18.8.

Updates `net.bytebuddy:byte-buddy` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](raphw/byte-buddy@byte-buddy-1.18.7...byte-buddy-1.18.8)

Updates `net.bytebuddy:byte-buddy-agent` from 1.18.7 to 1.18.8
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](raphw/byte-buddy@byte-buddy-1.18.7...byte-buddy-1.18.8)

---
updated-dependencies:
- dependency-name: net.bytebuddy:byte-buddy
  dependency-version: 1.18.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: net.bytebuddy:byte-buddy-agent
  dependency-version: 1.18.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… of raw JSON strings (#22412)

Refactor DiagnoseTools, DependencyCheckTools, ExplainTools, and HardenTools
to return typed Java records instead of manually built JSON strings. This
aligns them with the pattern already used by CatalogTools, MigrationTools,
VersionTools, and OpenApiTools.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add retry with exponential backoff and jitter to TestServiceUtil.tryInitialize()
for ContainerFetchException (image pull 404) and ContainerLaunchException
(container start timeout). Configurable via system properties
camel.test.infra.container.retries (default 3) and
camel.test.infra.container.retry.delay.ms (default 5000).
* CAMEL-23258: Add google-mail:draft DataType transformer
This code was created with the help of Claude code
Fixes #CAMEL-23258
Add dedicated SSL properties (truststore, keystore, hostname verification,
protocol, algorithms) to OpenAIConfiguration, implement SSL context creation
in OpenAIEndpoint, and update documentation with usage examples.

Make OpenAIComponent implement SSLContextParametersAware so that global
SSLContextParameters can be used. When SSLContextParameters is set
(endpoint-level or global), it takes precedence over individual SSL
properties, following the same pattern as camel-kafka.

Includes comprehensive tests: configuration unit tests, TLS mock tests
with JKS/PKCS12 truststores, mTLS mock tests covering mutual
authentication, and SSLContextParameters fallback/precedence tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The PrepareCamelJBangCommandsMojo was not discovering all commands because:
- It searched for `new CommandLine(main)` but CamelJBangMain uses `new CommandLine(this)`
- The SUBCOMMAND_PATTERN regex only matched `(main)` constructor arg, not `(this)`

This caused several commands and options to be missing from generated docs:
- Missing `wrapper` command, `dataweave` subcommand
- Missing `bind` deprecation notice
- Wrong description for `--skip-plugins` option

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…s in terminal

Add a lightweight `camel cmd route-diagram` command that renders Camel route
diagrams directly in the terminal using JLine 4's graphics protocol support
(Kitty/Sixel/iTerm2 inline images).

Features:
- Tree-based layout with horizontal branching for EIPs (choice, multicast, doTry, etc.)
- Merge lines showing branch convergence
- Color-coded nodes by type (from, to, EIP, choice, default)
- Customizable color themes via --theme/--colors option or DIAGRAM_COLORS env var
- Built-in presets: dark, light, transparent
- PNG file export via --output option
- Fallback to text-based diagram for terminals without graphics support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Preview images for the route-diagram command showing dark and light themes.
These images should be removed before merging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.