Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: modelcontextprotocol/java-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.18.4
Choose a base ref
...
head repository: modelcontextprotocol/java-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.18.5
Choose a head ref
  • 9 commits
  • 54 files changed
  • 3 contributors

Commits on Aug 19, 2026

  1. Next development version

    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Aug 19, 2026
    Configuration menu
    Copy the full SHA
    5ba88f6 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2026

  1. Fix error behavior on unregistered handlers in stateless server handler

    Backport of #800 to the 0.18.x line.
    
    Instead of returning Mono.error with an McpError, DefaultMcpStatelessServerHandler
    now returns a JSON-RPC method not found error (-32601), aligned with the stateful
    server session handler.
    
    The early return meant the error never reached the onErrorResume below it, so it
    escaped to the transport. HttpServletStatelessServerTransport and the Spring
    WebMvc/WebFlux stateless transports all map an escaping handler error to HTTP 500,
    so any request for a method with no registered handler was answered with a server
    error rather than a JSON-RPC error response. Clients probing for optional methods
    -- OpenAI's hosted connector sends server/discover before tools/list -- therefore
    drove 5xx traffic against otherwise healthy servers.
    
    Adds the unit test from #800 and an integration test that asserts both the HTTP
    status and the JSON-RPC error body, since the status is what regressed.
    
    See #1085
    olsavmic authored and Kehrlann committed Aug 26, 2026
    Configuration menu
    Copy the full SHA
    76f6451 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2026

  1. Reject non application/json POST requests

    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Oct 9, 2026
    Configuration menu
    Copy the full SHA
    ba66498 View commit details
    Browse the repository at this point in the history
  2. Reject non application/json POST requests in Spring transports

    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Oct 9, 2026
    Configuration menu
    Copy the full SHA
    6e82adb View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2026

  1. Remove aggregate exception from JSONRPCErrorResponse, log instead (#1184

    )
    
    Backport #1182
    
    (cherry picked from commit 7aa05da)
    
    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann authored Oct 15, 2026
    Configuration menu
    Copy the full SHA
    3b232c0 View commit details
    Browse the repository at this point in the history
  2. Streamable HTTP: Add session sweeping and close hanging streams

    Backport of #1130.
    
    Also includes the changes from 4186ca1 (resumed streams are registered
    as the listening stream) and ff78191 (close the response stream after
    sending a method-not-found error), which #1130 builds upon.
    
    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Oct 15, 2026
    Configuration menu
    Copy the full SHA
    1760749 View commit details
    Browse the repository at this point in the history
  3. Introduce maxSessions and sessionIdleTimeout in Spring transports

    Port of spring-projects/spring-ai@023867c
    to the WebFlux and WebMvc Streamable HTTP server transports.
    
    Give users the ability to configure maxSessions and a mechanism to evict
    idle sessions. Initialize requests carrying an Mcp-Session-Id header are
    rejected, and sessions removed through DELETE are no longer tracked.
    
    Signed-off-by: Dimitar Proynov <dimitar.proynov@broadcom.com>
    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    dimitarproynov authored and Kehrlann committed Oct 15, 2026
    Configuration menu
    Copy the full SHA
    e59dab1 View commit details
    Browse the repository at this point in the history
  4. Use mvnw in all workflows

    See b43bf03
    
    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Oct 15, 2026
    Configuration menu
    Copy the full SHA
    c3f7ff2 View commit details
    Browse the repository at this point in the history
  5. Release version 0.18.5

    Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
    Kehrlann committed Oct 15, 2026
    Configuration menu
    Copy the full SHA
    49e419b View commit details
    Browse the repository at this point in the history
Loading