September 29, 2026 (UTC) — SDK 0.9.2 / server 0.5.2: safe journal watermarks
SDK 0.9.2 and server 0.5.2 are published. The SDK folds only acknowledged journal entries in canonical replay order when their causal history is represented, retaining unresolved gaps and text identities. The server broadcasts the persisted snapshot clock only after checkpoint storage and journal deletion commit. Reconnecting clients receive the same baseline through normal state transfer.
Registry tarballs were verified against the published integrity metadata and
installed in a fresh temporary project. The client install exposes
compactToWatermark; the server package contains the watermark broadcast. Live
production acceptance confirmed bounded recovery: after 501 acknowledged edits,
a legacy client left 503 journal entries retained; an updated client reconnected,
applied another 501 edits, and reduced the journal to zero. Text survived both
steps, with 1,024 characters in the final document. This acceptance covers the
tested room and sequence; it does not imply that legacy journal gaps in every
room can be compacted without a fresh checkpoint.
September 24, 2026 (UTC) — SDK 0.9.1 / server 0.5.1: MERGE and EXACT
SDK 0.9.1 and server 0.5.1 are published from RTC #106. Downloaded registry tarballs match the reviewed packages byte-for-byte; a fresh registry installation type-checks and imports both with the existing React peer and generated Prisma client. SDK 0.9.1 adds optional wire declarations only; its executable JavaScript is unchanged from 0.9.0. The server correction restores concurrent, nontransactional ordinary native writes without whole-journal copies. EXACT uses a temporary same-Note barrier only for its request; it never changes future writes or other Notes. Reads observe a coherent source/identity baseline without activating that barrier.
Additive generation observations and optional native expectedGeneration
reject MERGE batches whose original identity baseline crossed a destructive
reset or history rewrite. Lossless checkpoint compaction preserves generation
and character IDs. Rare maintenance keeps atomic persistence and temporary
same-Note coordination. Existing editor messages omit the additive field and
continue unchanged. See the concurrency example.
Local validation passed 513 SDK tests (1 skipped), 266 server tests (2 skipped), and real Mongo concurrency, epoch, retry and unknown-commit-outcome cases. Measured bookkeeping overhead is nonzero; see the reviewed performance audit. Package publication does not establish authority rollout, production latency, or manual acceptance; those gates retain separate receipts in DreamLake #706.
September 24, 2026 (UTC) — conditional commits
TypeScript SDK 0.9.0 and RTC server 0.5.0 are published from the reviewed RTC #102 implementation. Downloaded registry tarballs match the reviewed artifacts byte-for-byte; a fresh registry installation imports both SDK 0.8.10 and 0.9.0 successfully. Package publication does not itself establish authority deployment or live compatibility; those receipts are tracked separately in DreamLake #706.
The optional conditional protocol reads one source/checkpoint/revision cut and accepts a validated native text batch only against that exact RTC identity revision. Native operations and retry acknowledgements persist atomically; identical retries return the original result. In server 0.5.0, ordinary CRDT writers shared the authority queue; server 0.5.1 removes that permanent queue. See Server for the wire contract and operational limits.
- Keep one authoritative process per room; this release has no distributed fencing.
- Install the additive
ConditionalReceiptcollection and unique index through a reviewed schema rollout. Publish SDK first, then server; deploy the authority before dependent conditional writers. - Verify every browser/API checkpoint consumer uses SDK 0.8.10 or newer. Mixed 0.8.10/0.9.0 checkpoint tests preserve IDs, tombstones, and anchored Unicode edits in both directions. A legacy plain-text checkpoint remains readable; it cannot recover previously discarded identities or reconcile an unknown pending draft.
- Retain source and identity receipts across deployment. Investigate incompatible or divergent rooms without resetting existing ropes or replacing Note bodies.
- Update dependent versions/lockfiles, publish these owning docs and generated skills from the Dockit documentation lineage, then verify deployed package versions and guarded concurrent editing. DreamLake #706 tracks the separate release and rollout gates.
Local release validation: SDK 513 passing tests (1 skipped), server 246 passing (2 skipped), package/docs builds, and real Mongo transaction rollback, retry, compaction/restart, and identity replay checks. These checks do not establish production completion.
September 19, 2026
TypeScript SDK 0.8.10, RTC server 0.4.2, and Python SDK 0.0.2 preserve collaborative text character identities across checkpoints, reloads, and API bridges.
- Graph stores restore additive
Snapshot.textRopesmetadata automatically before replaying later edits. TypeScript writers useencodeTextSnapshotto persist materialized checkpoints without losing IDs and deleted anchors. - Python snapshots accept the same metadata, hydrate TypeScript rope fields, and preserve local agent IDs when editing after refresh.
- The server returns note-body checksums on the editor socket. Compare only fresh responses at equal committed clocks after pending edits are acknowledged. Slow checks and different clocks mean catch-up, not proven divergence.
- Initial local edits no longer mutate the loaded checkpoint. Tests cover simultaneous post-refresh edits and deleted-anchor replay.
Deploy the server first, then upgrade browser, API, and CLI checkpoint consumers. Preserve the full snapshot envelope in bridges. Old readers can display string graph fields but cannot safely apply compacted text edits without hydration. This release cannot reconstruct IDs discarded by legacy checkpoints or repair previously garbled text automatically.
See Networking for the wire protocol and Python for integration.