Repository navigation
v0.8.15
v0.8.15
A patch release with three changes for clients on the 2026-07-28 wire and for hosts. A stateless
client can follow its own tasks on subscriptions/listen. A remote server lets a bearer-authenticated
browser extension through its Origin check. And the Go events client gains List for the
events/list catalog.
Added
taskIdsonsubscriptions/listen.tasks.Registerinstalls ext-tasks' filter key, so a
stateless client that names its tasks getsnotifications/tasksfor them on the listen stream,
with the fullDetailedTaskand the completed result. The acknowledgement echoes only the IDs the
caller could read withtasks/getunder its task bucket, and a client that hasn't declared the
tasks extension gets-32021. Session clients keep getting the notifications on their GET stream.
(issue 1523, PR 1652)Server.NotifyListenersdelivers a notification tosubscriptions/listenstreams only, each
applying its own filter key. It's the path behindtaskIds, and the one to use for anything that
belongs to one caller, sinceBroadcastalso reaches every session. Local to a replica.
(PR 1652)eventsclient.Listreads a server's wholeevents/listcatalog, followingnextCursor, and
returnsErrListOverrunpast 1000 pages rather than a truncated list. The events bridge uses it
in place of its own loop. (issue 1651, PR 1653)
Changed
- A request with a valid bearer token passes the Streamable HTTP Origin check. The DNS-rebinding
check refused an authenticated browser extension (Origin: chrome-extension://…) on a remote
server. A rebound page can't attach a bearer token, so anAuthorization: Bearerrequest the
server's validator accepts now passes whatever itsOrigin. Unauthenticated requests are checked
as before. (issue 1547, PR 1650) - Documented: a remote server must list its own host. With no
WithAllowedOriginsthe check
admits only localhost and judges a request with noOriginby itsHost, so a server reached as
mcp.example.comrefuses every unauthenticated client, curl and Claude Code included.
server/README.md§ Remote deployments shows the one-line fix. (issue 1547, PR 1650) - Stateless streams are not resumable, as the 2026-07-28 revision says. No behaviour change:
the stateless SSE writers emit no event ids and ignoreLast-Event-ID, and two tests now pin it.
(issue 825, PR 1649)
Upgrading downstream
- agni:
github.com/panyam/mcpkitand the rooms modules atv0.8.15, and
@panyam/mcpkit-rooms@0.8.15(no change on the page side). - chakra: bump to
v0.8.15, then replacelistEventDefswitheventsclient.List
(chakra#135). - A remote deployment that relied on clients sending no
Originshould add its own host to
WithAllowedOrigins; it was already refusing them.