Skip to content

feat!: support MCP schema 2026-07-28 and make it the default (v2.0.0) - #119

Merged
hashemix merged 4 commits into
mainfrom
feat/schema-07-28
Aug 22, 2026
Merged

feat!: support MCP schema 2026-07-28 and make it the default (v2.0.0)#119
hashemix merged 4 commits into
mainfrom
feat/schema-07-28

Conversation

@hashemix

Copy link
Copy Markdown
Member

📌 Summary

Adds support for MCP schema version 2026-07-28, promotes it to the default
(and latest) version, and refreshes the draft schema, examples, and docs to
match.
This is a breaking change (v2.0.0): the default feature set and crate-root re-exports now resolve to 2026_07_28, and several legacy helper methods have been deprecated/removed.

✨ Changes Made

  • Add generated 2026_07_28 schema (mcp_schema.rs, schema_utils.rs,
    validators.rs) plus its Cargo feature
  • Promote 2026_07_28 to default and latest, make 2025_11_25 opt-in
  • Add ProtocolVersion::V2026_07_28, update latest(), Display, TryFrom
  • Updated README + examples to use CallToolRequest/CallToolResult and the
    new delegate-enum API
  • Deprecate type_name()/method_name() in favor of *_value()
  • Remove ContentBlock::embedded_text_resource/embedded_blob_resource
  • Update clippy/test scripts for 2026_07_28 and the deprecated lint
  • Add tests/v2026_07_28 integration tests, update docs.rs

🛠️ Testing Steps

📌 Summary

Adds support for MCP schema version 2026-07-28, promotes it to the default
(and latest) version, and refreshes the draft schema, examples, and docs to
match. Breaking change targeting v2.0.0.

🔍 Related Issues

  • Fixes #

✨ Changes Made

  • Add generated 2026_07_28 schema (mcp_schema.rs, schema_utils.rs,
    validators.rs) plus its Cargo feature
  • Promote 2026_07_28 to default and latest; make 2025_11_25 opt-in
  • Add ProtocolVersion::V2026_07_28; update latest(), Display, TryFrom
  • Update draft schema to the 2026-07-28 contents
  • Rewrite README + examples to use CallToolRequest/CallToolResult and the
    new delegate-enum API
  • Deprecate type_name()/method_name() in favor of *_value()
  • Remove ContentBlock::embedded_text_resource/embedded_blob_resource
  • Update clippy/test scripts for 2026_07_28 and the deprecated lint
  • Add tests/v2026_07_28 integration tests; update docs.rs/playground features

🛠️ Testing Steps

  • ./scripts/run_test.sh and ./scripts/run_clippy.sh
  • Run mcp_client_handle_message / mcp_server_handle_message examples

💡 Additional Notes

  • Breaking change; release as v2.0.0.

@hashemix
hashemix merged commit a764b2d into main Aug 22, 2026
2 checks passed
@hashemix hashemix mentioned this pull request Aug 22, 2026
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