Skip to content

MCP upstream changes need template review #56

Description

@github-actions

rmcp has a newer published crate release. This template currently pins 1.7.0 and crates.io now publishes 1.8.0.

Release Window

Version Published Yanked Links
1.8.0 2026-06-23T12:28:57.399938Z no crates.io release

MCP Schema Watch

Recent schema commits

  • 357adac47ab2 2026-03-15T17:36:29Z schema: allow null for Task.ttl in generated JSON schema
  • bb676f3b8954 2026-01-26T23:37:36Z Merge pull request #2055 from halter73/categorize-new-schema
  • 528d6a15548d 2026-01-22T14:38:20Z fix: format schema.ts files
  • 35fa160caf28 2025-12-02T17:40:07Z Correct LATEST_PROTOCOL_VERSION
  • 40f50ed5df37 2025-11-25T21:06:46Z Add 2025-11-25 MCP specification (#1887)

Potential schema impact in this repo

Static identifier matches from upstream changes. Treat this as an inspection shortlist, not a complete migration plan.

No direct local references to changed upstream terms were found.

MCP Conformance Watch

Latest commit: chore: bump version to 0.2.0-alpha.7 (#367)

New conformance commits

  • 4686e064e2cb 2026-06-25T09:57:48Z fix(server-sse-polling): send mcp-protocol-version 2025-11-25 (the version this scenario tests) (#366)
  • 5d7abd5e7051 2026-06-25T10:26:47Z chore: bump version to 0.2.0-alpha.7 (#367)

Changed conformance files

File Status +/- Changes
package-lock.json modified +2 / -2 4
package.json modified +1 / -1 2
src/scenarios/server/sse-polling.ts modified +2 / -2 4

Potential conformance impact in this repo

Static identifier matches from upstream changes. Treat this as an inspection shortlist, not a complete migration plan.

Local file Changed upstream terms referenced
AGENTS.md json, package, server, src, version
GEMINI.md json, package, server, src, version
plugins/README.md json, package, server, src, version
plugins/rtemplate/AGENTS.md json, package, server, src, version
plugins/rtemplate/CLAUDE.md json, package, server, src, version
plugins/rtemplate/GEMINI.md json, package, server, src, version
plugins/rtemplate/README.md json, package, server, src, version
rmcp-releases.json json, package, server, src, version
plugins/rtemplate/.codex-plugin/README.md json, package, server, version
plugins/rtemplate/skills/rtemplate/SKILL.md json, server, src, version
crates/rtemplate-cli/Cargo.toml json, package, version
crates/rtemplate-contracts/Cargo.toml json, package, version
crates/rtemplate-contracts/src/errors.rs json, server, version
crates/rtemplate-observability/Cargo.toml json, package, version
mcp-conformance-head.json json, package, version
mcp-schema-commits.json json, server, version
plugins/rtemplate/skills/scaffold-project/SKILL.md json, server, version
crates/rtemplate-cli/src/doctor/checks.rs json, server
crates/rtemplate-cli/src/doctor/checks_tests.rs server, src
crates/rtemplate-cli/src/setup.rs json, server
crates/rtemplate-cli/src/watch_tests.rs server, src
crates/rtemplate-contracts/src/actions.rs json, server
crates/rtemplate-contracts/src/config_tests.rs json, src
crates/rtemplate-contracts/src/errors_tests.rs json, version
crates/rtemplate-contracts/src/token_limit.rs json, server
15 more files

Review Links

Release Notes

rmcp v1.8.0

Published: 2026-06-23T12:29:09Z

Release: rmcp-v1.8.0

Warning

⚠️ Breaking Changes

Despite being a minor version bump, this release contains a source-breaking API change (it should have been 2.0.0). If you depend on rmcp = "1.7", Cargo will resolve to 1.8.0 automatically and your build may fail. Pin to =1.7.x if you are not ready to migrate.

Peer::peer_info() return type changed (#862):

- pub fn peer_info(&self) -> Option<&R::PeerInfo>
+ pub fn peer_info(&self) -> Option<Arc<R::PeerInfo>>

This was needed so peer info can be re-set on a duplicate initialize (it now lives behind an RwLock), which is why a borrow can no longer be returned.

Migration: field access still works through Arc's Deref. If you need the old &InitializeResult (e.g. you bound the type explicitly), use .as_deref():

// Before (1.7.x): info is &InitializeResult
let info: Option<&InitializeResult> = client.peer_info();

// After (1.8.0): info is Arc<InitializeResult>
let info: Option<Arc<InitializeResult>> = client.peer_info();

// To recover the old reference type:
let info: Option<&InitializeResult> = client.peer_info().as_deref();

Added

  • standardize resource-not-found error code (SEP-2164) (#899)
  • validate OAuth authorization response issuer (#896)
  • specify OIDC application_type during dynamic client registration (SEP-837) (#883)
  • deprecate roots, sampling, and logging (SEP-2577) (#884)

Fixed

  • (auth) preserve configured reqwest client (#917)
  • (auth) align OAuth metadata discovery ordering (#887)
  • align progress timeout token (#909)
  • (elicitation) preserve enumNames through ElicitationSchema serde round-trip (#905)
  • return tool errors for invalid arguments (#894)
  • (auth) apply offline_access to reauth paths (#897)
  • update peer info on duplicate initialize (#862) — ⚠️ breaking: changes the Peer::peer_info() signature, see Breaking Changes above
  • strip and validate tool outputSchema and inputSchema (#860)
  • remove unnecessary fields from tools' inputSchema (#856)
  • reject init header/body version mismatch (#853)
  • align protocol version negotiation (#855)
  • accept 200 with empty body in response to notifications in addition to 202 (#849)

Other

  • Allow custom HTTP clients for OAuth (#908)
  • Add progress-aware request timeout reset (#858)
  • (server) document Err vs Ok(CallToolResult::error) visibility contract on ServerHandler::call_tool (#854)
  • refine mcpmate listing copy (#885)
  • added jilebi-mcp to the list of built with rmcp (#861)

Suggested Follow-Up

  • Read the release, schema, and conformance sections above for source-breaking changes.
  • Update all rmcp pins together when rmcp drift is present.
  • Refresh the pinned MCP schema baseline after reviewing schema drift.
  • Refresh the pinned MCP conformance baseline after reviewing conformance drift.
  • Run cargo update -p rmcp, cargo test, and the MCP dispatch/schema/conformance checks.
  • Update template docs/examples if the rmcp API or feature flags changed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions