Skip to content

Epistates/TurboMCP

v2.0.4 Breaking

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

Published 7mo 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

Summary

AI summary

Explicit transport selection via transports attribute and unconditional schema generation

Full changelog

Added

  • Explicit Transport Selection with transports Attribute: New optional macro parameter for specifying which transports a server uses
    • Reduces generated code by only creating methods for specified transports
    • Eliminates cfg warnings on Nightly Rust when transports are specified
    • Supported values: stdio, http, websocket, tcp, unix
    • Example: #[server(name = "my-server", version = "0.1.0", transports = ["stdio"])]
    • Compile-time validation with helpful error messages
    • Fully backward compatible (omitting attribute generates all transports as before)

Changed

  • Schema-Generation Now Unconditional: Moved schemars from optional to always-enabled dependency

    • Schema generation is now available by default (required for MCP spec compliance)
    • Only affects build-time dependencies (zero runtime overhead)
    • Simplified mental model: users don't have to remember to enable schema-generation feature
    • Still works with default-features = false if needed
  • Macro Warnings Strategy: Removed #[allow(unexpected_cfgs)] from generated code

    • Cfg warnings on Nightly Rust now provide actionable guidance
    • Guides users toward explicit transport specification
    • Cleaner design: warnings point to solutions rather than hiding issues
    • Stable Rust (1.89+) unaffected (no warnings by default)

Fixed

  • Code Quality: Removed anti-pattern of suppressing warnings in generated code
  • Schema Module: Removed fallback implementations and unused cfg guards

Technical Details

  • Added transport validation in attrs.rs
  • Conditional method generation in bidirectional_wrapper.rs
  • Wire transport attribute through macro pipeline in server.rs and compile_time_router.rs
  • Added comprehensive examples/transports_demo.rs showing all usage patterns

Backward Compatibility

  • ✅ Zero breaking changes
  • ✅ All existing code continues to work
  • ✅ Fully backward compatible with 2.0.3

Special Thanks:

https://github.com/IgnisDa for #1

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]