Goose 1.50.1 rolls back the "prefer latest MCP version" change that 1.50.0 shipped six days earlier, after it broke stdio and streamable_http extension startup
Goose released v1.49.0 on 2026-09-03 with several MCP-relevant additions: sampling support for reasoning-first responses, pre-registered OAuth clients for streamable_http extensions, MCP conformance tests added to CI, Unicode tag sanitization in MCP prompts, and preserving extensions when adding MCP servers. v1.50.0, released 2026-09-08, shipped "Prefer latest MCP version" (PR #11827), which made the client attempt the 2026-07-28 protocol via server/discover before falling back to a legacy handshake. Two regressions followed: stdio extensions whose servers support only protocol versions up to 2025-11-25 failed to start, and streamable_http extensions against servers that keep their notification channel open but silent failed with an "empty sse stream" error. v1.50.1, released 2026-09-14, reverted the change under the heading "Roll back MCP default version selection update."
Goose, whose repository now lives in the aaif-goose GitHub organization, released v1.49.0 on 2026-09-03 with a cluster of MCP-relevant changes: MCP sampling for reasoning-first responses (#11092), pre-registered OAuth clients for streamable_http extensions (#11182), MCP conformance tests added to the project's CI (#10940), Unicode tag sanitization in MCP prompts (#11453), and a fix that preserves existing extensions when a new MCP server is added (#11339).
v1.50.0 followed on 2026-09-08 with "Prefer latest MCP version" (PR
#11827), described in the pull request as a change that "updates goose
to prefer the 2026-07-28 protocol version." The change moved Goose's
default client lifecycle from always issuing the legacy initialize
handshake to first probing server/discover for the newer revision and
falling back to the legacy path only under specific conditions.
Two regressions surfaced against that default. Issue #12040 reported
that stdio extensions whose servers support protocol versions no newer
than 2025-11-25 failed to start, because the new Auto lifecycle mode
"only falls back to the legacy initialize handshake on a 10s discover
timeout or a legacy JSON-RPC error, not on an empty version intersection
with a discover-capable server," so a spec-compliant older server was
rejected outright instead of being negotiated down. Issue #11965
reported a second failure: streamable_http extensions against servers
that keep their notification channel open but send nothing on it, valid
behavior per the transport spec, failed with "unexpected server
response: empty sse stream" and were torn down even though their
initialize exchange had already succeeded.
v1.50.1, released 2026-09-14, reverted the change under the release-note heading "Roll back MCP default version selection update," linking commit 6d8152a99adbd149783d9d0cc2b43ce2755cca95, the commit that had introduced the preference. The rollback itself shipped as pull request #12064, "fix(revert): roll back 6d8152a99adbd149783d9d0cc2b43ce2755cca95," which closes both #12040 and #11965.
How was this verified, and what are the sources?
Published · last verified · confidence 1.00.
- goose v1.49.0 release on GitHub, published 2026-09-03 - lists "MCP sampling for reasoning-first responses" (#11092), "Pre-registered OAuth clients for streamable_http extensions" (#11182), "Add MCP conformance tests to goose CI" (#10940), "Sanitize Unicode tags in MCP prompts" (#11453), and "Preserve extensions when adding MCP servers" (#11339) - accessed
- goose v1.50.0 release on GitHub, published 2026-09-08 - lists "Prefer latest MCP version" under Improvements (#11827) - accessed
- goose v1.50.1 release on GitHub, published 2026-09-14 - lists "Roll back MCP default version selection update" under Bug Fixes, linking commit 6d8152a99adbd149783d9d0cc2b43ce2755cca95 - accessed
- Pull request #11827, "prefer latest MCP version", merged 2026-09-04 - "Updates goose to prefer the 2026-07-28 protocol version" - accessed
- Issue #12040, "stdio extensions fail to start on v1.50 when server supports protocol <= 2025-11-25" - bisected to #11827; Auto lifecycle mode "only falls back to the legacy initialize handshake on a 10s discover timeout or a legacy JSON-RPC error, not on an empty version intersection with a discover-capable server" - accessed
- Issue #11965, "1.50.0 regression: streamable_http MCP extensions fail with empty sse stream" against servers whose GET notification channel stays open but silent - also bisected to #11827; and pull request #12064, "fix(revert): roll back 6d8152a99adbd149783d9d0cc2b43ce2755cca95", which closes both #12040 and #11965 - accessed