All notable changes to LiveSQL will be documented in this file.
First public beta. All packages: @livesql/core, @livesql/server, @livesql/client, @livesql/react, @livesql/vue, @livesql/svelte.
- WAL-based CDC — PostgreSQL logical replication via pgoutput (replaced LISTEN/NOTIFY from PoC)
- Reconnection backfill — clients resume from last offset; missed events replayed automatically
- JWT authentication —
?token=<jwt>query parameter orAuthorization: Bearerheader - Table and row permissions —
permissions()androwPermission()callbacks - Filter validation — server-side
"column op value"filtering without SQL execution - Event batching —
EventBatchercoalesces up to 50 events or flushes every 16ms - Backpressure detection — drops events when
ws.bufferedAmount > 1MB - React hooks —
useLiveQuery,useLiveTable,LiveSQLProvider - Vue composables —
useLiveQuery,useLiveTable,createLiveSQLPlugin - Svelte stores —
liveQuery,liveTable(lazyReadable) - WAL slot health monitoring —
checkSlotHealth(), configurable lag warnings, inactive slot detection - Replication slot failover — auto-recovery via
recoverFromSlotLoss() - Observability hooks —
onEvent,onClientConnect,onClientDisconnect,onBackpressure,onSlotLost - Exponential backoff with jitter — ±25% jitter, 250ms → 30s cap
- 163 tests across 15 test files (unit, integration, chaos)
- 23 chaos tests covering 6 failure modes (network partition, slow client, failover, WAL disk, thundering herd, SQL injection)
- k6 load test: 1,000 concurrent clients, p95 96ms, 0% connection failures
- Docusaurus docs site with quickstart, concepts, and API reference
- Migration guides from Supabase Realtime and Firebase Realtime Database
- Architecture docs, decision records, and failure mode analysis
- None — API is stable from alpha.4
- Added React, Vue, and Svelte packages
- Added
useLiveTable/liveTablefor Map-based O(1) row lookups - Added event batching and backpressure detection
- Added row-level permissions
- Updated core, server, client with Phase 2 hardening
- Added
LiveSQLErrorandonErrorcallback to client subscriptions - Added
filterparam support in clientsubscribe()
- WAL-based CDC via pgoutput (replaced LISTEN/NOTIFY)
- JWT authentication and table permissions
- Filter validation and offset-based reconnection
- First npm publish of core, server, client
- Initial PoC with LISTEN/NOTIFY
- Basic WebSocket server and client
- Demo application