diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b76f7b..f151b6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **`rmcp` 2.2.0** — Breaking change upstream: bump `rmcp` from 1.8.0 to 2.2.0 to align with the MCP 2025-11-25 spec. `rmcp::model::RawResource` and the `Annotated` wrapper were merged into a single flat `rmcp::model::Resource` struct; `McplsServer::list_resources` updated accordingly. + ### Fixed - **RUSTSEC-2026-0204** — bump transitive `crossbeam-epoch` dependency (pulled in via `ignore`) from 0.9.18 to 0.9.20 to resolve an invalid pointer dereference in `fmt::Pointer` impls for `Atomic`/`Shared` diff --git a/Cargo.lock b/Cargo.lock index 1429b88..9206622 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1307,9 +1307,9 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "rmcp" -version = "1.8.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1f571c72940a19d9532fe52dbea8bc9912bf1d766c2970bb824056b86f3f59" +checksum = "14db48ee17a9ba61810ab1a9c1beb7d06d8136ae39ac25a1137f10d357af01af" dependencies = [ "async-trait", "base64", @@ -1338,9 +1338,9 @@ dependencies = [ [[package]] name = "rmcp-macros" -version = "1.8.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aad0035b69380782d78ea95b508327e6deaa2235909053e596eea8f27b5e1d5" +checksum = "783d787bf21813b285f13019adc49e11af501c658890c1e519f31f937c68b7e3" dependencies = [ "darling", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 97e9690..94775a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ ignore = "0.4" lsp-types = "0.97" mcpls-core = { path = "crates/mcpls-core", version = "0.3.7" } predicates = "3.1" -rmcp = "1.8.0" +rmcp = "2.2.0" rstest = "0.26" schemars = "1.2" serde = "1.0" diff --git a/crates/mcpls-core/src/mcp/server.rs b/crates/mcpls-core/src/mcp/server.rs index 51d2d65..c450fee 100644 --- a/crates/mcpls-core/src/mcp/server.rs +++ b/crates/mcpls-core/src/mcp/server.rs @@ -7,8 +7,8 @@ use std::sync::Arc; use rmcp::handler::server::wrapper::Parameters; use rmcp::model::{ - Implementation, ListResourcesResult, RawResource, ReadResourceRequestParams, - ReadResourceResult, ResourceContents, ServerCapabilities, ServerInfo, SubscribeRequestParams, + Implementation, ListResourcesResult, ReadResourceRequestParams, ReadResourceResult, Resource, + ResourceContents, ServerCapabilities, ServerInfo, SubscribeRequestParams, UnsubscribeRequestParams, }; use rmcp::{ErrorData as McpError, RoleServer, ServerHandler, tool, tool_handler, tool_router}; @@ -569,10 +569,11 @@ impl ServerHandler for McplsServer { .and_then(|n| n.to_str()) .unwrap_or("unknown") .to_string(); - let raw = RawResource::new(uri, name) - .with_mime_type("application/json") - .with_description("LSP diagnostics for this file"); - Some(rmcp::model::Annotated::new(raw, None)) + Some( + Resource::new(uri, name) + .with_mime_type("application/json") + .with_description("LSP diagnostics for this file"), + ) }) .collect() };