@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 3.0.0-beta.1] ( https://github.com/modelcontextprotocol/rust-sdk/compare/rmcp-v2.2.0...rmcp-v3.0.0-beta.1 ) - 2026-07-23
11+
12+ ### Added
13+
14+ - route SEP-2260 associated server requests to the originating SSE stream ([ #1029 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1029 ) )
15+ - [ ** breaking** ] add distributed SSE event store ([ #1024 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1024 ) )
16+ - add client-side TTL-honoring response cache (SEP-2549) ([ #1025 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1025 ) )
17+ - [ ** breaking** ] Implement SEP-2663 Tasks Extension ([ #1020 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1020 ) )
18+ - add subscription listen streams (SEP-2575) ([ #1000 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1000 ) )
19+ - * (auth)* bind DCR client credentials to issuing authorization server (SEP-2352) ([ #998 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/998 ) )
20+ - add modern client lifecycle modes (SEP-2575) ([ #995 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/995 ) )
21+ - * (auth)* accumulate client-side scopes during step-up authorization ([ #888 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/888 ) )
22+ - [ ** breaking** ] add server discovery and negotiation (SEP-2575) ([ #973 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/973 ) )
23+ - * (conformance)* add SEP-2243 header validation tool ([ #997 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/997 ) )
24+ - [ ** breaking** ] align metadata models with draft schema ([ #993 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/993 ) )
25+ - [ ** breaking** ] implement SEP-2549 cache hints ([ #889 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/889 ) )
26+ - [ ** breaking** ] add MRTR behavior support (SEP-2322) ([ #929 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/929 ) )
27+ - [ ** breaking** ] type Annotations.lastModified as a string ([ #956 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/956 ) )
28+ - [ ** breaking** ] add SEP-2243 HTTP standard headers ([ #907 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/907 ) )
29+ - relax outputSchema to accept non-object JSON Schema types (SEP-2106) ([ #895 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/895 ) )
30+ - [ ** breaking** ] relax tool result structuredContent type (SEP-2106) ([ #933 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/933 ) )
31+ - [ ** breaking** ] add MRTR model types (SEP-2322) ([ #915 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/915 ) )
32+
33+ ### Fixed
34+
35+ - reap completed response send tasks ([ #1026 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1026 ) )
36+ - accept stringified numeric response IDs ([ #1021 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1021 ) )
37+ - re-register after auth server change ([ #1011 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1011 ) )
38+ - .with_stateful_mode -> .with_legacy_session_mode ([ #1015 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1015 ) )
39+ - preserve negotiated progress responses ([ #1005 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1005 ) )
40+ - * (server)* serve draft-version requests statelessly per SEP-2567 ([ #999 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/999 ) )
41+ - pass client header conformance ([ #1012 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1012 ) )
42+ - * (auth)* add an SDK path for pre-registered OAuth clients ([ #994 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/994 ) )
43+ - * (transport)* cancel in-flight request on stateless streamable-HTTP client disconnect ([ #857 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/857 ) ) ([ #967 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/967 ) )
44+ - * (auth)* distinguish rejected refresh tokens from transient failures ([ #963 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/963 ) )
45+ - * (auth)* validate discovered metadata issuer ([ #996 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/996 ) )
46+ - bound streamable HTTP memory usage ([ #970 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/970 ) )
47+ - * (streamable-http)* preserve progress in JSON mode ([ #990 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/990 ) )
48+ - specify compatible sse-stream version ([ #968 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/968 ) )
49+ - flag schema derive on schemars feature ([ #966 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/966 ) )
50+
51+ ### Other
52+
53+ - refactor OAuth client authorization api ([ #1009 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1009 ) )
54+ - update for 2026-07-28 version ([ #1032 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/1032 ) )
55+ - * (deps)* update hmac requirement from 0.12 to 0.13 ([ #988 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/988 ) )
56+ - serialize JavaScript dependency install ([ #972 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/972 ) )
57+
1058### Changed
1159
1260- ** BREAKING** : rename ` StreamableHttpServerConfig::stateful_mode ` to ` legacy_session_mode ` (and the builder ` with_stateful_mode ` to ` with_legacy_session_mode ` ) to clarify that the option only affects legacy protocol versions (` < 2026-07-28 ` ); per SEP-2567 the ` 2026-07-28 ` draft version is always served statelessly ([ #999 ] ( https://github.com/modelcontextprotocol/rust-sdk/pull/999 ) )
0 commit comments