Two high-impact areas for the camel-jbang-plugin-tui module.
Last updated: 2026-05-20T$(date -u +%H:%M:%S)Z
| PR | Title | Base | CI | Reviews | Status |
|---|---|---|---|---|---|
| #12083 | Fix #12080: mvnup - comment out dependencies with undefined property expressions | master | ✅ All green | none | Ready for review |
| #12099 | [4.0.x] Fix #12080: mvnup - comment out dependencies with undefined property expressions | maven-4.0.x | ✅ All green | none | CI green, backport of #12083 |
AI agents debugging Camel routes have no MCP-based way to inspect live route stats, trace exchanges, check health, or interact with the debugger. Camel has rich runtime observability via the DevConsole SPI (~47 consoles) and a BacklogDebugger, but these are only accessible via the dev console HTTP API or JBang CLI file-based protocol.
This plan introduces a new camel-mcp-server module that embeds an MCP server directly inside a running Camel application using the official MCP Java SDK. Tools call DevConsoleRegistry and BacklogDebugger directly — no file I/O, no polling, no latency. The module supports pluggable transports: STDIO, Unix domain sockets, and TCP sockets.
This complements (not replaces) the existing camel-jbang-mcp catalog server, which remains the standalone tool for catalog lookups, migration guides, and OpenAPI tooling.
The project currently ships 25 markdown files in commands/ that are installed as individual /oss-* commands for various AI agents. Claude Code has evolved: commands are now merged into skills, and skills are recommended going forward. Skills support auto-invocation, supporting files, and frontmatter control.
The goal is to replace the 25 individual commands with one background skill (user-invocable: false) that Claude auto-loads when the user's request is relevant (e.g., "review PR #42", "fix issue CAMEL-123"). No explicit / invocation needed.
| package com.example.lib; | |
| public class Greeting { | |
| public String hello(String name) { | |
| return "Hello, " + name + "!"; | |
| } | |
| } |
| max = current() + 100s | |
| while (max - current() > 0) | |
| lock.tryLock(shared, max - current()) | |
| if not present locally | |
| lock.unlock(shared) | |
| if lock.tryLock(exclusive, 1s) | |
| if not present locally | |
| download | |
| lock.unlock(exclusive) | |
| break |
- Disable consumer POM flattening by default and add an opt-in feature (#11347) (#11370) @gnodet
| diff --git a/.asf.yaml b/.asf.yaml | |
| index a6530be680..3344951e1a 100644 | |
| --- a/.asf.yaml | |
| +++ b/.asf.yaml | |
| @@ -16,10 +16,16 @@ github: | |
| - MNG | |
| pull_requests: | |
| del_branch_on_merge: true | |
| + protected_branches: | |
| + master: {} |