Skip to content

Commit dd57e08

Browse files
Merge pull request #377 from QueryaHub/issue/346-merge-main-into-dev
chore(release): merge main into dev for 0.4.11 (#346)
2 parents 7a84715 + 136f08b commit dd57e08

5 files changed

Lines changed: 55 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ jobs:
157157
run: flutter build macos --release
158158

159159
- name: Sign and notarize macOS app
160-
if: ${{ secrets.MACOS_SIGN_IDENTITY != '' && secrets.MACOS_NOTARY_KEY != '' }}
161160
env:
162161
MACOS_CERTIFICATE_P12: ${{ secrets.MACOS_CERTIFICATE_P12 }}
163162
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
@@ -168,6 +167,10 @@ jobs:
168167
MACOS_KEYCHAIN_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_PASSWORD }}
169168
run: |
170169
set -euo pipefail
170+
if [ -z "${MACOS_SIGN_IDENTITY:-}" ] || [ -z "${MACOS_NOTARY_KEY:-}" ]; then
171+
echo "Skipping macOS signing/notarization — secrets not configured."
172+
exit 0
173+
fi
171174
APP="build/macos/Build/Products/Release/querya_desktop.app"
172175
test -d "$APP"
173176

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.4.11] - Unreleased
11+
12+
Universal UI standard for drivers/extensions, shell UX hardening, Fluid QueryaMotion morphing, virtual grid/pool reliability, and performance follow-ups. Candidate release from `dev` after syncing `main` (#346).
13+
14+
### Added
15+
16+
- **SDUI / extension RPC expand (#323)**`getCapabilities`, `getServerStats`, `getObjectMetadata`, and `cancelQuery` on the plugin bridge for richer driver UIs.
17+
- **ExtensionTableView (#324)** — table toolbar, custom SQL filter, and async row-count for sandboxed drivers.
18+
- **Universal data export (#326)** — CSV, JSON, Markdown, and SQL dump from ResultsTab / table toolbars.
19+
- **MySQL / SQLite UI parity (#325)** — align workspace chrome and flows with the Obsidian UI standard.
20+
- **Shell UX (#339)** — semantic palette, shared toast, keyboard-operable tab strip, empty-workspace hero + recent connections, resizable connections sidebar, shared dialogs/widgets.
21+
- **Fluid QueryaMotion (#342)** — spring primitives, workspace empty↔connected morph, sliding tab indicator, hero/recent stagger, ResultsTab mode morph, dialog/dropdown fade-slide, theme morph gated by motion level, split drag-end settle + motion guardrails.
22+
- **Perf follow-ups (#356 / #357#366)** — isolate tab-strip rebuilds; SwitchingBody/CrossFade `RepaintBoundary` + `TickerMode`; static dialog blur; vertical-split paint isolation; ticker-gated stats polling; badge pulse lifecycle; ResultsTab morph paint scope; document theme morph cost, stagger/badge duration constants, and Linux query-only refresh_rate.
23+
24+
### Fixed
25+
26+
- **Virtual result grid (#331)** — synchronize column width recalculation in `VirtualResultGrid`.
27+
- **Connection pools (#332)** — eviction and exception wrapping in SQLite and MySQL pools.
28+
- **Query timeout (#333)** — force-close connection on `TimeoutException`.
29+
- **Large result mapping (#334)** — optimize SQL result set mapping and DDL rendering; RPC parse on compute isolate where applicable.
30+
- **Sidebar width persist (#354)** — keyboard/semantics resize + dispose flush; dropdown exit delay for fade-slide.
31+
32+
### Changed
33+
34+
- **CI / release hygiene** — merge `main` into `dev` (includes release workflow secrets-if fix #321); pubspec set to **0.4.11+1** (not the misleading 0.4.12 CI bumps from `main`).
35+
36+
## [0.4.10] - 2026-07-11
37+
38+
Sandboxed extension runtime, SDUI, and first end-to-end external database drivers (Registration + Activation), plus in-app updates and connection reliability fixes.
39+
40+
### Added
41+
42+
- **Extension sandbox runtime (Block E, #300#305)** — parse `sandbox` capabilities from manifests; launch plugins via `SandboxProcessRunner` (bwrap / sandbox-exec / Windows soft-start); Zero-Trust `system.injectCredentials` over Stdio; watchdog + auto-recovery; stderr sanitization, rotating logs, and security audit; Level-1 embedded runtime stubs and lifted preview gate for policy-compliant `process` drivers.
43+
- **Plugin RPC bridge (Block C, #312)**`PluginRpcBridge` over NDJSON JSON-RPC (`system.handshake` / `ping` / `shutdown`, `db.connect`).
44+
- **SDUI builders (#314)**`SduiFormBuilder` and `SduiTreeBuilder` render connection forms and schema trees from extension JSON schemas (`key` / `boolean` aliases supported).
45+
- **Local extension install (#316)** — install `.zip` / `.qext` packages from Preferences and Extension Manager with the same SandboxPolicy checks as the Marketplace.
46+
- **Driver Registration + Activation (#318 / #319)** — parse `contributions.drivers` / `capabilities`; list installed drivers in New Connection and Driver Manager; SDUI connection form; `ExtensionDriverSession` for connect + schema tree; SQL workspace / table view for sandboxed drivers; Docker ClickHouse service for local testing.
47+
- **In-app updates (#280#282)** — updater service, Check for Updates UI / badge / startup settings, and platform installer helpers.
48+
- **SSL certificate pickers for MySQL, MongoDB, and Redis (#278)** — optional client certificate paths on those connection forms.
49+
- **SQLite in Driver Manager (#270)** — built-in SQLite listed alongside other Dart drivers.
50+
51+
### Fixed
52+
53+
- **Secrets / shutdown / reliability** — atomic LocalDb + secure-store updates (#276); disconnect SQLite on app shutdown (#271); log remaining silent catches in database drivers (#272); harden MySQL custom SELECT validation (#274); stream large CSV exports on an isolate (#277).
54+
- **UI / menus** — disabled Run (F5) when no SQL-capable connection (#266); coming-soon placeholders for unfinished workspace tabs (#267); global File → New/Open/Save SQL for active SQL editors (#268).
55+
- **Marketplace** — database drivers without a valid process sandbox stay preview-only listings (#269).
56+
- **Sandbox launch** — mark driver binaries executable after zip install; fall back when bubblewrap user namespaces are unavailable.
57+
1058
## [0.4.9] - 2026-07-10
1159

1260
PostgreSQL connection reliability and TLS improvements, plus menu and URI import polish.

docs/roadmap.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ Living document for planned work. Not a commitment order; adjust as priorities c
1212
- **Shipped in 0.4.4:** UI motion polish + high refresh rate (90/120/144 Hz), memory and security fixes — [planned-0.4.4.md](planned-0.4.4.md), [motion-and-high-refresh.md](motion-and-high-refresh.md), epic [#170](https://github.com/QueryaHub/Querya-Desktop/issues/170), milestone [0.4.4](https://github.com/QueryaHub/Querya-Desktop/milestone/3).
1313
- **Shipped in 0.4.6:** SQLite Database Connector — [planned-0.4.6.md](planned-0.4.6.md), milestone [0.4.6](https://github.com/QueryaHub/Querya-Desktop/milestones).
1414
- **Planned 0.4.7:** Local Extension Discovery — `ExtensionManifest`, сканирование локальных папок и миграция тем на формат расширений ([planned-0.4.7.md](planned-0.4.7.md)).
15-
- **Planned 0.4.8:** Extension Manager UI — Вкладка или боковая панель для просмотра и включения/выключения локальных расширений.
16-
- **Planned 0.4.9:** RPC Protocol Bridge — Транспортный слой (`json_rpc_2` + `Process.start`) для будущих плагинов баз данных.
17-
- **Planned 0.4.10:** Server-Driven UI (SDUI) — Динамические компоненты (формы, деревья), рендерящиеся из JSON-схем, присылаемых расширениями.
15+
- **Shipped in 0.4.10:** Sandboxed extension runtime (Block E), Plugin RPC bridge (Block C), SDUI form/tree builders, local `.zip`/`.qext` install, and Registration/Activation for external database drivers (e.g. ClickHouse) — see [CHANGELOG.md](../CHANGELOG.md).
1816
- **Planned 0.5.0:** Marketplace Launch — Запуск Маркетплейса (клиентская часть). Скачивание, валидация `sha256` и установка тем из сети. База под другие расширения (ДБ драйверы) полностью готова!
1917
- **Optional:** Preferences → **Animate theme changes** (off by default).
2018
- **Later:** P2 Mongo/Redis token colors; `re_editor` if perf gap; LSP epic per

lib/features/updater/update_available_badge.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'dart:async' show unawaited;
22

3-
import 'package:flutter/foundation.dart';
43
import 'package:flutter/material.dart' as material;
54
import 'package:querya_desktop/core/motion/querya_motion.dart';
65
import 'package:querya_desktop/core/motion/querya_motion_context.dart';

pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: querya_desktop
22
description: Lightweight desktop SQL/NoSQL client. Flutter (Dart).
3-
version: 0.4.9+1
3+
version: 0.4.11+1
4+
45

56

67

0 commit comments

Comments
 (0)