Conversation
There was a problem hiding this comment.
Greptile Summary
This PR implements a defensive dependency locking strategy to address semver-breaking changes in the rmcp ecosystem. The changes add explicit version locks for both rmcp and rmcp-macros dependencies at version 0.6.3 to prevent automatic upgrades to 0.6.4, which introduced breaking changes.
The PR modifies two key files: the workspace-level Cargo.toml where the dependency versions are centrally managed, and the MCP package's Cargo.toml where the locked dependencies are consumed. The MCP (Model Context Protocol) server implementation heavily relies on procedural macros from the rmcp-macros crate, including #[tool_router], #[tool], and #[tool_handler] macros that generate server infrastructure code.
Since procedural macro crates can be published and versioned independently from their parent crates, there was a risk that Cargo could resolve rmcp-macros to version 0.6.4 while rmcp remained locked at 0.6.3, potentially causing build failures or runtime compatibility issues. This change ensures both dependencies remain synchronized at compatible versions. The comments indicate this is a temporary measure until the team is ready to upgrade both dependencies together to resolve the breaking changes.
Important Files Changed
Changed Files
| Filename | Score | Overview |
|---|---|---|
| Cargo.toml | 5/5 | Added explicit lock for rmcp-macros dependency at version 0.6.3 in workspace dependencies |
| mcp/Cargo.toml | 4/5 | Added rmcp-macros workspace dependency and bumped package version to 0.57.2 |
Confidence score: 5/5
- This PR is safe to merge with minimal risk as it implements a conservative dependency locking strategy
- Score reflects the defensive nature of the changes and clear documentation of the temporary workaround
- No files require special attention as both changes are straightforward dependency locks with clear comments
2 files reviewed, no comments
No description provided.