This release fixes issues for SREs watching stability and regressions.
Published 19d
MCP Data & Storage
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
durable
durable-streams
real-time
streaming
streamstore
typescript
+1 more
write-ahead-log
Summary
AI summaryFixes HTTP/2 connection leaks and client cancel hangs in s2-sdk-typescript.
Full changelog
Patch Changes
- 19a3e23: Fix HTTP/2 connection leaks in the chat adapter:
makeResumableandreplaycreatedS2Streamhandles that were never closed, leaking one persistent HTTP/2 session per streaming request in Node. Handles are now closed when the SSE response body completes, errors, or is cancelled; on claim failure; and before the 202 replay-delivery response. The streaming path also reuses the claim handle instead of opening a second connection, andreplay's SSE wrapper now propagates early termination to the underlying reader so read sessions are disposed on client cancel. - 038a23c: Fix client
cancel()hanging when the persistence branch of the teed stream stops iterating early.readableStreamToAsyncIterablenow fire-and-forget cancels its reader before releasing the lock, so the abandoned teed branch is released and the sibling branch'scancel()resolves. - f323626: TanStack AI
subscribe()now fails fast on permanent HTTP errors (4xx other than 408/429) whenreconnectBackoffMsis configured, matchingsubscribeSse. Previously it retried forever on 401/403/404, busy-looping until the caller aborted instead of surfacing the error.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About s2-streamstore/s2-sdk-typescript
Official MCP server for the S2.dev serverless stream platform.
Related context
Related tools
Earlier breaking changes
- v@s2-dev/[email protected] Removes generated API.BasinScope as spec no longer defines it.
- v@s2-dev/[email protected] Removes root export BasinScope; introduces LocationName instead.
- v@s2-dev/[email protected] Replaces BasinInfo.scope with location field.
- v@s2-dev/[email protected] Replaces EnsureBasinInput.scope with location field.
- v@s2-dev/[email protected] Replaces CreateBasinInput.scope with location field.
Beta — feedback welcome: [email protected]