diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cb3035..1709654 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -Target cut: **0.4.17** ([milestone](https://github.com/QueryaHub/Querya-Desktop/milestone/8), tracking [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880)). - -### Planned (not yet on `dev`) +### Planned - Hidden bugs pass 2 — data-loss / fail-open: [#867](https://github.com/QueryaHub/Querya-Desktop/issues/867)–[#873](https://github.com/QueryaHub/Querya-Desktop/issues/873) - Algorithm / first paint / 120 Hz: [#874](https://github.com/QueryaHub/Querya-Desktop/issues/874)–[#879](https://github.com/QueryaHub/Querya-Desktop/issues/879) +## [0.4.17] - 2026-09-20 + +Driver and grid correctness after 0.4.16: Table Browser schema vs missing PK, SQLite implicit `rowid`, Mongo write/filter/discard, and Postgres / MySQL / SQLite / Redis session, type, and Save fixes. + ### Fixed - **Table Browser schema load vs missing PK (#772)** — A failed `getTableSchema` (permissions, disconnect) is no longer shown as “Cannot edit: no primary key detected”. Status is “schema unavailable” plus the real error and Refresh retries schema. Editing stays off until schema loads. Genuine missing PKs still use the old copy. SQLite implicit `rowid` is applied only after a successful schema load. diff --git a/docs/release-checklist.md b/docs/release-checklist.md index a871800..57d488d 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -7,20 +7,15 @@ Manual 120 Hz DevTools QA: issue [#739](https://github.com/QueryaHub/Querya-Desk ## Product smoke (manual) — 0.4.17 -- [ ] **SQL Execute discard (#867)** — edit a result-grid cell, Execute again: discard dialog; Cancel keeps pending edits. -- [ ] **SQL-grid Save parity (#868)** — schema load failure is not a silent healthy row-count; SQLite `CREATE TABLE t (name TEXT)` SQL-grid can Save via rowid if in scope. -- [ ] **Extension Table Browser (#869)** — no PK / failed schema: cells not editable; dirty page/Refresh confirms discard. -- [ ] **Mongo Refresh (#870)** — dirty JSON + breadcrumb Refresh: discard dialog. -- [ ] **Mongo list after Save (#871)** — full-document Save updates collection card previews without a manual Refresh. -- [ ] **Mongo dotted `$set` (#872)** — top-level key `a.b` Save does not create nested `a: { b }`. -- [ ] **Redis string dirty (#873)** — edit a string key, Refresh or keys crumb: discard dialog. -- [ ] **Postgres convert (#874)** — large SELECT first paint (no double hitch vs 0.4.16). -- [ ] **Grid sort+edit (#875)** — sorted result, edit a cell: no full re-sort hitch. -- [ ] **Mongo list first paint (#876)** — large collection opens the first 25 docs without waiting on exact count. -- [ ] **LIKE filter (#877)** — `LIKE '%x%'` on a 5k grid stays snappy. -- [ ] **Tree filter debounce (#878)** — typing in object filter / sidebar search does not rebuild every keystroke. -- [ ] **Horizontal grid scroll (#879)** — wide grid pan stays smooth at 120 Hz. -- [ ] **Table Browser edit (regression)** — Postgres/MySQL/SQLite table with a PK: double-click cell, Save via DML preview; schema error ≠ “no PK”. +- [ ] **Table Browser schema vs PK (#772)** — failed `getTableSchema` shows “schema unavailable”, not “no primary key”; Refresh retries schema. +- [ ] **SQLite implicit rowid (#774)** — `CREATE TABLE t (name TEXT)` Table Browser can Save via `rowid`; `WITHOUT ROWID` stays on declared PK. +- [ ] **Mongo 0-match (#776)** — inspector/JSON Save with a wrong `_id` is Save Failed, not a success toast. +- [ ] **Mongo full-document Save (#778)** — JSON editor Save is `replaceOne`; deleting a nested key in JSON removes it on the server. +- [ ] **Mongo dirty editor Back (#782)** — dirty JSON + breadcrumb Back: discard dialog; Cancel keeps the editor. +- [ ] **Mongo JSON filter (#783)** — `{ "_id": { "$oid": "…" } }` and 24-char hex `_id` match ObjectId documents. +- [ ] **SQL-grid Save** — simple single-table `SELECT` with a PK can Save; JOIN / no-PK stays read-only (Postgres #786, SQLite #795, MySQL #804). +- [ ] **0-row DML (#773)** — Save that matches 0 rows fails and keeps the staging buffer. +- [ ] **Table Browser edit (regression)** — Postgres/MySQL/SQLite table with a PK: double-click cell, Save via DML preview. - [ ] **Command Palette** — Ctrl/Cmd+P runs a command; Ctrl/Cmd+K jumps to a table. - [ ] **Mongo field Save** — inspector `$set` still 0-match fails (#776); JSON editor is `replaceOne`. @@ -87,6 +82,6 @@ Verify the 0.4.4 motion tokens, smooth animations, and high refresh rate support ## Docs -- [ ] [CHANGELOG.md](../CHANGELOG.md) has a dated **`## [0.4.17]`** section for the release (CI copies it into the GitHub Release body). +- [x] [CHANGELOG.md](../CHANGELOG.md) has a dated **`## [0.4.17]`** section for the release (CI copies it into the GitHub Release body). - [x] [security.md](security.md) still matches behavior if storage changed. - [x] [roadmap.md](roadmap.md) marks 0.4.17 as this cut and 0.5.0 as next. diff --git a/docs/roadmap.md b/docs/roadmap.md index ec73f12..57fd533 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -3,8 +3,8 @@ Living document for planned work. Not a commitment order; adjust as priorities change. **GitHub Latest Release:** [0.4.16](https://github.com/QueryaHub/Querya-Desktop/releases/tag/0.4.16) (2026-09-20). -**This cut:** **0.4.17** — hidden bugs pass 2 (SQL/Mongo/Redis/extension discard and Save lies) + algorithm/perf (Postgres convert, Mongo count, grid sort/scroll, LIKE, tree debounce) — [CHANGELOG.md](../CHANGELOG.md) `[Unreleased]`, milestone [0.4.17](https://github.com/QueryaHub/Querya-Desktop/milestone/8), tracking [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880). -**Next product release:** **0.5.0** — live Marketplace download and install — see below. +**This cut:** **0.4.17** — driver/grid correctness after 0.4.16 (schema vs PK, SQLite `rowid`, Mongo writes, SQL sessions/types) — [CHANGELOG.md](../CHANGELOG.md) `[0.4.17]`, tracking [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880). +**Next product release:** **0.5.0** — live Marketplace download and install — see below. Hidden bugs pass 2 (#867–#873) and algorithm/perf (#874–#879) slip to the next patch. ## Theme system @@ -30,7 +30,8 @@ Living document for planned work. Not a commitment order; adjust as priorities c - **Shipped in 0.4.11-b:** security (#395–#402), Linux `.rpm` / Flatpak / AUR (#386), perf (#414), UI reliability (#445), code-review fixes (#463) — [CHANGELOG.md](../CHANGELOG.md) `[0.4.11-b]`. - **Shipped in 0.4.13–0.4.15:** interactive Data Grid, fluid motion, multi-tab SQL, preferences/keymap — [CHANGELOG.md](../CHANGELOG.md). - **Shipped in 0.4.16:** Table Browser in-place DML, Command Palette + Quick Switcher, workspace chrome / connections-tree parity, Mongo per-field Save to DB, updater hardening — [CHANGELOG.md](../CHANGELOG.md) `[0.4.16]`. -- **0.4.17 (this cut):** hidden bugs pass 2 ([#867](https://github.com/QueryaHub/Querya-Desktop/issues/867)–[#873](https://github.com/QueryaHub/Querya-Desktop/issues/873)) and algorithm/perf ([#874](https://github.com/QueryaHub/Querya-Desktop/issues/874)–[#879](https://github.com/QueryaHub/Querya-Desktop/issues/879)) — tracking [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880). Manual 120 Hz DevTools sign-off remains [#739](https://github.com/QueryaHub/Querya-Desktop/issues/739) (optional). +- **0.4.17 (this cut):** driver/grid correctness after 0.4.16 — schema vs PK (#772), SQLite `rowid` (#774), Mongo writes/filter/discard (#776/#778/#782/#783), Postgres/MySQL/SQLite/Redis session and type round-trips — [CHANGELOG.md](../CHANGELOG.md) `[0.4.17]`, tracking [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880). +- **Next patch:** hidden bugs pass 2 ([#867](https://github.com/QueryaHub/Querya-Desktop/issues/867)–[#873](https://github.com/QueryaHub/Querya-Desktop/issues/873)) and algorithm/perf ([#874](https://github.com/QueryaHub/Querya-Desktop/issues/874)–[#879](https://github.com/QueryaHub/Querya-Desktop/issues/879)). Manual 120 Hz DevTools sign-off remains [#739](https://github.com/QueryaHub/Querya-Desktop/issues/739) (optional). - **Planned 0.5.0:** Marketplace Launch — live download, `sha256` validation, install themes (and later DB drivers) from the network. ## Query history and favorites