We're on rmcp 0.16.0 (picked from their README setup guide). Upstream is now at 1.7.0 on both crates.io and main. We need this upgrade to unblock switching to the progress-aware timeout fork for CEP-22.
What breaks
rmcp v1.7.0 added #[non_exhaustive] to several structs, so struct literal construction no longer compiles from outside the crate. All 21 compile errors are in tests and examples only - library code builds clean on v1.7.0.
Affected structs → new API:
ServerInfo / InitializeResult → ServerInfo::new(caps).with_server_info(...).with_instructions(...)
Implementation → Implementation::new(name, version).with_title(...).with_description(...)
CallToolRequestParams → CallToolRequestParams::new(name).with_arguments(...)
ReadResourceResult → ReadResourceResult::new(contents)
ReadResourceRequestParams → ReadResourceRequestParams::new(uri)
ServerJsonRpcMessage::error() — id param changed from RequestId to Option<RequestId>
Affected files
Notes
- All changes are mechanical - struct literals to builder APIs, no logic changes
ErrorData and ListResourcesResult are still exhaustive, no change needed
ProtocolVersion::LATEST silently moves from 2024-11-05 to 2025-11-25 (correct behavior)
We're on rmcp
0.16.0(picked from their README setup guide). Upstream is now at1.7.0on both crates.io andmain. We need this upgrade to unblock switching to the progress-aware timeout fork for CEP-22.What breaks
rmcp v1.7.0 added
#[non_exhaustive]to several structs, so struct literal construction no longer compiles from outside the crate. All 21 compile errors are in tests and examples only - library code builds clean on v1.7.0.Affected structs → new API:
ServerInfo/InitializeResult→ServerInfo::new(caps).with_server_info(...).with_instructions(...)Implementation→Implementation::new(name, version).with_title(...).with_description(...)CallToolRequestParams→CallToolRequestParams::new(name).with_arguments(...)ReadResourceResult→ReadResourceResult::new(contents)ReadResourceRequestParams→ReadResourceRequestParams::new(uri)ServerJsonRpcMessage::error()—idparam changed fromRequestIdtoOption<RequestId>Affected files
Cargo.toml- bump"0.16.0"→"1.7.0"src/rmcp_transport/pipeline_tests.rs- 3 changestests/integration.rs- 4 changestests/e2e_happy_path.rs- 4 changesexamples/native_echo_server.rs- 1 changeexamples/native_echo_client.rs- 1 changeexamples/rmcp_integration_test.rs- 3 changesNotes
ErrorDataandListResourcesResultare still exhaustive, no change neededProtocolVersion::LATESTsilently moves from2024-11-05to2025-11-25(correct behavior)