Release 0.134
v0.134.0 — 2026-07-15
Tables v2: sqlite-native table storage. Each Table node now lives in its
own SQLite workbook file (TABLE_DB_DIR), with the Postgres registry row as
the lock spine (migration 0120, additive). Highlights: read-only table_sql
with a worker-thread watchdog; profile-only indexing (rows are never embedded
— schema/profile chunks + FTS trigram shadows replace row dumps); draft-op
batches with a draft_rev etag and WAL-safe commit-promote (VACUUM INTO +
atomic rename); windowed reads past the 10k materialize cap; .sqlite export;
part-splitting retired (2M-row explicit ceiling); lazy migration of legacy
JSONB tables plus a background sweep. JSONB dual-write is kept as the rollback
lever; blob retirement (retire-table-blobs.ts) lands next release.
⚠️ Deploy note — compose refresh REQUIRED, a tag-only bump is not enough.
This release adds the table-dbs volume mount (TABLE_DB_DIR=/data/table-dbs)
to the web and worker services. Refresh docker-compose.yml on every box
before compose pull, or table storage lands inside the container filesystem
and is lost on recreate. db-dump.sh and the scheduled backup now snapshot
the workbook files (VACUUM INTO) alongside pg_dump.