You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Fix#211: Execute only selected SQL text and strip SQLite comments (#213)
* feat(extensions): implement LocalExtensionRegistry (EXT-2) (#214)
- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest
* Test: Unit Tests for Extension Registry (EXT-4) (#215)
* 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
* Feat: Migrate Custom Themes to Extension Registry (EXT-3) (#216)
* 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
* test(settings): fix preferences appearance section widget test by mocking extensions dir and utilizing pumpAndSettle
* Fix TOCTOU, ID collisions, redundant scans, and remove legacy theme code (#221)
* chore(release): prepare release 0.4.7
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.4.7] - 2026-06-21
11
+
12
+
Local extension discovery and manifest foundation release. Git tag **`0.4.7`**.
13
+
14
+
### Added
15
+
16
+
-**Extension models (EXT-1)** — data models `ExtensionManifest` and `ExtensionType` to parse `manifest.json`.
17
+
-**Local scanner (EXT-2)** — `LocalExtensionRegistry` scans `~/.querya/extensions/` to find and load extension manifests.
18
+
-**Theme migration (EXT-3)** — migrated legacy custom themes to the new unified extension package format.
19
+
-**Unit tests (EXT-4)** — unit tests for manifest parsing, directory scanning, and registry cache logic.
20
+
21
+
### Fixed
22
+
23
+
-**Theme importing security** — resolved concurrent import TOCTOU filesystem races and theme ID collisions during migration, and cleaned up deprecated legacy import code.
24
+
-**Appearance Settings test** — resolved the preferences appearance section widget test failure by mocking the extensions directory.
content=content.replace("final hash = _contentHash(raw);\n final json = _decodeRoot(raw);", "final json = _decodeRoot(raw);")
15
+
content=content.replace("final hash = _contentHash(raw);\n final json = _decodeRoot(raw);", "final json = _decodeRoot(raw);") # Handle multiple occurrences if any
0 commit comments