Skip to content

Release 1.8.1 - #626

Open
koic wants to merge 1 commit into
modelcontextprotocol:mainfrom
koic:release_1_8_1
Open

koic wants to merge 1 commit into
modelcontextprotocol:mainfrom
koic:release_1_8_1

Conversation

@koic

@koic koic commented Oct 20, 2026

Copy link
Copy Markdown
Member

This release brings the server's JSON-RPC framing and capability advertisement, and the HTTP client's handling of an initialize answered over SSE, in line with the MCP specification. Several answers change on the wire, as fixes of incorrect conformance under the exceptions described in VERSIONING.md: a request whose id is null is refused with -32600 instead of being run, and a request method sent without an id is not run; an error response whose request id cannot be read carries no id member instead of "id": null; a stateless Streamable HTTP server no longer advertises listChanged or subscribe in initialize, since it cannot deliver those notifications, so clients refresh their lists on their own there; and the HTTP client returns from initialize as soon as its result arrives and raises RequestHandlerError on a 4xx or 5xx answer with an SSE body instead of returning the error event. Senders of null ids and code that read such error events have to change; nothing else needs migration. A stdio server also survives a frame it cannot strip, parse or answer.

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

This release brings the server's JSON-RPC framing and capability advertisement, and the HTTP client's handling of
an `initialize` answered over SSE, in line with the MCP specification. Several answers change on the wire,
as fixes of incorrect conformance under the exceptions described in VERSIONING.md: a request whose id is null
is refused with `-32600` instead of being run, and a request method sent without an id is not run; an error response
whose request id cannot be read carries no `id` member instead of `"id": null`; a stateless Streamable HTTP server
no longer advertises `listChanged` or `subscribe` in `initialize`, since it cannot deliver those notifications,
so clients refresh their lists on their own there; and the HTTP client returns from `initialize` as soon as
its result arrives and raises `RequestHandlerError` on a 4xx or 5xx answer with an SSE body instead of returning
the error event. Senders of null ids and code that read such error events have to change; nothing else needs migration.
A stdio server also survives a frame it cannot strip, parse or answer.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants