# MCP Python SDK v1.28.0 - Product: MCP Python SDK (https://whatsnew.fyi/product/mcp-python-sdk) - Vendor: Anthropic - Date: 2026-06-16 - Version: v1.28.0 - Original notes: https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.28.0 - Permalink: https://whatsnew.fyi/product/mcp-python-sdk/releases/v1.28.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Support Python 3.14 - **fixed** — Omit null optional fields from task result payloads - **deprecated** — WebSocket transport (mcp.client.websocket.websocket_client and mcp.server.websocket.websocket_server) will be removed in v2; use the streamable HTTP transport instead - **deprecated** — Experimental tasks API (ClientSession.experimental, Server.experimental, ServerSession.experimental, and experimental_task_handlers= kwarg) will be removed in v2 as tasks were removed from the MCP specification ##### Deprecations Two API surfaces now emit `DeprecationWarning` ahead of their removal in v2. Nothing is removed in 1.x, and the warnings fire only when the deprecated API is *called* - importing the modules stays silent. - **WebSocket transport** - `mcp.client.websocket.websocket_client` and `mcp.server.websocket.websocket_server`. WebSocket was never part of the MCP specification; use the streamable HTTP transport instead. The TypeScript SDK has likewise removed its WebSocket client for v2 (modelcontextprotocol/typescript-sdk#1783). - **Experimental tasks API** - `ClientSession.experimental`, `Server.experimental`, `ServerSession.experimental`, and the `experimental_task_handlers=` kwarg on `ClientSession`. Tasks (SEP-1686) were removed from the MCP specification and are expected to return as a separate MCP extension. If your test suite runs with `filterwarnings = ["error"]` and exercises these paths, add a scoped ignore such as `ignore:The experimental tasks API is deprecated:DeprecationWarning` or `ignore:The WebSocket .* transport is deprecated:DeprecationWarning`. See #2828 for full details. ##### What's Changed * [v1.x] Support Python 3.14 by @maxisbey in https://github.com/modelcontextprotocol/python-sdk/pull/2769 * fix: omit null optional fields from task result payloads by @liuzemei in https://github.com/modelcontextprotocol/python-sdk/pull/2809 * [v1.x] Deprecate the WebSocket transport and the experimental tasks entry points by @maxisbey in https://github.com/modelcontextprotocol/python-sdk/pull/2828 * [v1.x] Add a v2 status banner to the README by @maxisbey in https://github.com/modelcontextprotocol/python-sdk/pull/2835 * [v1.x] Deflake the child process cleanup tests by @maxisbey in https://github.com/modelcontextprotocol/python-sdk/pull/2839 ##### New Contributors * @liuzemei made their first contribution in https://github.com/modelcontextprotocol/python-sdk/pull/2809 **Full Changelog**: https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.2...v1.28.0