This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryJsonRpcResponse 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:
JsonRpcResponsenow properly enforces JSON-RPC 2.0 specification requirements - Issue: Previous version violated JSON-RPC 2.0 spec by allowing both
resultanderrorfields - Solution: Fields are now private with proper accessor methods
result(),error(),is_error(),set_result(),set_error() - Added:
JsonRpcResponsePayloadenum ensures spec-compliant mutual exclusion of result/error - Added:
ResponseIdtype 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
- Deleted
-
Added consolidated test (+510 lines):
- New
integration_comprehensive.rscombining all integration tests - Unified test patterns and reduced duplication
- Better organization and maintainability
- New
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
-
JsonRpcResponse compliance fix → method calls:
// Update for JSON-RPC 2.0 compliance response.result() instead of response.result response.error() instead of response.error -
Update dependencies:
turbomcp = "1.0.12" -
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
Related context
Beta — feedback welcome: [email protected]