Release 0.4.9 - #265
Merged
Merged
Conversation
- 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
* 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release 0.4.9 — PostgreSQL connection reliability, TLS/SSL improvements, URI import, and About menu.
What's included
sslrootcert,sslcert,sslkeypaths.sslmodevalidation, correctuseSSLmapping, default ports, and display host/port for URI-only connections.testConnection, connection forms, and sidebar.PostgresConnectionExceptionwith cause and stack trace.Release checklist
flutter pub getpassesflutter analyzepassesflutter testpassesCHANGELOG.mdupdated for0.4.9pubspec.yamlversion bumped to0.4.9+1After merge, the next step will be to create an annotated git tag
0.4.9to trigger the Release workflow.