Skip to content

Release 0.4.9 - #265

Merged
ZhuchkaTriplesix merged 26 commits into
mainfrom
dev
Jul 10, 2026
Merged

Release 0.4.9#265
ZhuchkaTriplesix merged 26 commits into
mainfrom
dev

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

Release 0.4.9 — PostgreSQL connection reliability, TLS/SSL improvements, URI import, and About menu.

What's included

Release checklist

  • flutter pub get passes
  • flutter analyze passes
  • flutter test passes
  • CHANGELOG.md updated for 0.4.9
  • pubspec.yaml version bumped to 0.4.9+1

After merge, the next step will be to create an annotated git tag 0.4.9 to trigger the Release workflow.

ZhuchkaTriplesix and others added 26 commits June 21, 2026 13:21
- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest
* test(extensions): add unit tests for LocalExtensionRegistry (EXT-4)

- Mock ExtensionPaths.extensionsDirectory for testing
- Verify registry parses valid manifests
- Verify invalid manifests and plain files are ignored
- Verify registry cache logic

* fix(extensions): use flutter foundation for @VisibleForTesting instead of meta to satisfy linter
* fix(theme): use braces for multiline if statement

* fix(theme): fix theme registry migration unit tests and watcher path

* fix(theme): remove unused import theme_paths.dart
…king extensions dir and utilizing pumpAndSettle
* feat(menu): implement File -> New, Open..., Save actions via Intents/Actions

* refactor(menu): remove unnecessary widgets import in title bar
… (Issues #225, #226) (#232)

* feat(connection): implement connection actions and fix layout test hang

* feat(connection): implement Invalidate/Reconnect menu item

* feat: implement Connection -> Read-only mode for database connections

* fix ci
* docs(planning): add 0.4.8 milestone docs and bump version

* feat(ui): add Extension Manager View UI-EXT-1

* fix(ui): resolve flutter analyze errors in extension manager dialog
* feat(ui): add Extension Card Component UI-EXT-2

* fix(ui): use theme.card instead of theme.surface in extension card
)

* feat(ui): add Extension Card Component UI-EXT-2

* fix(ui): use theme.card instead of theme.surface in extension card

* feat(market): implement MarketplaceRepository with mock ecosystem and UI integration

* feat(storage): implement atomic updateConnection in LocalDb (#240)

* style: fix all lint warnings and analyzer suggestions (#240)
* feat(connections): implement New Connection from URL menu action (#228)

Wire the Connection menu item to a URI dialog that parses supported database
URLs into ConnectionRow and persists them through LocalDb.

* test(connections): cover URL connection parser and dialog (#228)

Add unit tests for URI parsing across supported drivers and widget tests for
the new connection dialog validation and submit flow.

* feat(ui): implement Help About and Documentation menu actions (#229)

Add an About dialog with app version, MIT license notice, and repository
link, and open project documentation in the browser via url_launcher.

* test(ui): cover About dialog and app links (#229)

Add widget tests for the About dialog and unit tests for canonical
documentation and repository URLs.
#249, #253, #254, #257, #258)

- Reject unsupported sslmode values (e.g. prefer, invalid) for PostgreSQL.
- Map disable → useSSL=false; require, verify-ca, verify-full → useSSL=true.
- Only store an explicit URI port; fall back to driver defaults when omitted.
- Keep host:port in display name when no database is present.
…llowing them (#250, #251, #252)

* fix(connections): validate PostgreSQL sslmode and map useSSL correctly (#249, #253, #254, #257, #258)

- Reject unsupported sslmode values (e.g. prefer, invalid) for PostgreSQL.
- Map disable → useSSL=false; require, verify-ca, verify-full → useSSL=true.
- Only store an explicit URI port; fall back to driver defaults when omitted.
- Keep host:port in display name when no database is present.

* fix(connections): surface PostgreSQL connection errors instead of swallowing them (#250, #251, #252)

- Return ({bool ok, String? error}) from PostgresConnection.testConnection so
  the form can show the real failure reason.
- Display the actual exception message in the connection tree instead of the
  static 'Error' label.
…255, #256, #259)

- Extract host and port from the connection URI so URI-only PostgreSQL rows
  show meaningful metadata in the sidebar.
- Throw PostgresConnectionException from connect() with original cause and
  stack trace preserved.
- Wrap unexpected factory failures in PostgresConnectionPool.acquire and
  rethrow typed PostgreSQL exceptions unchanged.
- Update tests for exception fields, typed connect errors, pool wrapping,
  and URI-derived display metadata.
#260)

Add optional file pickers for sslrootcert, sslcert, and sslkey. Paths are
stored in the connection URI (which is already persisted in the secure store),
and the URI is auto-generated when certificate paths are provided in host/port
mode. The certificate fields are also pre-populated from an existing URI.
- Bump version to 0.4.9+1
- Add [0.4.8] and [0.4.9] sections to CHANGELOG.md
Resolve conflicts for release 0.4.9:
- pubspec.yaml: keep 0.4.9+1
- CHANGELOG.md: keep 0.4.9 and 0.4.8 sections
- main_screen.dart: keep onNewDatabaseConnectionFromUrl callback
- querya_window_title_bar.dart: keep URL connection and About/Help imports
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit a9bc516 into main Jul 10, 2026
7 checks passed
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 12, 2026
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
Release 0.4.9
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