Skip to content

v1.5.5

Choose a tag to compare

@localrivet localrivet released this 02 Jun 20:35
· 68 commits to main since this release

🚀 MCP Session Architecture Implementation

✨ New Features

  • Enhanced ClientInfo struct with Env and Roots fields for comprehensive session data
  • ClientSession convenience methods: Env(), Roots(), Capabilities() for easy access
  • Transport-aware session data extraction - environment from transport headers/process, not init params
  • Automated workspace root fetching following complete MCP protocol flow
  • Proper response handling with request tracking for roots/list requests

🔧 Implementation Details

  • Server automatically detects client roots capability and sends roots/list requests
  • Workspace roots extracted from both clientInfo during initialization AND via automated roots/list
  • Environment data correctly sourced from transport layer per MCP specification
  • Full MCP compliance across all three protocol versions (2024-11-05, 2025-03-26, draft)

🧪 Testing & Quality

  • Added comprehensive MCP compliance tests for all three protocol specifications
  • Added session integration tests with complete flow verification
  • Enhanced workspace roots testing with URI-to-path conversion validation
  • All 500+ tests passing across all packages and protocol versions

📚 Documentation

  • Added MCP_Session_Architecture.md with detailed implementation notes
  • Documented key discovery: roots are client capability given to server for file access awareness

✅ Compliance & Standards

  • Maintains pure API contract - exactly one method per operation
  • Follows Go development rules: minimal locks, test-first approach, idiomatic patterns
  • Zero breaking changes - seamless integration with existing functionality

This release provides production-ready session management and automated root fetching while maintaining full backward compatibility.