This release includes breaking changes for platform teams planning a safe upgrade.
Published 9mo
MCP Developer Tools
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
mcp
mcp-client
mcp-sdk
mcp-server
mcp-servers
rust
Summary
AI summaryZero‑ceremony builders simplify configuration forms with no breaking changes.
Full changelog
🚀 Major Features & Enhancements
Zero Ceremony Builders 🎉
// BEFORE: Verbose ceremony everywhere
let builder = elicit("Configure your app")
.field("verbose", boolean().title("Verbose Output").build())
.field("name", string().title("Name").min_length(2).build())
.field("port", integer().title("Port").range(1000.0, 9999.0).build());
// AFTER: Beautiful zero-ceremony experience
let builder = elicit("Configure your app")
.field("verbose", checkbox("Verbose Output"))
.field("name", text("Name").min_length(2))
.field("port", integer_field("Port").range(1000.0, 9999.0));
Key improvements:
- Zero ceremony - No more
.build()or.into()calls anywhere - Title-first constructors -
checkbox("Title"),text("Name")with clear intent - Semantic naming -
text(),checkbox(),integer_field()for intuitive usage - Slice-based options -
options(&["a", "b"])instead ofVecallocation - Smart field methods -
.field()accepts builders directly viaInto<T> - 100% backward compatible - Advanced builder variants available as
*_builder()
Comprehensive Elicitation System Expansion
- New field types:
checkbox(),choices(),enum_of(),options() - Enhanced validation: Range constraints, length validation, format checking
- Rich schema support: Object nesting, array handling, complex type definitions
- 10+ new comprehensive examples demonstrating real-world usage patterns
🔧 Bug Fixes & Core Improvements
Fixed elicit!() Macro
- Fixed:
elicit!()macro compilation error - Issue: Macro was accessing incorrect field path for server capabilities
- Solution: Updated field access to use
ctx.request.server_capabilities()
Major Protocol Enhancement
- Fixed: JSON schema conversion in
turbomcp-protocolwas incorrectly defaulting all property types to String - Impact: Elicitation schemas now preserve correct data types (integer, boolean, number, etc.)
- Solution: Implemented proper JSON Value to PrimitiveSchemaDefinition conversion with full type preservation
Enhanced Test Infrastructure
- Added: Shared configuration testing utilities eliminating code duplication
- Enhanced: Server integration tests with comprehensive request/response validation
- Expanded: 282+ tests passing with real service validation
📚 New Examples & Documentation
Comprehensive Example Suite
10+ new examples demonstrating real-world usage:
01_basic_server.rs: Core server setup and configuration02_tool_registration.rs: Dynamic tool registration patterns03_context_usage.rs: Context API and logging best practices04_error_handling.rs: Production-grade error management05_async_handlers.rs: Async tool handler implementations06_schema_validation.rs: Input validation and type safety07_complex_schemas.rs: Nested objects and array handling08_batch_operations.rs: Multi-operation request handling09_lifecycle_management.rs: Server lifecycle and graceful shutdown10_elicitation_macro_demo.rs: Elicitation macro usage patternssimple_elicit_macro.rs: Zero-ceremony builder demonstrations
Enhanced Documentation
- Updated API docs with zero-ceremony builder patterns
- Improved examples showing idiomatic usage
- Better error messages with clear guidance
- Comprehensive guides for migration and best practices
🏗️ Architecture & Infrastructure
Server Infrastructure Improvements
- Enhanced server builder: Fluent API with comprehensive configuration
- Improved lifecycle management: Graceful startup and shutdown sequences
- Better component integration: Registry, router, and metrics coordination
- Advanced health checking: Multi-component health validation
Testing Infrastructure Overhaul
- Shared test utilities: DRY configuration testing across components
- Real service testing: Docker/Testcontainers integration for authentic testing
- Comprehensive validation: End-to-end request/response cycle testing
Code Quality Enforcement
- Removed placeholder comments: Eliminated defensive "real implementation" language
- Enhanced documentation accuracy: Honest capability descriptions
- Improved error handling: Production-grade error types and recovery
- Better async patterns: Send-safe implementations throughout
Migration Guide
From 1.0.3 to 1.0.4
No breaking changes. All existing code continues to work unchanged.
New Zero-Ceremony Builders (Optional Migration)
// Old pattern (still works)
use turbomcp::elicitation_api::{elicit, string_builder, boolean_builder};
let form = elicit("Config")
.field("name", string_builder().title("Name").build())
.field("debug", boolean_builder().title("Debug").build());
// New ergonomic pattern (recommended)
use turbomcp::elicitation_api::{elicit, text, checkbox};
let form = elicit("Config")
.field("name", text("Name"))
.field("debug", checkbox("Debug"));
Enhanced Elicitation Features
- Use
checkbox()instead ofboolean()for better semantics - Use
text()for string inputs with clear intent - Use
integer_field()andnumber_field()for numeric inputs - All builders now support
options(&["a", "b"])slice syntax
🔍 What's Fixed
Critical Schema Bug Prevention
The enhanced test suite now prevents the schema bug where macro-generated schemas were being ignored:
// This bug would now be IMPOSSIBLE - our tests validate every schema
let (name, desc, _schema) = metadata(); // ❌ Ignoring schema
let (name, desc, schema) = metadata(); // ✅ Schema properly validated
Implementation Testing
- Direct tool testing:
test_tool_call()validates actual macro output - Schema validation: Every parameter type verified in generated schemas
- Integration testing: Complete macro→schema→protocol chain validation
🎯 Quality Metrics
Testing Excellence
- 282+ tests passing across entire workspace
- Zero placeholder implementations remaining in codebase
- Production-grade error handling throughout
- Comprehensive integration validation for all major features
Architecture Status
- Bidirectional Transport: Client-mode WebSocket fully functional
- Enhanced Server Builder: Production-grade configuration and lifecycle management
- Schema Generation: Full type preservation with proper JSON validation
- Async Architecture: Send-safe implementations throughout the stack
Resources
- Documentation: https://docs.rs/turbomcp/1.0.4
- Repository: https://github.com/Epistates/turbomcp
- Examples: See
crates/turbomcp/examples/directory
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]