Skip to content

Epistates/TurboMCP

v1.1.2 Breaking

This release includes breaking changes 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

breaking_upgrade

Summary

AI summary

Fixed macro import paths and feature gate issues that broke TurboMCP macros when used as an external dependency.

Full changelog

🚨 Critical Bug Fix Release

This is an emergency patch release fixing a critical bug in v1.1.0 and v1.1.1 that completely broke macro functionality when TurboMCP is used as an external dependency.

❌ What Was Broken in v1.1.0 and v1.1.1

The #[server], #[tool], #[resource], and #[prompt] macros completely failed when TurboMCP was used as an external dependency (the normal use case). The macros would generate code with incorrect import paths, causing compilation errors like:

error[E0433]: failed to resolve: could not find `turbomcp` in the list of imported crates
error: no method named `into_router_with_path` found for struct `Arc<MyServer>`

✅ What's Fixed in v1.1.2

  1. Fixed Macro Import Paths: All procedural macros now generate correct fully qualified paths that work both internally and externally
  2. Removed Feature Gate Issues: Eliminated #[cfg(feature = ...)] guards in generated code that were preventing method generation
  3. Fixed Helper Macros: mcp_text!, mcp_error!, and tool_result! macros now work correctly in all contexts
  4. Enhanced Testing: Added comprehensive external dependency integration tests to prevent this from happening again

🔧 Technical Details

Root Causes Fixed:

  • Macros generated ::turbomcp::axum::Router paths but external crates couldn't resolve ::turbomcp::
  • Feature gates in generated code prevented compilation when features weren't enabled in user crates
  • Helper macros used incorrect import paths in their own test context

Solutions Implemented:

  • Updated all macro-generated code to use proper import paths
  • Removed problematic feature gates from generated code
  • Added comprehensive external dependency testing infrastructure
  • Fixed helper macro path resolution for different contexts

🧪 Validation

This release includes:

  • ✅ All existing functionality preserved
  • ✅ External dependency compilation verified
  • ✅ Comprehensive test coverage for multiple feature combinations
  • ✅ Zero tolerance testing to prevent future regressions

🚀 Upgrade Instructions

If you're using TurboMCP v1.1.0: Simply update your Cargo.toml:

[dependencies]
turbomcp = "1.1.2"  # Was broken in 1.1.0

No code changes required - this is a pure bug fix release.

📊 Impact

  • Severity: Critical - v1.1.0 was completely unusable as external dependency
  • Affected: All users trying to use TurboMCP macros in their projects
  • Resolution: Complete fix - all macro functionality now works correctly

🔍 Prevention

Added comprehensive external dependency integration tests including:

  • Real external project compilation testing
  • Feature combination validation
  • Import path verification
  • Macro hygiene enforcement

Note: Version 1.1.1 was partially published during the emergency fix process but was incomplete. All users should upgrade directly to v1.1.2.

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]