Skip to content

Epistates/TurboMCP

v1.0.12 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 8mo MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

mcp mcp-client mcp-sdk mcp-server mcp-servers rust

Affected surfaces

auth rbac

Summary

AI summary

JsonRpcResponse now enforces JSON‑RPC 2.0 spec by requiring exclusive use of result or error fields via accessor methods.

Full changelog

🎯 Overview

Version 1.0.12 is a massive quality and compliance enhancement to TurboMCP. This release introduces comprehensive MCP protocol compliance testing, enhanced JSON-RPC handling, production-grade URI template support, and consolidates the test suite for better maintainability.

🐛 CRITICAL PROTOCOL COMPLIANCE FIXES

JsonRpcResponse API Correction (Protocol Compliance Fix)

  • Fixed: JsonRpcResponse now properly enforces JSON-RPC 2.0 specification requirements
  • Issue: Previous version violated JSON-RPC 2.0 spec by allowing both result and error fields
  • Solution: Fields are now private with proper accessor methods result(), error(), is_error(), set_result(), set_error()
  • Added: JsonRpcResponsePayload enum ensures spec-compliant mutual exclusion of result/error
  • Added: ResponseId type for proper parse error handling per JSON-RPC 2.0
  • Migration: Replace direct field access with method calls:
    // Old (v1.0.11) - Violated JSON-RPC 2.0 spec
    if let Some(error) = response.error { ... }
    let result = response.result.unwrap();
    
    // New (v1.0.12) - JSON-RPC 2.0 compliant
    if let Some(error) = response.error() { ... }
    let result = response.result().unwrap().clone();
    

✨ Major New Features

1. Production-Grade URI Template System (NEW)

  • File: crates/turbomcp-macros/src/uri_template.rs (+312 lines)
  • RFC 6570 subset compliance for URI template parsing and matching
  • Zero-allocation hot path for high-performance parameter extraction
  • Compile-time optimization with comprehensive validation
  • Enterprise-ready with proper error handling and type safety

2. Comprehensive MCP Protocol Compliance Test Suite (NEW)

  • 8,000+ lines of new compliance testing
  • 12 new test files covering all MCP protocol aspects:
    • tests/mcp_authorization_compliance_tests.rs (+823 lines)
    • tests/mcp_basic_protocol_compliance.rs (+810 lines)
    • tests/mcp_client_features_compliance_tests.rs (+1,023 lines)
    • tests/mcp_server_features_compliance_tests.rs (+899 lines)
    • tests/mcp_tools_compliance_tests.rs (+993 lines)
    • tests/mcp_transport_compliance_tests.rs (+659 lines)
    • tests/mcp_utilities_compliance_tests.rs (+806 lines)
    • tests/mcp_schema_compliance_tests.rs (+784 lines)
    • And more...

3. Enhanced JSON-RPC Protocol Implementation

  • Enhanced response handling (+161 lines in jsonrpc.rs)
  • Better validation (+152 lines in validation.rs)
  • Type safety improvements with proper error/result mutual exclusion
  • Parse error handling with null ID support per JSON-RPC 2.0 spec

🧪 Test Suite Consolidation & Enhancement

Test Consolidation (Major Cleanup)

  • Removed redundant tests (-2,600 lines):

    • Deleted basic_integration.rs (-725 lines)
    • Deleted comprehensive_coverage.rs (-667 lines)
    • Deleted feature_coverage.rs (-577 lines)
    • Deleted integration_tests.rs (-600 lines)
    • Deleted remaining_modules_coverage.rs (-635 lines)
    • And more fragmented test files
  • Added consolidated test (+510 lines):

    • New integration_comprehensive.rs combining all integration tests
    • Unified test patterns and reduced duplication
    • Better organization and maintainability

New Protocol Compliance Testing

  • Complete MCP compliance matrix with detailed reporting
  • Automated spec tracking system for future protocol updates
  • Real-world integration tests with actual protocol flows
  • Comprehensive validation against official MCP schemas

🔧 Enhanced Macro System & Routing

Improved Resource & Prompt Handling

  • Enhanced prompt macro (+85 lines in prompt.rs)
  • Enhanced resource macro (+177 lines in resource.rs)
  • Better compile-time routing (+386 lines in compile_time_router.rs)
  • Improved parameter extraction for URI templates

Server Architecture Improvements

  • Enhanced middleware system with better security
  • Improved routing (+33 lines in routing.rs)
  • Streamlined server core (-119 lines in server.rs - simplified)

📚 Documentation & Examples Updates

Updated Examples

  • Enhanced elicitation examples with better user flows
  • Improved bidirectional communication examples
  • Production deployment example updates
  • Stdio compliance improvements for MCP clients

MCP Compliance Documentation

  • Compliance matrix showing full protocol support
  • Issues tracking for any remaining edge cases
  • Best practices for MCP protocol implementation

🎯 Protocol Compliance Achievements

✅ Full MCP 2025-06-18 Compliance

  • All core methods: tools/list, resources/list, prompts/list, tools/call, resources/read, prompts/get
  • Advanced features: sampling, elicitation, roots, completion
  • Transport independence: stdio, HTTP/SSE, WebSocket, TCP, Unix sockets
  • Security: OAuth 2.1, authorization, authentication
  • Content types: text, image, audio, resource links

✅ JSON-RPC 2.0 Full Compliance

  • Request/response/notification handling
  • Batch processing support
  • Error codes per specification
  • Parse error handling with null IDs
  • Transport agnostic message format

🚀 Performance & Quality Improvements

Code Quality

  • 690+ tests passing with zero failures
  • Clean compilation with no warnings
  • Clippy compliance with all lints resolved
  • Documentation generates successfully
  • Formatting standardized across codebase

Dependencies

  • No new runtime dependencies added
  • Test dependencies consolidated
  • Security audit shows only minor non-critical issues

📊 Release Statistics

Lines of Code Changes

  • Total changes: +12,386 lines added, -4,383 lines removed
  • Net addition: +8,003 lines
  • Files changed: 53 files
  • New files: 13 test files, 1 URI template module

Test Coverage

  • 690+ total tests across all packages
  • 8,000+ lines of new compliance testing
  • Zero test failures
  • Comprehensive protocol coverage

🛠️ Migration Guide

For Most Users (Minimal Impact)

Most applications will continue to work with minimal changes as the primary changes are protocol compliance fixes in low-level JSON-RPC response handling that were necessary to meet the JSON-RPC 2.0 specification.

Required Changes

  1. JsonRpcResponse compliance fix → method calls:

    // Update for JSON-RPC 2.0 compliance
    response.result() instead of response.result
    response.error() instead of response.error
    
  2. Update dependencies:

    turbomcp = "1.0.12"
    
  3. Run tests to verify compatibility

Enhancements

  • URI templates: Leverage new RFC 6570 compliant URI template system for resources
  • Enhanced validation: Benefit from comprehensive JSON-RPC 2.0 and MCP protocol compliance
  • Test patterns: Use new consolidated test patterns for better coverage

Full Changelog: v1.0.11...v1.0.12

Download: cargo add [email protected]

Documentation: https://docs.rs/turbomcp/1.0.12

Breaking Changes

  • Removed direct field access to `JsonRpcResponse.result` and `JsonRpcResponse.error`; replaced with method calls `result()` and `error()`.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Epistates/TurboMCP

Get notified when new releases ship.

Sign up free

About Epistates/TurboMCP

TurboMCP SDK: Enterprise MCP SDK in Rust

All releases →

Beta — feedback welcome: [email protected]