fastmcp/docs/development/v4-notes
Jeremiah Lowin 80f753c1cb
Enforce protocol-version pins by era, not exact handshake revision
The initialize handshake is negotiated by the SDK with no knowledge of the
server's protocol_versions allowlist, and FastMCP can only veto the handshake,
not steer the negotiated revision. So a server pinned to an older handshake
revision (e.g. ["2024-11-05"]) wrongly refused an ordinary client that
requested a newer handshake revision. Enforce era membership for handshake
versions (exact membership stays for modern per-request versions), refusing
only a genuine cross-era mismatch.
2026-07-20 18:06:32 -04:00
..
change-register.mdx Enforce protocol-version pins by era, not exact handshake revision 2026-07-20 18:06:32 -04:00
feature-program.mdx Add guard-mode multi-round-trip tools (SEP-2322) (#4544) 2026-07-19 16:42:06 -04:00
index.mdx Add server-side identity assertion (SEP-990 ID-JAG) (#4483) 2026-07-18 19:52:15 -04:00
known-gaps.mdx Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
protocol-2026.mdx Enforce protocol-version pins by era, not exact handshake revision 2026-07-20 18:06:32 -04:00