Skip to content

Release 0.4.11-b - #471

Merged
ZhuchkaTriplesix merged 45 commits into
mainfrom
dev
Jul 27, 2026
Merged

Release 0.4.11-b#471
ZhuchkaTriplesix merged 45 commits into
mainfrom
dev

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

Patch release after 0.4.11. Tag 0.4.11-a was mistargeted (same commit as 0.4.11); 0.4.11-b is the first real patch binaries.

pubspec.yaml: 0.4.11-b

Changelog

[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

Security

Performance

Fixed

After merge (tag yourself)

git checkout main && git pull
# confirm: grep '^version:' pubspec.yaml  →  0.4.11-b
git tag -a 0.4.11-b -m "Querya Desktop 0.4.11-b"
git push origin 0.4.11-b

Verify git rev-parse 0.4.11-b^{}0.4.11^{} and Release artifacts are Querya-Desktop-0.4.11-b-* (incl. .rpm / .flatpak).

ZhuchkaTriplesix and others added 30 commits July 27, 2026 19:08
Share injectSqlLimit via sql_limit.dart and apply it in the SQLite
SQL workspace so SELECT/WITH/VALUES are bounded at the engine, not
only after rawQuery loads the full set. Document row-cap behavior.

Closes #415
perf(sqlite): inject LIMIT before materializing SQL results (#415)
saveToFile no longer builds a full-document String; CSV reuses
writeResultGridCsv and JSON/Markdown/SQL write row-by-row with yields.
Clipboard keeps isolate formatAsync (OS clipboard API).

Closes #417
perf(export): stream DataExportService file saves (#417)
Extend injectSqlLimit to clamp LIMIT n, LIMIT ALL, and FETCH FIRST
when larger than the UI row cap so Postgres (and SQLite) engines do
not buffer more rows than Preferences allow. Document the policy.

Closes #416
Hash archives with sha256HexOfFile (openRead stream) and decode via
InputFileStream so marketplace/sideload no longer keep a full byte
buffer plus ZipDecoder output. Clear entry content after write.

Closes #418
perf(sql): clamp oversized LIMIT / FETCH (#416 onto dev)
perf(marketplace): stream SHA256 + file-stream zip decode (#418)
Fail closed when a plugin stdout line exceeds 32 MiB, decode large
lines off the UI isolate, always send db.query limit from Preferences,
and document host payload limits for driver authors.

Closes #419
Flatten expanded tree rows and render via ListView.builder + itemExtent
so large schemas only build viewport widgets instead of a full Column.

Closes #420
Small buffers highlight inline; large buffers still use compute(),
avoiding isolate overhead on every keystroke in short SQL editors.

Closes #424
perf(extensions): bound JSON-RPC payload size (#419)
perf(sdui): virtualize SduiTreeBuilder (#420)
…eshold

perf(editor): honor syntax highlight isolate threshold (#424)
Avoid shipping full Object? matrices across isolates (peak ~2× copy).
Shared convertResultRowsToStringsYielding; MySQL SQL workspace converts
while streaming rowsStream. Postgres/SQLite/table browse use the helper.

Closes #421
perf(results): yielding row→string convert (no isolate double-copy) (#421)
Re-land #422 onto dev — prior PR merged into issue/421 base and never
reached the default branch.

Closes #422
Enqueue all TYPE then all TTL before awaiting replies (pipe_start/end),
so a 100-key batch is one RTT burst instead of ~200 round-trips.

Closes #426
Cap incomplete-line carry, drop overflow until the next newline, and
avoid toString+split rebuilds on every chunk. Bound sanitize input length.

Closes #427
Index (connection_id, database_name, recorded_at, id); prune via count +
oldest-id DELETE instead of nested OFFSET subquery. Schema v8 migration.

Closes #428
…ield-reland

perf(mysql): re-land table browse yield convert (#422)
Skip unchanged theme file reads on refresh; cache builtins; theme-only
watcher modify events avoid full extension registry reload.

Closes #425
perf(redis): pipeline TYPE/TTL for SCAN batches (#426)
perf(storage): SQL history index + prune without nested OFFSET (#428)
perf(sandbox): bound stderr carry to avoid O(n²) (#427)
perf(theme): incremental theme registry rescan (#425)
Build only the visible column window (plus overscan) with leading/trailing
spacers so wide result sets do not mount O(rows×cols) cells. Header stays
aligned with the body.

Closes #423
…alize

perf(ui): 2D virtualization for VirtualResultGrid (#423)
Pass the flag through to showGeneralDialog so ModalRoute DismissIntent
closes on Escape when dismissible; keep frosted backdrop tap handling.

Closes #446
ZhuchkaTriplesix and others added 14 commits July 27, 2026 21:23
Capture NavigatorState before await and pop loading even when the
host widget unmounts mid-fetch (extension + SQLite table views).

Closes #447
Match extension_stats: clear _loading when replaceIfChanged is a no-op.
Set error + stop spinner when connection is missing after load started.

Closes #448
Show PG/MySQL sidebar load errors with Retry; empty browse shows
empty-state + Retry; MySQL/SQLite toolbars scroll horizontally when narrow.

Closes #449
Closes #450
Closes #451
fix(ui): Escape dismisses showAppDialog (#446)
fix(ui): always pop DDL loading overlay (#447)
…clear

fix(ui): clear loading on stats/table early exits (#448)
Surface open/save SQL errors; scale title bar; Redis TTL banner;
blank stats Retry; key-editor mounted guards; ResultsTab error invariant.

Closes #452
Closes #453
Closes #454
Closes #455
Closes #456
Closes #457
fix(ui): tree errors, empty table state, scrollable toolbars
fix(ui): SQL toasts, chrome scale, Redis/Mongo empty states
Skip LIMIT rewriting inside SQL string/dollar quotes, delete partial
exports on failure, clear stale PG tree on error, queue theme watcher
refreshes while in flight, and clear Redis TYPE/TTL error on success.

Closes #464
Closes #465
Closes #466
Closes #467
Closes #468
Ship mistagged 0.4.11-a content (security #395#402, packaging #386)
plus perf #414, UI #445, and code-review #463. Bump pubspec and CHANGELOG.
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 27, 2026
Keep version 0.4.11-b over main auto-bump 0.4.12+.
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit e2b46a6 into main Jul 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant