Releases: QueryaHub/Querya-Desktop
Releases · QueryaHub/Querya-Desktop
Querya Desktop 0.4.17
Sorry, something went wrong.
No results found
[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.
- SQLite implicit rowid Table Browser (#774) — Tables with no declared PRIMARY KEY (CREATE TABLE t (name TEXT)) use implicit rowid as the DML key. Browse SELECT projects "rowid", * so Save can UPDATE … WHERE rowid. Status is no longer “no primary key”. WITHOUT ROWID tables keep their declared PK.
- Mongo 0-match write (#776) — updateOne / replaceOne / deleteOne throw when nMatched / nRemoved is 0 (wrong _id type, deleted doc). Inspector and JSON editor surface Save Failed instead of a success toast. An identical $set (nModified == 0) still counts as a match.
- Mongo full-document Save (#778) — JSON editor Save uses replaceOne (whole document, _id locked) instead of $set, so fields deleted in JSON — including nested keys — are removed on the server.
- Mongo document editor Back (#782) — Dirty JSON in MongoDocumentEditor is registered with UnsavedWorkRegistry. Breadcrumb Back, Home, Close, and tree navigation confirm before discarding; Cancel keeps the editor.
- Mongo JSON filter ObjectId / DateTime (#783) — Document list filter parses Extended JSON ($oid, $date) and wraps a 24-character hex _id as ObjectId. A leftover string _id with zero matches shows how to write { "_id": { "$oid": "…" } }.
- Postgres open-transaction probe (#787) — BEGIN + SELECT does not assign an XID, so pg_current_xact_id_if_assigned stayed NULL (SQL-tab badge off; autocommit-off prepended a second BEGIN). The session tracks BEGIN/COMMIT/ROLLBACK and otherwise probes pg_stat_activity.xact_start (PG 9+). Implicit BEGIN when autocommit is off stays a separate execute.
- Postgres Table Browser paging (#788) — Browse stays on PgSessionMode.readOnly. SELECT uses ORDER BY primary-key columns when a PK exists. Row totals come from pg_class.reltuples instead of a blocking COUNT(*) before first paint (stale estimates below the current page are ignored so Next still works). Save / REFRESH stay on tableWrite.
- Postgres timestamptz / bytea / jsonb / arrays (#789) — Table Browser and SQL results encode cells as PG literals (ISO timestamps, \x hex for bytea, JSON text for jsonb, {1,2,3} for arrays) instead of Object.toString. Schema uses udt_name so ARRAY / USER-DEFINED round-trip through formatLiteral.
- Postgres host/port SSL (#790) — Host/port Use SSL/TLS stays sslmode=require (encrypt, no CA check) unless a Root CA is set, then verify-full. A URI sslmode= value still wins. The form documents the MITM tradeoff and writes sslmode=verify-full when saving a Root CA.
- Postgres custom-SQL allowlist (#791) — Table Browser SQL dialog classifies the first statement after comments instead of substring contains('insert '). SELECT inserted_at is allowed; SELECT 1; DELETE FROM t is rejected. WITH … INSERT is a write; TABLE / VALUES / (SELECT …) stay allowed.
- SQLite getObjectDdl bind (#796) — DDL lookup uses WHERE name = ? with a positional list. :name plus [objectName] did not bind, so the dialog showed No definition found for tables that exist.
- SQLite WITH / PRAGMA (#797) — execute classifies the first statement after comments: WITH … INSERT is a write (Dart read-only guard + execute instead of rawQuery). Assignment PRAGMA name=value is a write; PRAGMA busy_timeout stays a query. SQL workspace injects LIMIT only for read-only statements.
- SQLite missing file (#798) — Test Connection and opening a saved connection no longer create an empty .db when the path is a typo. Errors distinguish file not found, permission, and corrupt. New-connection Save still creates the file if it does not exist.
- SQLite Table Browser paging (#799) — Browse SELECT uses ORDER BY primary-key columns, or rowid when the table has implicit rowid. First paint skips blocking COUNT(*) (Next stays available when the page is full). SQL workspace has an optional statement timeout matching Postgres/MySQL.
- SQLite BLOB / TEXT grid (#800) — Table Browser and SQL results show BLOB as X'hex' (not Uint8List.toString()) and persist the same. Declared TEXT stays a quoted string even when it looks numeric (00123).
- MySQL Table Browser session lock (#803) — Browse stays on MysqlSessionMode.readOnly. Title-bar lock is passed into MysqlTableView: staging / Save stay off and Save does not acquire tableWrite. SET SESSION TRANSACTION READ ONLY is documented as a next-transaction hint (weaker than a read-only user; MariaDB vs MySQL 8).
- MySQL ssl-mode (#805) — ssl-mode=prefer enables TLS (same as require) instead of turning it off. verify_ca / verify_identity fail closed without sslrootcert and ask the driver to check the CA (and hostname for identity). Form Use SSL stays encrypt-only.
- MySQL BOOLEAN / BIT / BLOB / JSON grid (#806) — Schema uses COLUMN_TYPE so BOOLEAN is tinyint(1) (TRUE/FALSE on Save). BIT/BLOB/BINARY cells display as 0x hex and persist as X'…'; JSON stays quoted text. The MySQL driver decodes charset-63 payloads as latin1 so invalid UTF-8 no longer throws.
- MySQL Table Browser paging (#807) — Browse SELECT uses ORDER BY primary-key columns when a PK exists. Row totals come from information_schema.TABLES.TABLE_ROWS instead of a blocking COUNT(*) before first paint (stale estimates that are below the current page are ignored so Next still works).
- Redis URL paste (#819) — Paste redis:// / rediss:// stores the raw URI on connectionString (like Postgres/MySQL/Mongo), so sslrootcert / sslcert / sslkey reach RedisConnection.connect.
- Redis binary bulk (#818) — GET / SCAN / hash / list / set / zset decode bulk replies as bytes (RedisParserBulkBinary). Invalid UTF-8 is shown as hex / base64; Save as text is off so SET cannot write replacement characters.
- Redis stream/unknown GET-SET (#817) — Stream, module, and unknown keys are not opened with GET or saved with SET. Save stays on string only; unknown retries TYPE before treating the value as a string.
- SQL toolbar overflow — MySQL / Postgres Query + History + Execute wrap instead of overflowing at ~700px (widget tests treat RenderFlex overflow as failure).
- Redis collection paging (#816) — Hash / list / set / zset editors load the first 200 members (HSCAN / LRANGE / SSCAN / ZRANGE) with Load more, instead of HGETALL / LRANGE 0 -1 / SMEMBERS / ZRANGE 0 -1. Keys with 10k+ members show a large-key warning.
- Redis URI Test/sidebar (#815) — Test Connection and the sidebar keyspace probe parse redis:// / rediss:// via fromConnectionRow (host, port, TLS, cert query params) instead of hitting localhost:6379. The probe keeps id: -1 so it does not replace workspace sockets.
- Redis DEL confirm (#814) — Deleting a key (browser or editor) and removing a hash field / set member / zset member opens the same destructive-operation dialog as SQL. Cancel / Escape does not send DEL / HDEL / SREM / ZREM.
- Mongo drop/delete confirm (#781) — Drop database, drop collection, document Del, and editor Delete open the same destructive-operation dialog as SQL. Cancel / Escape does not call dropDatabase / dropCollection / deleteOne.
- Redis title-bar read-only (#813) — Session lock is passed into the key browser and editor. Save, DEL, HSET/HDEL, RPUSH, SADD/SREM, ZADD/ZREM, and TTL apply stay hidden; the explorer socket also refuses those writes and sends READONLY after AUTH when locked (ignored on standalone / older servers).
- SQLite Table Browser read-only (#793) — Connection-form Read only (useSSL) opens the file with SQLITE_OPEN_READONLY even for Save (tableWrite). Title-bar session lock is passed into SqliteTableView: staging / Save stay off and the grid does not acquire a writable handle.
- MySQL SQL tx toolbar (#809) — Begin / Commit / Rollback run START TRANSACTION / COMMIT / ROLLBACK on the SQL socket without replacing the editor buffer. The toolbar shows Transaction open/none. Table Browser Save stays on the tableWrite socket from #802 (no nested START TRANSACTION); opening a table still warns while SQL has an open transaction.
- MySQL SQL-grid Save (#804) — Result-grid Save runs only for a simple single-table SELECT with a PK in the result (getTableSchema). JOIN, comma-FROM, and no-PK results stay read-only. DML uses the PK and columnDataTypes; applies still wrap START TRANSACTION / COMMIT / ROLLBACK (join an already-open SQL transaction).
- SQLite SQL-grid Save (#795) — Result-grid Save runs only for a simple single-table SELECT with a PK in the result (getTableSchema). JOIN, comma-FROM, and no-PK results stay read-only. DML uses the PK and columnDataTypes; applies still wrap BEGIN TRANSACTION / COMMIT / ROLLBACK (join an already-open BEGIN).
- Postgres SQL-grid Save (#786) — Result-grid Save runs only for a simple single-table SELECT with a PK present in the result (getTableSchema). JOIN, comma-FROM, subqueries, and VALUES stay read-only. DML WHERE uses the PK and columnDataTypes instead of every displayed column.
- Redis Overview/Explorer sockets (#812) — Overview INFO and Explorer SCAN/GET/SELECT use separate pooled sockets (stats vs explorer) so opening a DB no long...
Read more
Querya Desktop 0.4.16
Sorry, something went wrong.
No results found
[0.4.16] - 2026-09-20
In-place editing in Table Browser (same DML staging as SQL Workspace), Command Palette and Quick Switcher, workspace chrome parity across drivers, connections-tree visual + FPS work, MongoDB per-field Save to DB, and a hardened in-app updater.
Added
- Table Browser In-Place Editing (#759, PR #760) — Postgres, MySQL, and SQLite table views attach DataGridStagingBuffer and ResultsTab so double-click edits a cell when a PRIMARY KEY is present. Views, materialized views, custom SQL, and tables without a PK stay read-only with an explicit status line. Toolbar Save / Revert + pending-change badge; pagination and Refresh confirm before discard; commit goes through DML preview and a transaction, then a success toast.
- Command Palette & Quick Switcher (#742–#747, #754, PRs #749–#753, #757) — QueryaCommandRegistry and a modal palette on Ctrl/Cmd+P (CP-01…02); Quick Switcher for database objects on Ctrl/Cmd+K (CP-03); palette wired to menus, SQL, grid, and connections (CP-04); extension contributes.commands in the palette with RPC error toasts and reserved core ids (CP-05).
- Workspace UI Parity (#714–#717, #729, PRs #728, #730) — Shared QueryaTabStrip on driver homes (Overview / SQL), QueryaStatusBar for busy / duration / rows / cols, read-only badge moved out of the title bar, and Return to last MongoDB database / Redis dbN from stats.
- Connections Tree Chrome (#718–#722, #740, PRs #731–#734, #748) — Shared QueryaTreeTokens, collapsible Databases folder, SDUI/QueryaConnectionTreeRow parity, Extension Refresh / SQLite path subtitle / Redis DB menu polish, indent guides, and a compact SERVERS header.
- MongoDB Field Inspector + Save to DB (#763, PR #764) — Expanded document cards list top-level fields; tapping a non-_id field opens the Cell Inspector with Save to DB ($set one field and reload). SQL inspector Apply is unchanged when the callback is not wired.
- Grid Cell UX (#761, PR #762) — Text cursor on editable cells; hover tooltip column · sql_type (long values still included); README Feature Matrix: Live In-Grid Editing + Staged Commit.
Changed & Performance
- Connections Tree FPS (#724–#727, PRs #735–#738) — Flatten nested shrinkWrap lists into a virtualized native tree, selection rebuilds only the selected slice, skip AnimatedSize on large expands and Motion Off, and a DevTools checklist for 120 Hz captures (QA tracked in #739 / epic #723).
- Motion Token Cleanup (#741, PR #758) — Leftover welcome-tour, empty-hero, and sidebar durations use QueryaMotion tokens.
Fixed
- In-App Updater Hardening (#755, PR #756) — Surface SHA-256 mismatches, refuse unsafe installs (dirty tree / managed / zip), and avoid using BuildContext across the restart-confirm await.
- Extension Palette Invoke (#754, PR #757) — Toast RPC failures from extension commands and stop extensions from clobbering core command ids.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.16-linux.zip
- Windows: Querya-Desktop-0.4.16-windows.zip
- macOS: Querya-Desktop-0.4.16-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.16-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.16-linux.deb — sudo apt install ./Querya-Desktop-0.4.16-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.16-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.16-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.16-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.16-linux.flatpak
- Windows setup: Querya-Desktop-0.4.16-windows-setup.exe (Inno Setup)
Arch (AUR): querya-desktop — yay -S querya-desktop (auto-published when AUR_SSH_PRIVATE_KEY is configured).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.15
Sorry, something went wrong.
No results found
[0.4.15] - 2026-09-07
Multi-tab SQL workspace sessions, fluid motion transitions, cohesive dialog UI system, content-aware adaptive column sizing and auto-fit in data grid, rich cell context menus, desktop file associations (.sql, .sqlite) with CLI open-with handling, categorized Master-Detail preferences with Keymap reference and theme editor modal, server-side column sorting in table views, connection tree quick search and pinning, and comprehensive UI freeze and isolate performance optimizations.
Added
- Fluid Motion Transitions & Micro-Interactions (#707, #708, #709) — Smooth cross-fade and scale tab switching in SqlQueryTabBar, springy hover feedback on buttons, cards, and tree items, and refined modal dialog entry/exit animations.
- Cohesive UI Dialog Card System (#710, #711, #712) — Standardized modal architecture across workspace and schema dialogs using QueryaDialogCard, unifying header titles, action footers, and border radii.
- Multi-Tab SQL Workspace (#679, PR #684) — Full support for multiple independent query sessions per connection with tab strip (SqlQueryTabBar), separate editor state, split panel sizing, query history, result grids, and DML staging buffers with IndexedStack state preservation and tab shortcuts (Ctrl+T, Ctrl+W, Ctrl+Tab, Ctrl+Shift+Tab).
- Adaptive Content-Aware Column Sizing & Auto-Fit (#676, PR #681) — Dynamic header-based minimum column widths (56px) without inflating compact columns (id, status), weighted distribution of excess viewport width in favor of long text fields (name, description), and double-click (onDoubleTap) on column header dividers for instantaneous content-aware auto-fit.
- Data Grid Cell Context Menu & Non-Destructive Actions (#678, PR #683) — Native right-click context menu with TSV/JSON/CSV copy formats (Copy Value, Copy with Headers, Copy as JSON/CSV), instant filter bridge (Filter by this value, Filter out this value), value inspector access (Ctrl+I), setting explicit NULL (Alt+N), and reverting cell changes.
- Desktop File Associations & Open-With Handlers (#694, PR #695) — Native file associations and Open-With support for SQL scripts (.sql) and SQLite databases (.db, .sqlite, .sqlite3) on Linux (.desktop, %F), macOS (Info.plist), and Windows (Inno Setup / Registry) via FileLaunchService.
- Master-Detail Categorized Preferences Dialog (#686, #687, #688, #689, PR #690, #691, #692, #693) — Modern two-pane Master-Detail preferences layout with sidebar categories (General, Appearance, SQL & Editor, Data Grid, Extensions, Keymap, About & Storage), global search (Ctrl+F), deep-linking, unified PreferencesSwitchRow toggles, update channel selector (Stable / Beta), interactive Keyboard Shortcuts (Keymap) reference matrix, and a dedicated visual Theme Editor modal window.
- Connection Tree Quick Search, Filtering & Pinning (#680, PR #685) — Global quick search in sidebar connections tree (Ctrl+F / Cmd+F) with auto-expanding matching folders, compact inline TreeObjectFilterBar for filtering tables/views/procedures in large schemas, and table/view pinning (⭐) with automatic top-of-list sorting.
- Interactive Server-Side Column Sorting (#696, PR #697) — Tri-state interactive server-side sorting (ASC -> DESC -> Natural) in SQLite, PostgreSQL, and MySQL table views with model row index mapping preservation in VirtualResultGrid.
- UI/UX Polishing for Data Grid, Filter Bar & Staging (#700, PR #701) — Semantic theme color tokens for filter suggestions (cs.popover, cs.popoverForeground, cs.border), disambiguated Export ▾ menu vs Save Changes button, keyboard shortcut tooltips (Ctrl+Insert, Ctrl+Delete, Ctrl+Z, Ctrl+S), and quick filter bar close button / Escape dismiss handling.
Changed & Performance
-
Staging Buffer & Huge Result Performance Optimizations (#706) — Optimized staging diff resolution for large dataset modifications, avoiding unnecessary buffer cloning during high-throughput updates.
-
Elimination of UI Freezes & Isolate Performance Optimizations (#702, PR #703) — Adaptive background isolate offloading for large table sorting (sortResultGridRowsWithIndicesAdaptive, $N \ge 3000$) with version tokenization, zero-allocation clean reads and caching in DataGridStagingBuffer.effectiveRows, caching of groupings tree in DataGridGroupingsView outside of build(), and 150ms debounced JSON/XML validation in DataGridValuePanel.
-
Universal Syntax Highlighting & Flicker-Free Editor (#694, PR #695) — Enhanced SQL tokenizer and eliminated visual flicker during typing in QueryaCodeEditor.
Fixed
- Latent Bug Fixes & Stability (#677, #698, PR #682, #699) — Resolved layout overflows and bottom padding breaks across SQLite forms and database overview screens, fixed MySQL/MariaDB backslash escaping in DML generator, prevented memory leaks on Staging Buffer disposal and debounce timers, validated unclosed string literals in SQL filter AST parser, and sanitized pipe characters and quotes in Markdown and SQL INSERT export formats.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.15-linux.zip
- Windows: Querya-Desktop-0.4.15-windows.zip
- macOS: Querya-Desktop-0.4.15-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.15-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.15-linux.deb — sudo apt install ./Querya-Desktop-0.4.15-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.15-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.15-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.15-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.15-linux.flatpak
- Windows setup: Querya-Desktop-0.4.15-windows-setup.exe (Inno Setup)
Arch (AUR): querya-desktop — yay -S querya-desktop (auto-published when AUR_SSH_PRIVATE_KEY is configured).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.14
Sorry, something went wrong.
No results found
[0.4.14] - 2026-08-30
Near-instantaneous menubar dropdowns, native macOS PlatformMenuBar integration, destructive query confirmation safety modals, comprehensive memory optimizations (string interning, compact storage), grid keyboard navigation, rich cell inspector, and driver resilience hardening.
Added
- Instantaneous Menubar Dropdowns (#672, #673) — Accelerated dropdown open animation to 60ms with Curves.easeOutCubic, eliminated initial pointer-down delay, unhindered titlebar dragging from gesture arena interference, and added toggle-close support.
- Native macOS PlatformMenuBar Integration (#612, #626) — Full native macOS top system menu integration with standard application, file, edit, view, and window submenus.
- Destructive Query Confirmation Modal (#608, #622, #638, #641) — Safety confirmation dialog for high-risk DDL and DML operations (DROP, TRUNCATE, bulk DELETE/UPDATE without WHERE) with SQL preview, detected operations list, and explicit acknowledgement check for core and extension workspaces.
- Full Data Grid Keyboard Navigation (#662, #664) — Seamless keyboard traversal across virtual grid cells using arrow keys, Tab/Shift+Tab, Enter to commit, and Escape to cancel.
- Rich Cell Inspector Dialog (#663, #665) — Dedicated multi-format modal inspector with tabbed views for raw text, JSON, XML/HTML, and binary/hex with word wrap toggle and copy actions.
- Binary & BLOB Support in DML (#658, #661) — Added full support for binary BLOB data in cell editing, DML staging buffer, and dialect-specific SQL generation (X'...', \x...).
- Extension Driver Crash Recovery & Restart UI (#667, #669) — Visual driver crash banner with automatic heartbeat monitoring and one-click manual driver restart button.
- Interactive Welcome Tour Expansion (#606, #624) — Expanded onboarding guide with 6 interactive steps, keyboard shortcuts reference matrix, and 1-click sample sandbox setup.
- Bi-Directional Navigation (#630, #635) — Quick navigation links between database overview statistics, home view, and active tables.
- Active Selection Sync to Tree (#633, #637) — Synchronized active table and view selection in tabs with the connections sidebar tree.
- Extension Driver SDUI Tree Selection Highlight (#639, #642) — Visual selection highlighting for SDUI trees rendered by extension drivers.
- Querya Extension Driver Mutation Standard (#563, #628) — Formalized mutation standard specification and test suite for extension drivers.
Changed & Performance
- String Interning Pool (#604, #625) — Deduplicated low-cardinality string allocations in query result grids, slashing heap allocations during large dataset exploration.
- Compact Typed Storage & Lazy Cell Stringification (#605, #627) — Compact memory representation for primitive column vectors, deferring string conversions until render.
- Schwartzian Transform Grid Sorting (#602, #615) — Precomputed sort keys in sortResultGridRows to eliminate redundant comparisons during column header sorts.
- QuickSelect Median Calculation (#603, #616) — O(N) median computation in GridSelectionCalcEngine instead of O(N log N) sorting.
- Background Selection Calculation Offloading (#652, #655) — Offloaded massive cell selection statistics calculations to background compute workers to keep the UI at 60 FPS.
- DataGrid Filter Bar Debouncing (#651, #654) — Debounced keystroke evaluation in the filter bar to avoid stutter during rapid filter typing.
- ResultsTab Filtering Memoization (#650, #653) — Cached filtered row indices when filter predicates and dataset rows remain unchanged across rebuilds.
- Modularized Shared SQL Editor & Workbench (#646, #649) — Clean modular decoupling of SQL editor tabs, query runners, and workbench state.
- Inverted Core Imports Cleanup (#644, #647) — Eliminated circular/inverted core-to-feature dependencies and cleanly extracted connection models to core.
- App Lifecycle & Dispose Resource Cleanup (#670, #671) — Hardened teardown of timer subscriptions, workers, and active sockets upon window closure.
- Connection Pool Delay Tuning (#597, #601) — Reduced idle connection disposal delay to 4 seconds for rapid tab switching.
Fixed
- In-Memory Secret Scrubbing (#607, #623) — Zeroed in-memory buffers for database passwords and sensitive connection parameters immediately after authentication.
- Redis Safe Disconnect & Socket Resilience (#657, #660) — Protected Redis clients against unhandled socket close exceptions and connection teardown race conditions.
- SQLite WAL Mode & Busy Timeout (#611, #617, #656, #659) — Enabled Write-Ahead Logging (WAL) and 5000ms busy timeout in LocalDb and SQLite workspaces to eliminate database lock errors.
- LocalDb Single-Flight Initialization (#645, #648) — Guarded LocalDb._open against concurrent re-initialization race conditions.
- Plugin JSON-RPC Bridge Resilience (#666, #668) — Added heartbeat ping-pong, buffered message queues, and graceful restart on extension pipe drops.
- SQL History Monotonic Ordering & Pruning (#629) — Guaranteed monotonic ordering by auto-incrementing ID in query history queries and batch prune operations.
- Literal 'NULL' vs Database NULL Differentiation (#595, #599) — Fixed DML preview and staging buffer improperly treating the literal text 'NULL' as SQL NULL.
- DML Leading Zeroes Preservation (#594, #598) — Prevented numeric string values (such as postal codes or phone numbers with leading zeroes) from being coerced to integers in generated DML.
- Missing Primary Key Warning in DML (#596, #600) — Displayed explicit duplicate key warnings in the DML preview modal for tables lacking primary keys.
- Motion Wobble Harmonization (#631, #634) — Harmonized workspace transition curves to eliminate dual-axis wobble during connection switching.
- MongoDB & Redis Breadcrumbs (#632, #636) — Preserved persistent breadcrumbs and smooth transitions during NoSQL key and collection navigation.
- Focus Traversal in Connection Forms (#610, #621) — Configured explicit FocusTraversalGroups across multi-field connection dialogs.
- Light Theme Accent Contrast (#609, #619) — Enhanced light theme accent and ring contrast ratios for WCAG compliance.
- Monospace Font Stack (#613, #618) — Added Cascadia Code and Consolas to default monospace font fallback list.
- Linux GDK Log Spam (#614, #620) — Suppressed benign synthetic pointer and cursor theme GDK warnings in Linux console logs.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.14-linux.zip
- Windows: Querya-Desktop-0.4.14-windows.zip
- macOS: Querya-Desktop-0.4.14-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.14-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.14-linux.deb — sudo apt install ./Querya-Desktop-0.4.14-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.14-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.14-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.14-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.14-linux.flatpak
- Windows setup: Querya-Desktop-0.4.14-windows-setup.exe (Inno Setup)
Arch (AUR): querya-desktop — yay -S querya-desktop (auto-published when AUR_SSH_PRIVATE_KEY is configured).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.13
Sorry, something went wrong.
No results found
[0.4.13] - 2026-08-25
Production-ready UI polish, complete interactive Data Grid editing suite, advanced query filtering, fluid collapsible navigation, and platform hardening.
Added
- In-Place Cell Editing & Staging Engine (#560, #561, #564, #565) — Double-click cell to edit in-place with type-aware inline editors, dirty state indicators, staging buffer for staged mutations (inserts/updates/deletions), and keyboard navigation (Tab/Shift+Tab, Enter, Escape).
- Atomic DML Preview & Multi-Dialect Generation (#562, #566) — Visual DML confirmation modal displaying compiled atomic UPDATE, INSERT, and DELETE statements with primary key resolution before committing to SQLite, PostgreSQL, and MySQL.
- In-Cell Validation & Safety Guardrails (#567) — Real-time cell validation for integer, float, boolean, UUID, JSON, date, and timestamp data types with visual error cues.
- Advanced Query Filter Engine (#568, #569, #570) — Compound predicate filter bar with AND, OR, NOT, parentheses, LIKE, ILIKE, IN, IS NULL, BETWEEN, escaped quotes, and intelligent popup autocomplete suggestions.
- Syntax Highlighting & Value Inspector (#571, #572) — Dedicated inspector panel with syntax highlighting for JSON, XML, YAML, and automated XML/HTML formatting and validation.
- Selection Statistics & Quick Calc (#573) — Extended selection calculations in the status bar (Count, Distinct, Sum, Avg, Min, Max, Median, Standard Deviation) with one-click clipboard summary export.
- Multi-Column Grouping & Pivot View (#574, #575, #576) — Hierarchical multi-level grouping, custom aggregations (SUM, AVG, MIN, MAX, COUNT), sorting, and CSV export for grouped summaries.
- Column Drag-Resizing & 3-Phase Sorting (#548, #549) — Interactive column width drag-resizing with divider handles and 3-phase client-side sorting (natural -> asc -> desc).
- Multi-Cell Range Selection & Clipboard (#550) — Rectangular multi-cell selection (Shift+Click) with TSV/CSV clipboard copy for Excel/Google Sheets.
- Fluid Collapsible Sidebar (#557, #559) — Physics-driven animated sidebar toggle with QueryaSpring, global Cmd+B / Ctrl+B hotkey, titlebar toggle button, and width persistence.
- Rich Object Context Menus (#551) — Right-click native context menus for database tables, views, procedures, and connections («Select TOP 100», «Copy SELECT statement», «Copy name», «Open in SQL»).
- Tree Keyboard Navigation (#552) — Full arrow-key navigation (Left/Right to expand/collapse, Up/Down, Enter/Space) across database trees.
- Interactive Welcome Tour & 1-Click Playground (#558) — Built-in onboarding tour and 1-click SQLite demo database playground.
- Global Shortcuts & Focus Polish (#579) — Added global shortcuts (Ctrl+F for filter bar, Ctrl+S for staging commit, Ctrl+G for groupings panel) and enhanced focus accessibility.
Fixed
- Connection Dialogs Inline Validation (#553) — Real-time URI parser and validation with dynamic database driver and host badges.
- Toolbar Layout Responsive Scroll (#577) — Wrapped data grid action bars in horizontal scroll to eliminate overflow on compact viewports.
- macOS SPM Path (#555) — Corrected relative path to refresh_rate plugin source in Package.swift for Swift Package Manager builds.
- macOS App Sandbox Entitlements (#556) — Added network.client and files.user-selected.read-write entitlements for outbound TCP connections and local file access.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.13-linux.zip
- Windows: Querya-Desktop-0.4.13-windows.zip
- macOS: Querya-Desktop-0.4.13-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.13-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.13-linux.deb — sudo apt install ./Querya-Desktop-0.4.13-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.13-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.13-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.13-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.13-linux.flatpak
- Windows setup: Querya-Desktop-0.4.13-windows-setup.exe (Inno Setup)
Arch (AUR): querya-desktop — yay -S querya-desktop (auto-published when AUR_SSH_PRIVATE_KEY is configured).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.11-c
Sorry, something went wrong.
No results found
[0.4.11-c] - 2026-07-29
Flutter SDK & dependency compatibility update, image downsampling memory optimization, and UI polish.
Added
- Dependencies & SDK Constraints — Updated Flutter/Dart SDK constraints and major library dependencies.
Performance
- Image Downsampling (#539) — Reduced image memory consumption using cacheWidth and cacheHeight constraints on network and asset images.
- Isolate Offloading (#538 / #522) — Offloaded heavy JSON parsing and large SQL result set decoding to background isolates.
- SQL History & Grid Optimization (#524 / #525) — Optimized VirtualResultGrid visible column window calculation with binary search and batched SQL history pruning.
UI & Polish
- Connection Management (#510 / #520) — Edit existing connection details from the sidebar context menu and migrated connection forms to QueryaDialogCard.
- Tree & Sidebar Hierarchy (#472 / #498) — Unified tree indentation and leaf styling across SQLite, Redis, and Mongo database trees.
- Motion & Shell Polish (#478 / #488 / #494) — Fluid motion transitions for workspace tab switches, connection switches, and extension manager.
Fixed
- Sandbox Watchdog (#526) — Prevented false-positive SIGKILL in SandboxWatchdog during heavy RPC execution.
- Flutter Compatibility — Maintained backward compatibility for Flutter SDKs.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.11-c-linux.zip
- Windows: Querya-Desktop-0.4.11-c-windows.zip
- macOS: Querya-Desktop-0.4.11-c-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.11-c-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.11-c-linux.deb — sudo apt install ./Querya-Desktop-0.4.11-c-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.11-c-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.11-c-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.11-c-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.11-c-linux.flatpak
- Windows setup: Querya-Desktop-0.4.11-c-windows-setup.exe (Inno Setup)
Arch (AUR): querya-desktop — yay -S querya-desktop (auto-published when AUR_SSH_PRIVATE_KEY is configured).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.11-b
Sorry, something went wrong.
No results found
[0.4.11-b] - 2026-07-27
Post-0.4.11 patch that ships security + Linux distro packaging (intended for 0.4.11-a), plus performance bounds (#414), UI reliability (#445), and code-review correctness (#463).
Note: GitHub tag 0.4.11-a was mistakenly placed on the same commit as 0.4.11, so those binaries did not include the 0.4.11-a changelog. Treat 0.4.11-b as the first patch after 0.4.11.
Added
- Linux distro packaging (#386) — .rpm, Flatpak (.flatpak bundle + manifest), and AUR PKGBUILD; Release CI publishes rpm + Flatpak alongside existing .deb / AppImage — see packaging.md.
Security
- Theme remote install localhost (#399) — ThemeRemoteInstallService defaults allowLocalhostInDebug to kDebugMode.
- Archive path guard (#401) — zip extraction uses p.isWithin() bounds checks (archive_path_guard.dart).
- Marketplace SHA256 (#396) — HttpMarketplaceRepository requires manifest checksum before install.
- Marketplace download URLs (#397) — HTTPS allowlist / SSRF policy (MarketplaceDownloadPolicy).
- Safe zip extraction (#398) — shared zip-bomb limits via SafeZipExtractor (extensions, updater, themes).
- Remote theme SHA256 (#400) — remote theme install requires checksum when provided by metadata.
- Sandbox OS consent (#395) — fail-closed unsandboxed driver launch without OS wrapper (bubblewrap / consent dialog).
- Sideload integrity UX (#402) — local .zip/.qext install dialog with security notice and optional SHA256.
Performance
- SQL result caps (#415 / #416) — SQLite injects LIMIT before materializing rows; Postgres clamps oversized LIMIT / FETCH.
- Streaming I/O (#417 / #418) — export writes stream to disk; marketplace SHA256 + zip extract avoid dual full-buffer copies.
- RPC / SDUI bounds (#419 / #420) — NDJSON line size caps; virtualized SduiTreeBuilder.
- Hot-path yielding (#421 / #422) — result cell string conversion and MySQL table browse yield to the UI isolate.
- Editor / Redis / sandbox / storage (#424–#428) — syntax-highlight threshold, Redis TYPE/TTL pipeline, bounded stderr, SQL history index/prune, incremental theme mtime scan.
- VirtualResultGrid (#423) — 2D column virtualization for wide result sets.
Fixed
- UI reliability (#445 / #446–#457) — Escape on showAppDialog; DDL overlay always pops; stats/table loading clears on early exit; tree error + Retry; empty table state; scrollable toolbars; SQL open/save toasts; title-bar scale; Redis/Mongo empty banners; mounted guards; ResultsTab invariants.
- Correctness follow-ups (#463 / #464–#468) — injectSqlLimit skips string/dollar quotes; delete partial export files on failure; PG tree clears stale children on error; theme watcher queues in-flight refresh; Redis keys error banner clears on success.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.11-b-linux.zip
- Windows: Querya-Desktop-0.4.11-b-windows.zip
- macOS: Querya-Desktop-0.4.11-b-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.11-b-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.11-b-linux.deb — sudo apt install ./Querya-Desktop-0.4.11-b-linux.deb
- Linux .rpm (Fedora/RHEL): Querya-Desktop-0.4.11-b-linux.rpm — sudo dnf install ./Querya-Desktop-0.4.11-b-linux.rpm
- Linux Flatpak: Querya-Desktop-0.4.11-b-linux.flatpak — flatpak install --user ./Querya-Desktop-0.4.11-b-linux.flatpak
- Windows setup: Querya-Desktop-0.4.11-b-windows-setup.exe (Inno Setup)
Arch (AUR): PKGBUILD in packaging/linux/aur/ (community-maintained).
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.11
Sorry, something went wrong.
No results found
[0.4.11] - 2026-07-27
Universal UI standard for drivers/extensions, shell UX hardening, Fluid QueryaMotion morphing, virtual grid/pool reliability, performance follow-ups, and dual-channel packaging (portable + installable).
Added
- SDUI / extension RPC expand (#323) — getCapabilities, getServerStats, getObjectMetadata, and cancelQuery on the plugin bridge for richer driver UIs.
- ExtensionTableView (#324) — table toolbar, custom SQL filter, and async row-count for sandboxed drivers.
- Universal data export (#326) — CSV, JSON, Markdown, and SQL dump from ResultsTab / table toolbars.
- MySQL / SQLite UI parity (#325) — align workspace chrome and flows with the Obsidian UI standard.
- Shell UX (#339) — semantic palette, shared toast, keyboard-operable tab strip, empty-workspace hero + recent connections, resizable connections sidebar, shared dialogs/widgets.
- 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.
- 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.
- Portable + installable packaging (#379–#385) — portable zip channel documented on Releases; Linux AppImage and .deb; Windows Inno Setup (*-windows-setup.exe); QUERYA_PORTABLE / QueryaData/ portable profile root; one-shot migration from legacy com.example.* support paths; updater prefers release asset matching install context (zip vs AppImage vs setup).
Fixed
- Virtual result grid (#331) — synchronize column width recalculation in VirtualResultGrid.
- Connection pools (#332) — eviction and exception wrapping in SQLite and MySQL pools.
- Query timeout (#333) — force-close connection on TimeoutException.
- Large result mapping (#334) — optimize SQL result set mapping and DDL rendering; RPC parse on compute isolate where applicable.
- Sidebar width persist (#354) — keyboard/semantics resize + dispose flush; dropdown exit delay for fade-slide.
- Linux build (#394) — silence Clang -Wdeprecated-literal-operator from flutter_secure_storage_linux 9.x.
- Tests — skip legacy profile migration during flutter test runs (isolated temp dirs).
Changed
- Bundle / application IDs (#385) — com.queryahub.querya_desktop (Linux), com.queryahub.queryaDesktop (macOS), QueryaHub / Querya Desktop (Windows).
- Dialog sizing (#394) — larger connection forms, database picker, and Preferences dialog via WindowLayout constants.
- CI / release hygiene — merge main into dev (#346); Release workflow publishes portable zips plus installable AppImage, .deb, and Windows setup; SHA256SUMS.txt covers all artifacts — see packaging.md and tags-and-releases.md.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.11-linux.zip
- Windows: Querya-Desktop-0.4.11-windows.zip
- macOS: Querya-Desktop-0.4.11-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.11-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.11-linux.deb — sudo apt install ./Querya-Desktop-0.4.11-linux.deb
- Windows setup: Querya-Desktop-0.4.11-windows-setup.exe (Inno Setup)
RPM / Flatpak / AUR — follow-ups on #386.
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.11
Sorry, something went wrong.
No results found
[0.4.11] - 2026-07-27
Universal UI standard for drivers/extensions, shell UX hardening, Fluid QueryaMotion morphing, virtual grid/pool reliability, performance follow-ups, and dual-channel packaging (portable + installable).
Added
- SDUI / extension RPC expand (#323) — getCapabilities, getServerStats, getObjectMetadata, and cancelQuery on the plugin bridge for richer driver UIs.
- ExtensionTableView (#324) — table toolbar, custom SQL filter, and async row-count for sandboxed drivers.
- Universal data export (#326) — CSV, JSON, Markdown, and SQL dump from ResultsTab / table toolbars.
- MySQL / SQLite UI parity (#325) — align workspace chrome and flows with the Obsidian UI standard.
- Shell UX (#339) — semantic palette, shared toast, keyboard-operable tab strip, empty-workspace hero + recent connections, resizable connections sidebar, shared dialogs/widgets.
- 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.
- 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.
- Portable + installable packaging (#379–#385) — portable zip channel documented on Releases; Linux AppImage and .deb; Windows Inno Setup (*-windows-setup.exe); QUERYA_PORTABLE / QueryaData/ portable profile root; one-shot migration from legacy com.example.* support paths; updater prefers release asset matching install context (zip vs AppImage vs setup).
Fixed
- Virtual result grid (#331) — synchronize column width recalculation in VirtualResultGrid.
- Connection pools (#332) — eviction and exception wrapping in SQLite and MySQL pools.
- Query timeout (#333) — force-close connection on TimeoutException.
- Large result mapping (#334) — optimize SQL result set mapping and DDL rendering; RPC parse on compute isolate where applicable.
- Sidebar width persist (#354) — keyboard/semantics resize + dispose flush; dropdown exit delay for fade-slide.
- Linux build (#394) — silence Clang -Wdeprecated-literal-operator from flutter_secure_storage_linux 9.x.
- Tests — skip legacy profile migration during flutter test runs (isolated temp dirs).
Changed
- Bundle / application IDs (#385) — com.queryahub.querya_desktop (Linux), com.queryahub.queryaDesktop (macOS), QueryaHub / Querya Desktop (Windows).
- Dialog sizing (#394) — larger connection forms, database picker, and Preferences dialog via WindowLayout constants.
- CI / release hygiene — merge main into dev (#346); Release workflow publishes portable zips plus installable AppImage, .deb, and Windows setup; SHA256SUMS.txt covers all artifacts — see packaging.md and tags-and-releases.md.
Downloads
Portable (zip — run from folder, no installer)
- Linux: Querya-Desktop-0.4.11-linux.zip
- Windows: Querya-Desktop-0.4.11-windows.zip
- macOS: Querya-Desktop-0.4.11-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Optional USB-style profile: set QUERYA_PORTABLE=1 or create a QueryaData/ folder next to the binary (see docs/packaging.md).
Installable
- Linux AppImage: Querya-Desktop-0.4.11-linux.AppImage (chmod +x then run)
- Linux .deb (Debian/Ubuntu): Querya-Desktop-0.4.11-linux.deb — sudo apt install ./Querya-Desktop-0.4.11-linux.deb
- Windows setup: Querya-Desktop-0.4.11-windows-setup.exe (Inno Setup)
RPM / Flatpak / AUR — follow-ups on #386.
Verify checksums: SHA256SUMS.txt
Build info
Querya Desktop 0.4.10
Sorry, something went wrong.
No results found
[0.4.10] - 2026-07-11
Sandboxed extension runtime, SDUI, and first end-to-end external database drivers (Registration + Activation), plus in-app updates and connection reliability fixes.
Added
- 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.
- Plugin RPC bridge (Block C, #312) — PluginRpcBridge over NDJSON JSON-RPC (system.handshake / ping / shutdown, db.connect).
- SDUI builders (#314) — SduiFormBuilder and SduiTreeBuilder render connection forms and schema trees from extension JSON schemas (key / boolean aliases supported).
- Local extension install (#316) — install .zip / .qext packages from Preferences and Extension Manager with the same SandboxPolicy checks as the Marketplace.
- 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.
- In-app updates (#280–#282) — updater service, Check for Updates UI / badge / startup settings, and platform installer helpers.
- SSL certificate pickers for MySQL, MongoDB, and Redis (#278) — optional client certificate paths on those connection forms.
- SQLite in Driver Manager (#270) — built-in SQLite listed alongside other Dart drivers.
Fixed
- 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).
- 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).
- Marketplace — database drivers without a valid process sandbox stay preview-only listings (#269).
- Sandbox launch — mark driver binaries executable after zip install; fall back when bubblewrap user namespaces are unavailable.
Downloads
- Linux: Querya-Desktop-0.4.10-linux.zip
- Windows: Querya-Desktop-0.4.10-windows.zip
- macOS: Querya-Desktop-0.4.10-macos.zip (signed, notarized and stapled .app when Apple Developer secrets are configured; otherwise unsigned)
Verify checksums: SHA256SUMS.txt
Build info