This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+1 more
Summary
AI summaryUpdates Patch Changes, c543af5, and df2daab across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Abort during in-flight append no longer corrupts capacity accounting. Abort during in-flight append no longer corrupts capacity accounting. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
Treat browser TypeError("network error") as retryable SDK network error. Treat browser TypeError("network error") as retryable SDK network error. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
Make fetch read-session cleanup tolerate reader.cancel() failures instead of leaking raw errors. Make fetch read-session cleanup tolerate reader.cancel() failures instead of leaking raw errors. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
Defensively retry if a transport read stream throws directly. Defensively retry if a transport read stream throws directly. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
Increase fetch SSE inactivity watchdog from 20s to 25s. Increase fetch SSE inactivity watchdog from 20s to 25s. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
Remove misleading stale-timeout debug log and add additional context to other logs. Remove misleading stale-timeout debug log and add additional context to other logs. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
metrics `basin()`/`stream()` no longer send path params in the query string. metrics `basin()`/`stream()` no longer send path params in the query string. Source: llm_adapter@2026-06-03 Confidence: high |
— |
| Bugfix | Medium |
`S2Stream.read()` honors count/bytes budget when filtering command records. `S2Stream.read()` honors count/bytes budget when filtering command records. Source: llm_adapter@2026-06-03 Confidence: high |
— |
Full changelog
Patch Changes
-
c543af5: fix: abort during an in-flight append no longer corrupts capacity accounting (#203)
-
df2daab: - Treat browser TypeError("network error") as retryable SDK network error.
- Make fetch read-session cleanup tolerate reader.cancel() failures instead of leaking raw errors.
- Defensively retry if a transport read stream throws directly.
- Increase fetch SSE inactivity watchdog from 20s to 25s.
- Remove misleading stale-timeout debug log & add some additional context to other logs
- Add regression tests and patch changeset.
-
1adac12: fix: metrics
basin()/stream()no longer send path params in the query string (#235)Both methods spread
...argsinto the requestquery, sobasin(andstream) were
serialized into the URL query string in addition to the path. They now passpathand
queryexplicitly — only{ basin }/{ basin, stream }in the path and only
set/start/end/intervalin the query — matching the OpenAPI spec and the Go and Python SDKs. -
0acd383: fix:
S2Stream.read()no longer ignores thecount/bytesbudget when filtering command records (#231)When called with
ignoreCommandRecords: true, the unaryread()previously looped and
re-issued a full read request (with the originalcount/bytes) for every command-only
batch, amplifying a singlecount: 1request into many requests. It now performs exactly
one request and filters command records out of that single batch client-side, matching the
Rust, Go, and Python SDKs.The returned batch may be empty when every record in it was a command record. Use
readSession()to transparently keep reading until data records are found — the streaming
session already tracks the remaining budget correctly across reconnects.
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]