From 20da778609876632eb26f0e9582497574ab5cc9b Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sun, 20 Sep 2026 18:19:22 +0300 Subject: [PATCH] chore(release): open the 0.4.17 cut MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump pubspec/About to 0.4.17, point Unreleased CHANGELOG and docs at hidden-bugs pass 2 plus perf (#867–#879), tracking #880. --- CHANGELOG.md | 7 +++ docs/release-checklist.md | 52 +++++++++++-------- docs/roadmap.md | 7 +-- .../settings/preferences_about_section.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 44 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d82d5ec7..0cb3035f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ 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`) + +- 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) + ### 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 3878819f..a8718003 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -1,10 +1,30 @@ -# Pre-release checklist (release **0.4.16**) +# Pre-release checklist (release **0.4.17**) -Use this before tagging **`0.4.16`** or running the **Release** workflow. +Use this before tagging **`0.4.17`** or running the **Release** workflow. See [tags-and-releases.md](tags-and-releases.md), [CHANGELOG.md](../CHANGELOG.md). +Tracking: [#880](https://github.com/QueryaHub/Querya-Desktop/issues/880). Milestone [0.4.17](https://github.com/QueryaHub/Querya-Desktop/milestone/8). Manual 120 Hz DevTools QA: issue [#739](https://github.com/QueryaHub/Querya-Desktop/issues/739) (does not block this cut). -## Product smoke (manual) — 0.4.16 +## 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”. +- [ ] **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`. + +## Regression smoke (prior releases) - [ ] Fresh profile / empty state: create one connection per supported type (PostgreSQL, MySQL, Redis, MongoDB, SQLite). - [ ] Reopen the app: connections still appear; **connect** succeeds (secrets migrated or loaded from secure store). @@ -16,17 +36,6 @@ Manual 120 Hz DevTools QA: issue [#739](https://github.com/QueryaHub/Querya-Desk - [ ] **Extension table view** — open a sandboxed driver table (or fixture); toolbar filter + export present. - [ ] **Updater** — Check for Updates / badge sees Latest Release channel correctly after tag. - [ ] **Fluid shell** — tab strip sliding pill; dialog/dropdown fade-slide; Motion Off snaps (see also [perf-baseline.md](perf-baseline.md) Fluid §). -- [ ] **Table Browser edit** — Postgres/MySQL/SQLite table with a PK: double-click cell, Save via DML preview; view / no-PK stays read-only. -- [ ] **Command Palette** — Ctrl/Cmd+P runs a command; Ctrl/Cmd+K jumps to a table. -- [ ] **Mongo field Save** — expand a document card, tap a non-`_id` field, Save to DB, card reloads. - -## Regression smoke (prior releases) - -- [ ] Fresh profile / empty state: create one connection per supported type (PostgreSQL, MySQL, Redis, MongoDB). -- [ ] Reopen the app: connections still appear; **connect** succeeds (secrets migrated or loaded from secure store). -- [ ] Remove a connection: it disappears and reconnect is impossible without re-entering credentials. -- [ ] **Connection → New Database Connection** from the menu saves and shows in the tree. -- [ ] **Driver Manager** shows only built-in drivers (no misleading JDBC requirement). ## Custom themes (manual QA) @@ -60,23 +69,24 @@ Verify the 0.4.4 motion tokens, smooth animations, and high refresh rate support - [ ] **OS Reduced Motion** — enable reduced motion in OS settings. The app should automatically disable animations (acting as Off) regardless of in-app Full/Reduced settings (OS setting wins). - [ ] **Hz diagnostics** — start the app with `--dart-define=QUERYA_REFRESH_OVERLAY=true`. The overlay should display the monitor refresh rate (**Linux: query-only** — compositor decides Hz; see [motion-and-high-refresh.md](motion-and-high-refresh.md)). - [ ] **High refresh rate smoothness** — verify dialog fade-slide, dropdown show, and tree expand/collapse look smooth at high-Hz (90/120/144 Hz) without jank. +- [ ] Optional: full DevTools pass @ 120 Hz ([#739](https://github.com/QueryaHub/Querya-Desktop/issues/739)). ## Automated -- [x] `flutter analyze` — clean (on Linux, if the analyzer crashes with **Too many open files**, try `ulimit -n 8192`; see [CONTRIBUTING.md](../CONTRIBUTING.md)). -- [x] `flutter test` — all green. +- [ ] `flutter analyze` — clean (on Linux, if the analyzer crashes with **Too many open files**, try `ulimit -n 8192`; see [CONTRIBUTING.md](../CONTRIBUTING.md)). +- [ ] `flutter test` — all green. - [ ] CI **Flutter version** in `.github/workflows/*.yml` matches the toolchain you validated (bump intentionally when upgrading stable). ## Versioning and release -- [x] `pubspec.yaml` on the release branch is **`0.4.16+1`**. -- [ ] After merge to `main`, confirm **Auto Version Bump** yields a **0.4.17+…** placeholder (do not ship binaries as 0.4.17). -- [ ] **Tag** `0.4.16` is placed on the **main merge commit that includes `0.4.16+1`** (not the auto-bump commit). +- [x] `pubspec.yaml` on the 0.4.17 track is **`0.4.17+1`**. +- [ ] After merge to `main`, confirm **Auto Version Bump** yields a **0.4.18+…** placeholder (do not ship binaries as 0.4.18). +- [ ] **Tag** `0.4.17` is placed on the **main merge commit that includes `0.4.17+1`** (not the auto-bump commit). - [ ] Run the **Release** workflow via that tag (see [tags-and-releases.md](tags-and-releases.md)). - [ ] Verify **portable** zips (`*-linux.zip`, `*-windows.zip`, `*-macos.zip`), **installable** artifacts (`*.AppImage`, `*.deb`, `*.rpm`, `*.flatpak`, `*-windows-setup.exe`), and `SHA256SUMS.txt` on the GitHub Release. ## Docs -- [x] [CHANGELOG.md](../CHANGELOG.md) has a dated **`## [0.4.16]`** section for the release (CI copies it into the GitHub Release body). +- [ ] [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.16 as this cut and 0.5.0 as next. +- [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 399cdc97..ec73f12c 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -2,8 +2,8 @@ Living document for planned work. Not a commitment order; adjust as priorities change. -**GitHub Latest Release:** [0.4.15](https://github.com/QueryaHub/Querya-Desktop/releases/tag/0.4.15) (2026-09-06). -**This cut:** **0.4.16** — Table Browser in-place editing, Command Palette, workspace/tree parity, Mongo field Save to DB — [CHANGELOG.md](../CHANGELOG.md) `[0.4.16]`. +**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. ## Theme system @@ -29,7 +29,8 @@ Living document for planned work. Not a commitment order; adjust as priorities c - **0.4.11-a:** changelog prepared; GitHub tag mistargeted onto `0.4.11` — do not treat as a shipped patch. - **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). -- **0.4.16 (this cut):** 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]`. Manual 120 Hz DevTools sign-off remains [#739](https://github.com/QueryaHub/Querya-Desktop/issues/739). +- **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). - **Planned 0.5.0:** Marketplace Launch — live download, `sha256` validation, install themes (and later DB drivers) from the network. ## Query history and favorites diff --git a/lib/features/settings/preferences_about_section.dart b/lib/features/settings/preferences_about_section.dart index 14697530..fbbbefd2 100644 --- a/lib/features/settings/preferences_about_section.dart +++ b/lib/features/settings/preferences_about_section.dart @@ -10,7 +10,7 @@ import 'package:url_launcher/url_launcher_string.dart'; class PreferencesAboutSection extends StatelessWidget { const PreferencesAboutSection({super.key}); - static const String appVersion = '0.4.16'; + static const String appVersion = '0.4.17'; static const String githubRepoUrl = 'https://github.com/QueryaHub/Querya-Desktop'; diff --git a/pubspec.yaml b/pubspec.yaml index 72f489d7..060abbdd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: querya_desktop description: Lightweight desktop SQL/NoSQL client. Flutter (Dart). -version: 0.4.16+1 +version: 0.4.17+1