Skip to content

v0.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@tzolov tzolov released this 13 Jan 11:34
· 8 commits to main since this release

Release Notes

Breaking Changes

Transport Implementation Changes

  • Module Restructuring

    • SSE transport implementations moved to dedicated modules:
      • mcp-webflux-sse-transport: WebFlux-based SSE transport
      • mcp-webmvc-sse-transport: WebMVC-based SSE transport
    • Base MCP module no longer includes transport implementations
  • Class Renames

    • SseClientTransport renamed to WebFluxSseClientTransport
    • SseServerTransport renamed to WebFluxSseServerTransport

Project Structure Changes

Migration Guide

Users will need to:

  1. Update dependencies to include appropriate transport modules
  2. Update import statements for renamed transport classes
  3. Modify transport instantiation code
  4. Add mcp-test dependency if using test utilities

Major Features & Improvements

Transport Layer Enhancements

  • New Servlet-based SSE Transport

    • Added HttpServletSseServerTransport with Servlet 6.0 support
    • Enables integration with any Java HTTP server supporting Servlets
    • Compatible with Jakarta Servlet API 6.1.0
    • Includes comprehensive integration tests with Tomcat
  • Enhanced WebMVC Transport

    • Improved event delivery control and connection management
    • Added dedicated session management with SSEEvent record
    • Enhanced error handling and timeout management
    • Includes comprehensive integration tests

Architecture & Modularity

  • Transport Implementation Modularization
    • Split transport implementations into dedicated modules
    • Created separate modules for WebFlux and WebMVC SSE transports
    • Added framework-independent SSE client implementations using java.net.http
    • Introduced shared test module for common test utilities
    • Maintained STDIO transport in core for basic functionality

Build & Dependency Management

  • New Bill of Materials (BOM)
    • Introduced mcp-bom module for centralized version management
    • Simplified dependency version management across Spring AI MCP projects
    • Streamlined version compatibility across components
    • Updated documentation to reference the new BOM

Security Updates

  • Updated Tomcat dependencies to address security vulnerabilities:
    • tomcat-embed-core upgraded from 10.1.18 to 10.1.34

Compatibility Notes

  • Requires Jakarta Servlet API 6.1.0 for Servlet-based transport
  • Compatible with Tomcat 11.0.2 and newer
  • Users should migrate to the new BOM for dependency management

Documentation Updates

  • Added dependency management documentation
  • Updated existing documentation to use BOM references
  • Added integration examples for new transport implementations