You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sweep: route report_progress through DispatchContext.progress; bump LATEST_PROTOCOL_VERSION; orphan cleanup
- Context.report_progress now delegates to DispatchContext.progress() via
ServerSession.report_progress (was: token-gated send_notification, which
only worked under JSONRPCDispatcher). Progress now reaches the client on
the in-process modern path; 4 progress-notification xfails flip to pass.
ServerSession's request_outbound is typed DispatchContext (it always was
one at runtime).
- LATEST_PROTOCOL_VERSION bumped to '2026-07-28' (the newest revision the
SDK supports). Handshake-outcome assertions and mock-InitializeResult
fixtures switched to HANDSHAKE_PROTOCOL_VERSIONS[-1]. migration.md entry.
- ServerMessageMetadata.protocol_version deleted (no readers, no writers).
- ClientSession.send_progress_notification and Client.send_progress_notification
deprecated (client-to-server progress is server-to-client only at 2026-07-28).
- Mcp-Name TODO re-anchored on _make_modern_stamp.
`SUPPORTED_PROTOCOL_VERSIONS` is deprecated — it's now the union of `HANDSHAKE_PROTOCOL_VERSIONS` (initialize-handshake versions) and `MODERN_PROTOCOL_VERSIONS` (per-request-envelope versions). If you were using it to mean "versions the initialize handshake accepts", switch to `HANDSHAKE_PROTOCOL_VERSIONS`.
778
778
779
+
`LATEST_PROTOCOL_VERSION` now reflects the newest protocol revision the SDK supports (`2026-07-28`). Code that used it to mean "the version `.initialize()` offers" should switch to `HANDSHAKE_PROTOCOL_VERSIONS[-1]`.
780
+
779
781
### `ProgressContext` and `progress()` context manager removed
780
782
781
783
The `mcp.shared.progress` module (`ProgressContext`, `Progress`, and the `progress()` context manager) has been removed. This module had no real-world adoption — all users send progress notifications via `Context.report_progress()` or `session.send_progress_notification()` directly.
No migration is required during the deprecation window. New code should avoid building on these features, since they may be removed in a future spec version.
The 2026-07-28 spec restricts `notifications/progress` to the server-to-client direction only — `ProgressNotification` is no longer in `ClientNotification`. `Client.send_progress_notification()` and `ClientSession.send_progress_notification()` now carry `typing_extensions.deprecated` and emit `mcp.MCPDeprecationWarning` at runtime. They continue to work against servers negotiating 2025-11-25 or earlier.
1309
+
1310
+
On the server side, prefer the new dispatcher-agnostic `ServerSession.report_progress(progress, total, message)` (and `Context.report_progress()` on `MCPServer`) over the raw `ServerSession.send_progress_notification(progress_token, …)`. `report_progress` encapsulates the "no-op when the caller did not request progress" rule and works on every dispatcher; the raw token-taking form remains for handlers that read `_meta.progressToken` directly.
1311
+
1304
1312
## Bug Fixes
1305
1313
1306
1314
### OAuth metadata URLs no longer gain a trailing slash
0 commit comments