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 summaryThrows clear S2Error when duplicate reserved headers are present and rejects empty serializations.
Full changelog
Patch Changes
- f7408f2:
injectDedupeHeadersnow throws a clearS2Errorwhen a record already carries a reserved_dedupe_seqor_writer_idheader, instead of silently appending duplicates. Previously the stale pre-existing header shadowed the injected sequence on the read side (readers pick the first match), corrupting dedupe filtering or crashingdecodeU64on a malformed value. Validation runs before any record is mutated. - 3e857be: Reject empty serializations in
SerializingAppendSessionwith a clearS2Errorinstead of crashing. Previously a serializer producing zero bytes (e.g.JSON.stringify(undefined)) madesubmit()throw an opaqueTypeErrorwhilewrite()threw anS2Error; both paths now throw the sameS2Errorexplaining that the serializer must produce at least one byte.
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]