rmcp-v3.6.0
- (client) cancel an abandoned tools/call, prompts/get or resources/read (#1344)
- (auth) add initial authorization scope selection (#1352)
- (transport) add non-blocking stdio_pipes transport (#1304)
- (server) reject requests to 2026-07-28 clients (#1326)
- (streamable-http-server) look up tool schemas per request (#1349)
- (transport) follow same-origin 307/308 redirects in the default Streamable HTTP client (#1367)
- (streamable-http-server) answer a session-less non-initialize POST with 400 (#1377)
- (model) read a request id written in float form as that integer (#1346)
- (client) answer a server ping during the initialize handshake (#1366)
- (transport) accept nested x-mcp-header annotations (#1359)
- (streamable-http-client) handle error responses to initialize (#1361)
- (transport) bound the incoming line buffer in AsyncRwTransport (#1049)
- (model) reject malformed JSON-RPC messages with conflicting result and error fields (#1283) (#1287)
- ship LICENSE in rmcp and rmcp-macros crates (#1342)
- (streamable-http-server) release the session map lock before waiting on a session (#1323)
- (rmcp) gate client- and server-only helpers behind their features (#1329)
- cancel pending request tokens after transport EOF (#1333)
- (rmcp) import base64-only prompt content types under the feature (#1314)
- combine AI issue triage with a maintainer rotation as the responsible reviewer (#1260)
rmcp-v3.5.1
- (server) keep discover lifecycle bootstrap-neutral (#1248)
- keep handler-generated invalid params errors in-band (#1322)
- (model) export object! macro without macros feature (#1318)
- (server) default missing cache hints for 2026-07-28 peers (#1308)
- [rmcp] Notify credential stores when a refresh token is rejected (#1285)
rmcp-macros-v3.5.1
- (macros) accept const paths and concat! in tool/prompt descriptions (#1243)
rmcp-v3.5.0
- update LATEST and add LATEST_WITH_INITIALIZE (#1105)
- (model) decode float fields through serde_json::Number (#1300)
- (rmcp) reject duplicate sep-2243 headers (#1274)
- (transport) match explicit default ports in Origin allowlist (#1270)
- (rmcp) tolerate empty cacheScope instead of silently dropping the whole result (#1281)
- (model) preserve explicit null structuredContent in CallToolResult (#1295)
- cargo fmt fixes on validate_standard_headers changes (#1275)
rmcp-macros-v3.5.0
- (macros) accept const paths and concat! in tool/prompt descriptions (#1243)