Skip to content

Commit 4acd87f

Browse files
committed
Release 1.4.0
This release repairs the `subscriptions/listen` stream: a host that buffers its responses, the documented Rails controller pattern among them, can decline the method with `serve_subscriptions_listen: false` instead of answering a modern client with a streaming body it cannot render, and the stream's ordering guarantees are enforced - no notification before the acknowledgement, none after the graceful closing result. The new keyword argument is what makes this a minor release; everything else is a bug fix. The controller-pattern crash is a regression from 1.2.0, where the modern lifecycle began answering `subscriptions/listen` that earlier versions had refused as an unknown method, and it fails quietly: only the notification stream breaks, so tool calls keep working.
1 parent 6b6b641 commit 4acd87f

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.4.0] - 2026-08-27
11+
12+
This release repairs the `subscriptions/listen` stream. A host that buffers its responses,
13+
the documented Rails controller pattern among them, can decline the method with
14+
`serve_subscriptions_listen: false` instead of answering a modern client with a streaming body
15+
it cannot render, and the stream's ordering guarantees are enforced: no notification reaches
16+
a client before the acknowledgement, and none follows the graceful closing result.
17+
18+
### Added
19+
20+
- Add `serve_subscriptions_listen:` for hosts that cannot hold an SSE stream open (#533)
21+
22+
### Fixed
23+
24+
- Deliver `subscriptions/listen` notifications only after the acknowledgement (#532)
25+
- Serialize `subscriptions/listen` writes so the graceful result is the final message (#535)
26+
1027
## [1.3.0] - 2026-08-22
1128

1229
User-facing documentation now lives on the documentation site at https://ruby.sdk.modelcontextprotocol.io,

lib/mcp/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module MCP
4-
VERSION = "1.3.0"
4+
VERSION = "1.4.0"
55
end

0 commit comments

Comments
 (0)