Skip to content

Roadmap

  • v0.1 — Core sync (schema DSL, mutators, IndexedDB engine, Worker sync handler, D1 executor, live queries, WebSocket poke).
  • v0.2 — Presence, cascading auth, serverLiveSelect, pull pagination, audit hooks.
  • v0.3 — File sync (file() column, R2 storage adapter, usePlasmaFile, contiguous-prefix push, GC).
  • v1.0 — IVM aggregate targeted refold, CRDT columns (crdtCounter / crdtPnCounter / crdtLwwRegister / crdtOrSet), envelope automation, offline-only extras, multi-region wiring (SequencerDO, causal cookie), PQ hybrid encryption, Devtools protocol.
  • Relational query sugar (db.query.todos.findMany({ with: {...} })).
  • db.increment(col, delta) high-level CRDT counter API to close the read/write type asymmetry.
  • Sequence CRDT (crdtRga<T>() or similar) — order-preserving concurrent list. Playlist reorder, drag-sortable tasks, tree outlines.
  • Text CRDT (crdtText() — RGA / YATA / Fugue shape). Live collaborative text editing. Alternative: first-class Yjs / Automerge adapter that stores the CRDT doc in a file() column and streams updates through a supplementary path.
  • Ephemeral live channel — first-class API for cursor / typing / presence-adjacent state that changes many times per second. Today users need to stand up a separate DO; a dedicated broadcastChannel primitive is the goal.
  • Args-boundary envelope walker so .encrypted() E2EE stops requiring encryptField() inside mutator bodies.
  • client.setOffline(bool) runtime toggle.
  • Per-table blob storage adapter selection.
  • Full per-region pull predicate wiring.
  • Rate-limit shape on SyncHandlerOptions (per-clientGroup push / pull budgets).

Every item lands with the same public-API coverage bar the docs:check-public-api script enforces.