Skip to content
This repository was archived by the owner on Feb 14, 2025. It is now read-only.

v0.6.0

Pre-release
Pre-release

Choose a tag to compare

@tzolov tzolov released this 24 Jan 17:55
· 2 commits to main since this release

Release Notes

Breaking Changes ⚠️

  • McpClient.using() - Use McpClient.sync() or McpClient.async() instead
  • McpServer.using() - Use McpServer.sync() or McpServer.async() instead
  • McpServer.ToolRegistration - Use McpServerFeatures.SyncToolRegistration or McpServerFeatures.AsyncToolRegistration instead
  • McpServer.ResourceRegistration - Use McpServerFeatures.SyncResourceRegistration or McpServerFeatures.AsyncResourceRegistration instead
  • McpServer.PromptRegistration - Use McpServerFeatures.SyncPromptRegistration or McpServerFeatures.AsyncPromptRegistration instead
  • ToolHelper.toToolRegistration() - Use ToolHelper.toSyncToolRegistration() instead

Follow the 0.6.0 Migration Guide for the new API changes.

New Features 🚀

Protocol Version Negotiation (#74)

  • Implemented protocol version negotiation between MCP client and server
  • Added support for multiple protocol versions in both client and server
  • Implemented fallback mechanism to latest version when unsupported version requested
  • Added comprehensive test coverage for version negotiation

Configurable SSE Endpoints (#65)

  • Made SSE endpoint path configurable in server transports
  • Added customization support for WebFluxSseServerTransport, WebMvcSseServerTransport, and HttpServletSseServerTransport
  • Maintained backward compatibility with default "/sse" endpoint
  • Aligned Java SDK behavior with Python SDK's SseServerTransport

Bug Fixes 🐛

Transport Layer Improvements (#73)

  • Added cleanup logic for inbound processing in transport layer
  • Enhanced transport reliability and resource management

Improvements & Refactoring 🔧

API Refactoring (#66, #69)

  • Separated asynchronous and synchronous client interactions
  • Introduced new client creation patterns:
    // Synchronous client API
    McpClient.sync(transport).build();
    
    // Asynchronous client API
    McpClient.async(transport).build();
  • Made RequestHandler type-aware of responses
  • Deprecated legacy client builder patterns

Code Quality & Structure (#70, #64)

  • Aligned abstract tests in mcp-test with mcp-core
  • Improved method scope definitions
  • Enhanced code organization and maintainability

Full Changelog: v0.5.1...v0.6.0