data-peek v0.25.0 — Time Machine
Every query gets a memory. You run the same SELECT all day — checking a
migration, watching a job table, verifying a fix — and until now every run
overwrote the last. v0.25.0 keeps the history: scrub back through past runs,
view any old result read-only, and diff any two runs cell by cell.
✨ New
- Time Machine. Every successful
SELECTin a query tab is snapshotted
locally — automatically, no setup. Press⌘⇧Hand a timeline strip appears
above the grid: one chip per run with a row-count sparkline. Click a chip to
see that result exactly as it was, banner and all; click Live to come
back. - Diff any two runs. Select a run, ⌥-click another, and data-peek diffs
them with the same cell-level engine that powers Watch Mode: changed cells
highlight amber with the old value preserved, added rows band green, and the
banner counts what moved (+6 added · −2 removed · 14 cells changed). Rows
are keyed by primary key when possible, and the banner says which strategy
was used. - Privacy-aware by construction. Masked columns (email, password, token,
ssn by default) are stored as[MASKED]— redacted before rows ever leave
the renderer. Storage is capped: 2,000 rows per snapshot, 50 runs per query,
512 MB global budget with oldest-first eviction and self-vacuuming. Settings
→ Time Machine shows exactly what's on disk, with a global toggle and a
one-click wipe.
Watch Mode shows you now; Time Machine shows you then. Run a query before
a migration, run it after, diff the two — a before/after audit that used to
need a scratch file and discipline.
🧱 Under the hood
- Snapshots live in a dedicated SQLite database (WAL, incremental vacuum,
checkpointed on quit), columnar-encoded, grouped by a normalized SQL
fingerprint soWHERE id = 1andWHERE id = 2share a timeline. - Values are normalized once at capture (timestamps → ISO, binary → hex
preview) so a diff between two snapshots never lies about a timestamp cell. - Only deliberate runs are captured: watch ticks, notebook cells, AI-assistant
runs and table-preview page flips never pollute the timeline.
Personal use is free. Commercial use needs a license. No telemetry, no
account — your data stays on your machine.
Full changelog: v0.24.0...v0.25.0
What's Changed
- feat(results-grid): enable row context menu on virtualized rows by @tembo[bot] in #206
- feat: Time Machine — snapshot, scrub, and diff query results by @Rohithgilla12 in #208
- fix(time-machine): store the user's SQL, not the fingerprint, in the sql column by @Rohithgilla12 in #209
Full Changelog: v0.24.0...v0.25.0