Ships Gridline 0.8.0 — five feature areas, all TDD (Red-Green-Refactor), 17 task commits, every suite green.
MariaDB — first-class db_type on the MySQL driver path: provider card, type filter, URI parse/copy, full viewer/editing/import/backup parity.
PlanetScale preset — managed MySQL (Vitess) provider card + researched setup guide + .psdb.cloud host detection; persists as db_type: mysql.
TimescaleDB — runtime extension detection; hypertables surface in the Objects view (dimensions, compression, chunks, size), read-only.
Multiple result sets — execute_query_multi with a hand-rolled SQL tokenizer (db/sql_split.rs); stacked result panels + DML/DDL notices + stop-at-first-error.
Result streaming to file — full-result CSV/JSONL/JSON export with progress + cancel, constant memory (PG cursor fetch, MySQL/SQLite native streams), fail-closed partial-file cleanup.
Schema diff / compare — same-engine snapshot diff (PG/MySQL/SQLite) with dialect-quoted sync SQL; non-destructive items stage into the changes queue, destructive items are copy-only.
Version bump 0.7.15 → 0.8.0 across app shell, landing page, README; changelog + ROADMAP backfill (0.7.11–0.7.15) + AGENTS status sync.
Test Plan
cargo test — 404 passed, 0 failed, 23 ignored (live tests opt-in via GRIDLINE_TEST_*)
bunx vitest run — 131 files / 1119 tests passed
bunx tsc --noEmit — clean
cargo build, desktop bun run build, www build — all succeed
Regression: execute_query untouched, Redis browsing still gated, diff staging reuses the existing addChange queue action
## Summary
Ships **Gridline 0.8.0** — five feature areas, all TDD (Red-Green-Refactor), 17 task commits, every suite green.
- **MariaDB** — first-class `db_type` on the MySQL driver path: provider card, type filter, URI parse/copy, full viewer/editing/import/backup parity.
- **PlanetScale preset** — managed MySQL (Vitess) provider card + researched setup guide + `.psdb.cloud` host detection; persists as `db_type: mysql`.
- **TimescaleDB** — runtime extension detection; hypertables surface in the Objects view (dimensions, compression, chunks, size), read-only.
- **Multiple result sets** — `execute_query_multi` with a hand-rolled SQL tokenizer (`db/sql_split.rs`); stacked result panels + DML/DDL notices + stop-at-first-error.
- **Result streaming to file** — full-result CSV/JSONL/JSON export with progress + cancel, constant memory (PG cursor fetch, MySQL/SQLite native streams), fail-closed partial-file cleanup.
- **Schema diff / compare** — same-engine snapshot diff (PG/MySQL/SQLite) with dialect-quoted sync SQL; non-destructive items stage into the changes queue, destructive items are copy-only.
- **Version bump** 0.7.15 → 0.8.0 across app shell, landing page, README; changelog + ROADMAP backfill (0.7.11–0.7.15) + AGENTS status sync.
## Test Plan
- [x] `cargo test` — 404 passed, 0 failed, 23 ignored (live tests opt-in via `GRIDLINE_TEST_*`)
- [x] `bunx vitest run` — 131 files / 1119 tests passed
- [x] `bunx tsc --noEmit` — clean
- [x] `cargo build`, desktop `bun run build`, `www` build — all succeed
- [x] Regression: `execute_query` untouched, Redis browsing still gated, diff staging reuses the existing `addChange` queue action
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Ships Gridline 0.8.0 — five feature areas, all TDD (Red-Green-Refactor), 17 task commits, every suite green.
db_typeon the MySQL driver path: provider card, type filter, URI parse/copy, full viewer/editing/import/backup parity..psdb.cloudhost detection; persists asdb_type: mysql.execute_query_multiwith a hand-rolled SQL tokenizer (db/sql_split.rs); stacked result panels + DML/DDL notices + stop-at-first-error.Test Plan
cargo test— 404 passed, 0 failed, 23 ignored (live tests opt-in viaGRIDLINE_TEST_*)bunx vitest run— 131 files / 1119 tests passedbunx tsc --noEmit— cleancargo build, desktopbun run build,wwwbuild — all succeedexecute_queryuntouched, Redis browsing still gated, diff staging reuses the existingaddChangequeue action