Skip to content

Upgrade rmcp 1.8.0 → 3.3.0 (Aikido 34247111) - #251

Merged
flupkede merged 2 commits into
developfrom
chore/upgrade-rmcp-3
Sep 15, 2026
Merged

flupkede merged 2 commits into
developfrom
chore/upgrade-rmcp-3

Conversation

@flupkede

Copy link
Copy Markdown
Owner

Clears the five Aikido advisories on rmcp 1.8.0 (AIKIDO-2026-778115/49493/322535, CVE-2026-64684/317735/617985).

Strategy: behavior-identical upgrade

rmcp 3.x defaults to the legacy protocol (initialize handshake, sessions, ProtocolVersion::LATEST = 2025-11-25). The 2026-07-28 stateless lifecycle/discovery is opt-in upstream and deliberately not enabled — adopting it is a separate protocol decision.

Code impact (small — the macros absorb the breaking changes)

Change Why
Content/RawContentContentBlock types renamed/merged in 3.x
#[tool_router(allow_empty)] on the ctors-only impl 3.3 rejects toolless routers; the real router is merged_tool_router()
proxy call_toolCallToolResponse manual ServerHandler impl needs the new MRTR response enum (.into() provided)
test content assertions drop .raw field removed; ContentBlock is the enum itself

Validation

  • cargo fmt --check, cargo clippy --all-targets -- -D warnings: green
  • cargo test --lib --bins: 1384 passed, 0 failed (incl. MCP tool-registration and proxy tests)

Follow-ups (not this PR): 2026-07-28 protocol adoption, request-state HMAC if stateless MRTR ever lands.

…sories)

Behavior-identical migration: legacy initialize/session paths preserved,
2026-07-28 stateless lifecycle NOT enabled. The tool macros absorb the
MRTR response-enum changes, so code impact is contained to:
- Content/RawContent -> ContentBlock (renamed/merged in 3.x)
- #[tool_router(allow_empty)] on the ctors-only impl (3.3 rejects
  toolless routers; the real router is merged_tool_router())
- proxy call_tool returns CallToolResponse (manual ServerHandler impl)
- test assertions drop the removed .raw projection

Validation: cargo fmt, clippy -D warnings, 1384 lib+bin tests green.
# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
@flupkede
flupkede merged commit 625bf52 into develop Sep 15, 2026
7 checks passed
@flupkede
flupkede deleted the chore/upgrade-rmcp-3 branch September 15, 2026 13:47
donbowman pushed a commit to donbowman/codesearch that referenced this pull request Sep 15, 2026
Zero call-site changes: the embedder uses fastembed's ModelType/
InitOptions surface, stable across the 5->6 major.

Also repairs CHANGELOG.md: the flupkede#251 merge accidentally committed
unresolved conflict markers (blind git add during that merge) — the
[1.3.23] section is now the intended Security/Changed structure.

Scope note: fastembed 6.1 still resolves image 0.25 -> weezl/moxcms
advisories stay open until upstream image bump; rand 0.9.5 stays via
hf-hub 0.5/tokenizers.

Validation: fmt, clippy -D warnings, 1384 lib+bin tests green.
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.

1 participant