Skip to content

Commit fe09cca

Browse files
Merge pull request #157 from QueryaHub/release/0.4.2-prep
chore(release): prepare 0.4.2 and plan 0.4.3 theme follow-ups
2 parents ec882a2 + 44e8294 commit fe09cca

9 files changed

Lines changed: 107 additions & 50 deletions

CHANGELOG.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Planned (0.4.3)
11+
12+
Theme and extensions follow-ups — see [docs/planned-0.4.3.md](docs/planned-0.4.3.md): file watcher (TP-F1), marketplace metadata (TP-F2), visual theme editor (TP-F3), remote theme install (TP-F4).
13+
14+
## [0.4.2] - 2026-06-14
15+
16+
Custom theme registry release (parser epic TP-01–TP-30, GitHub issues **#96#125**). Git tag **`0.4.2`**.
17+
1018
### Added
1119

12-
- **Custom theme registry** — scan `{appSupport}/themes/` for `querya.theme.v1` and VS Code JSON/JSONC; **Theme** picker with search, preview, refresh, and **Open themes folder** (Preferences → Appearance).
13-
- **Built-in bundled themes**e.g. **Querya Cyberpunk Neon** from `assets/themes/` (no manual install).
14-
- **Theme import****Import theme…** copies into the user themes directory with hash/id deduplication; selection persists across restarts.
15-
- **Startup safety** — missing or broken selected theme falls back to Querya Dark with a Preferences error; settings are not auto-deleted.
20+
- **Custom theme registry** — scan `{appSupport}/themes/` for `querya.theme.v1` and VS Code JSON/JSONC; **Theme** picker with search, hover preview, **Refresh themes**, and **Open themes folder** (Preferences → Appearance).
21+
- **Built-in bundled themes****Querya Cyberpunk Neon** from `assets/themes/` (no manual install).
22+
- **Theme import****Import theme…** copies into the user themes directory with content-hash and id deduplication; selection persists across restarts.
23+
- **Startup safety** — missing or broken selected theme falls back to Querya Dark with a Preferences error; saved theme id is kept until the user picks another theme.
1624
- **Window chrome** — title bar and window controls follow active `QueryaThemeScope` workbench tokens.
1725
- **Docs / QA**[theme-custom-json.md](docs/theme-custom-json.md), updated [theme-import.md](docs/theme-import.md), custom-theme section in [release-checklist.md](docs/release-checklist.md).
1826
- **Tests** — registry/parser/controller coverage, 60-theme picker performance guard, end-to-end import flow (`theme_import_flow_test.dart`).

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ a clean, dark UI inspired by tools like pgAdmin.
2626
statement timeouts, query history, and CSV/JSON export.
2727
- **Object browsing** — connection tree with databases, tables, views, and
2828
server stats.
29-
- **Themeable**runtime dark/light/system modes and **VS Code theme import**.
29+
- **Themeable** — dark/light/system, **VS Code theme import**, custom `querya.theme.v1` registry, and bundled themes (0.4.2).
3030
- **Scalable UI** — global interface scaling for high-DPI and accessibility.
3131
- **Secure by default** — passwords and connection strings live in the OS secure
3232
store, never in plaintext.

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Index of Querya Desktop documentation, grouped by audience.
2626
## Planning
2727

2828
- [Roadmap](roadmap.md) — current direction and follow-ups.
29+
- [Planned 0.4.3](planned-0.4.3.md) — deferred theme/extensions follow-ups after 0.4.2.
2930
- [Custom theme parser requirements](scheme-parcer.md) — JSON theme format and scaling spec.
3031
- [Theme parser implementation plan](theme-parser-implementation-tasks.md) — task breakdown and architecture.
3132
- [Theme parser GitHub issues](theme-parser-github-issues.md) — issue templates for epic #96#125.

docs/planned-0.4.3.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Planned release 0.4.3 — theme and extensions follow-ups
2+
3+
**Status:** planning (not started).
4+
**Depends on:** **0.4.2** custom theme registry (TP-01–TP-30, shipped).
5+
6+
This document captures work intentionally deferred from the first custom-theme pass.
7+
See also [theme-parser-github-issues.md](theme-parser-github-issues.md) (TP-F1–TP-F4) and
8+
[market-tech.md](market-tech.md) for the broader extensions marketplace direction.
9+
10+
## Theme folder and discovery
11+
12+
| ID | Scope | Summary |
13+
|----|--------|---------|
14+
| **TP-F1** | `theme`, `filesystem` | **File watcher** for `{appSupport}/themes/` — auto-refresh the registry when files are added, removed, or renamed. Deferred: OS-specific watcher APIs and app lifecycle edge cases. |
15+
16+
## Theme distribution and metadata
17+
18+
| ID | Scope | Summary |
19+
|----|--------|---------|
20+
| **TP-F2** | `theme`, `marketplace` | **Marketplace metadata** on `ThemeDefinition` / manifests — preview image, tags, homepage, license, author. Prerequisite for listing themes in a future Extensions UI. |
21+
| **TP-F4** | `theme`, `network` | **Remote theme install** — download from URL with checksum/trust policy. Requires security review (HTTPS, signatures, user consent). |
22+
23+
## Authoring UX
24+
25+
| ID | Scope | Summary |
26+
|----|--------|---------|
27+
| **TP-F3** | `theme`, `settings` | **Visual theme editor** in Preferences — tweak colors, export `querya.theme.v1`. Larger than parser/import; likely multiple PRs. |
28+
29+
## Extensions marketplace (optional overlap)
30+
31+
If **0.4.3** also starts the extensions shell from [market-tech.md](market-tech.md), align **TP-F2** theme metadata with `ExtensionManifest` so themes can appear as a category in **Explore**. Keep `lib/core/market/` isolated from theme parser internals.
32+
33+
## Suggested PR order (draft)
34+
35+
1. TP-F1 — watcher + debounced `loadAvailableThemes()`
36+
2. TP-F2 — manifest fields + docs (no remote API yet)
37+
3. TP-F3 — minimal editor MVP (export only) or split to **0.4.4**
38+
4. TP-F4 — install-from-URL behind explicit user action
39+
40+
## Out of scope for 0.4.3
41+
42+
- Full marketplace backend and **Extensions** sidebar UI (may land in **0.5.0** per market-tech.md)
43+
- P2 Mongo/Redis semantic token colors ([roadmap.md](roadmap.md))
44+
- `re_editor` / LSP editor replacement

docs/release-checklist.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
# Pre-release checklist (toward 1.0)
1+
# Pre-release checklist (release **0.4.2**)
22

3-
Use this before tagging or running the **Release** workflow.
3+
Use this before tagging **`0.4.2`** or running the **Release** workflow.
4+
See [tags-and-releases.md](tags-and-releases.md) and [CHANGELOG.md](../CHANGELOG.md).
45

56
## Product smoke (manual)
67

@@ -32,7 +33,7 @@ Use **Preferences → Appearance** unless noted. Fixtures for copy/import tests
3233

3334
## Versioning and release
3435

35-
- [ ] `pubspec.yaml` `version` matches the release you intend to ship.
36+
- [ ] `pubspec.yaml` `version` is **`0.4.2+…`** (semver matches intended tag **`0.4.2`**).
3637
- [ ] **Tag** is placed on the **commit that includes all fixes** you want in binaries (a tag does not auto-include later commits; see [CONTRIBUTING.md](../CONTRIBUTING.md)).
3738
- [ ] Run the **Release** workflow from GitHub Actions (see [tags-and-releases.md](tags-and-releases.md)).
3839
- [ ] Verify **Linux** and **Windows** zip artifacts and `SHA256SUMS.txt` on the GitHub Release.

docs/roadmap.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Living document for planned work. Not a commitment order; adjust as priorities c
77
- **Shipped in 0.4.0 (epic #37):** runtime themes, VS Code `colors` + `tokenColors` import, SQL/JSON
88
highlighting, P0 workbench migration, Preferences, tests, docs — [theme.md](theme.md).
99
- **Shipped in 0.4.1 ([#93](https://github.com/QueryaHub/Querya-Desktop/issues/93)):** UI performance — virtual result grid, lazy connection tree, decoupled scale preview, stats polling, MySQL stats dashboard, local `docker/` dev stack — [perf-baseline.md](perf-baseline.md).
10+
- **Shipped in 0.4.2 (TP-01–TP-30, #96#125):** custom theme registry — `querya.theme.v1` + VS Code JSON/JSONC scan, Theme picker (50+), import/refresh, built-in Cyberpunk Neon asset, startup fallback, window chrome sync — [theme-custom-json.md](theme-custom-json.md), [theme-import.md](theme-import.md).
11+
- **Planned 0.4.3:** theme follow-ups (file watcher, marketplace metadata, visual editor, remote install) — [planned-0.4.3.md](planned-0.4.3.md).
1012
- **Optional:** Preferences → **Animate theme changes** (off by default).
1113
- **Later:** P2 Mongo/Redis token colors; `re_editor` if perf gap; LSP epic per
1214
[archive/code-forge-evaluation.md](archive/code-forge-evaluation.md) (**NO-GO** on `code_forge` for 0.3).

docs/theme-parser-github-issues.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,7 +1574,8 @@ Add QA checklist:
15741574

15751575
## Optional follow-up issues
15761576

1577-
These are intentionally out of the first implementation pass.
1577+
These are intentionally out of the first implementation pass (**shipped in 0.4.2**).
1578+
**Target milestone: 0.4.3** — see [planned-0.4.3.md](planned-0.4.3.md).
15781579

15791580
### TP-F1 — File watcher for user themes folder
15801581

@@ -1594,33 +1595,33 @@ Install theme from URL. Requires network, trust/security decisions, and probably
15941595

15951596
## Master checklist
15961597

1597-
- [ ] TP-01 docs schema
1598-
- [ ] TP-02 fixtures
1599-
- [ ] TP-03 manifest model
1600-
- [ ] TP-04 color parser wrapper
1601-
- [ ] TP-05 shadcn color scheme mapping
1602-
- [ ] TP-06 editor theme mapping
1603-
- [ ] TP-07 workbench theme mapping
1604-
- [ ] TP-08 QueryaTheme factory
1605-
- [ ] TP-09 load result types
1606-
- [ ] TP-10 ThemeDefinition
1607-
- [ ] TP-11 theme paths
1608-
- [ ] TP-12 filesystem scan
1609-
- [ ] TP-13 load selected definition
1610-
- [ ] TP-14 parsed theme cache
1611-
- [ ] TP-15 AppSettings selected theme
1612-
- [ ] TP-16 legacy imported migration
1613-
- [ ] TP-17 ThemeController registry integration
1614-
- [ ] TP-18 ThemePickerButton shell
1615-
- [ ] TP-19 picker search/filter
1616-
- [ ] TP-20 safe preview card
1617-
- [ ] TP-21 Preferences integration
1618-
- [ ] TP-22 refresh themes action
1619-
- [ ] TP-23 multi-theme import
1620-
- [ ] TP-24 built-in theme assets
1621-
- [ ] TP-25 user theme folder docs
1622-
- [ ] TP-26 window chrome sync
1623-
- [ ] TP-27 startup fallback
1624-
- [ ] TP-28 50+ themes performance test
1625-
- [ ] TP-29 end-to-end import test
1626-
- [ ] TP-30 release QA docs
1598+
- [x] TP-01 docs schema
1599+
- [x] TP-02 fixtures
1600+
- [x] TP-03 manifest model
1601+
- [x] TP-04 color parser wrapper
1602+
- [x] TP-05 shadcn color scheme mapping
1603+
- [x] TP-06 editor theme mapping
1604+
- [x] TP-07 workbench theme mapping
1605+
- [x] TP-08 QueryaTheme factory
1606+
- [x] TP-09 load result types
1607+
- [x] TP-10 ThemeDefinition
1608+
- [x] TP-11 theme paths
1609+
- [x] TP-12 filesystem scan
1610+
- [x] TP-13 load selected definition
1611+
- [x] TP-14 parsed theme cache
1612+
- [x] TP-15 AppSettings selected theme
1613+
- [x] TP-16 legacy imported migration
1614+
- [x] TP-17 ThemeController registry integration
1615+
- [x] TP-18 ThemePickerButton shell
1616+
- [x] TP-19 picker search/filter
1617+
- [x] TP-20 safe preview card
1618+
- [x] TP-21 Preferences integration
1619+
- [x] TP-22 refresh themes action
1620+
- [x] TP-23 multi-theme import
1621+
- [x] TP-24 built-in theme assets
1622+
- [x] TP-25 user theme folder docs
1623+
- [x] TP-26 window chrome sync
1624+
- [x] TP-27 startup fallback
1625+
- [x] TP-28 50+ themes performance test
1626+
- [x] TP-29 end-to-end import test
1627+
- [x] TP-30 release QA docs

docs/theme-parser-implementation-tasks.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -579,13 +579,13 @@ flutter:
579579

580580
## Acceptance checklist
581581

582-
- [ ] Querya custom JSON импортируется и применяется.
583-
- [ ] VS Code JSON/JSONC import продолжает работать.
584-
- [ ] 50+ тем в Preferences не вызывают overflow и заметные лаги.
585-
- [ ] Hover в списке не перестраивает весь app.
586-
- [ ] Повторное переключение на уже открытую тему мгновенное.
587-
- [ ] Сломанная выбранная тема не ломает запуск приложения.
588-
- [ ] Выбранная тема сохраняется после рестарта.
589-
- [ ] Window title bar синхронизирован с background/canvas темы.
590-
- [ ] `flutter analyze` clean.
591-
- [ ] `flutter test` green.
582+
- [x] Querya custom JSON импортируется и применяется.
583+
- [x] VS Code JSON/JSONC import продолжает работать.
584+
- [x] 50+ тем в Preferences не вызывают overflow и заметные лаги.
585+
- [x] Hover в списке не перестраивает весь app.
586+
- [x] Повторное переключение на уже открытую тему мгновенное.
587+
- [x] Сломанная выбранная тема не ломает запуск приложения.
588+
- [x] Выбранная тема сохраняется после рестарта.
589+
- [x] Window title bar синхронизирован с background/canvas темы.
590+
- [x] `flutter analyze` clean.
591+
- [x] `flutter test` green.

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: querya_desktop
22
description: Lightweight desktop SQL/NoSQL client. Flutter (Dart).
3-
version: 0.4.1+7
3+
version: 0.4.2+1
44

55

66

0 commit comments

Comments
 (0)