v0.10.0: ports and adapters refactor
- Extract shared manifest types into internal/manifest/types leaf package. - Extract SQLite adapter into internal/manifest/sqlite. - Extract JSONL adapter into internal/manifest/jsonl. - Isolate modernc.org/sqlite import to sqlite/adapter.go. - Add adapter-backed registry with manifest.Default. - Adapter-agnostic ConvertManifest in types/. - MemoryAdapter for in-memory manifest testing. - CLI uses manifest.Default registry directly. - SQLite LogWriter type assertion moved into SQLiteAdapter. - Manifest interface includes Entries(); EntryReader removed. - No behavior changes. 100% coverage across all 6 packages.
This commit is contained in:
+14
-7
@@ -1,18 +1,25 @@
|
||||
# v0.9.4
|
||||
# v0.10.0
|
||||
|
||||
This release adds `doctor` diagnostics for Photos access and backups.
|
||||
Ports and adapters refactor. No user-visible changes.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Add `doctor` to check Photos access.
|
||||
- Add `doctor --out <dir>` to report backup directory, manifest entries, and failure count.
|
||||
- Add `doctor --json` for scriptable diagnostics.
|
||||
- `doctor` is read-only and does not modify backup data.
|
||||
- Extract manifest types, registry, and conversion logic into `internal/manifest/types`.
|
||||
- Extract SQLite adapter into `internal/manifest/sqlite` with its own store, adapter, and log writer.
|
||||
- Extract JSONL adapter into `internal/manifest/jsonl` with its own store and adapter.
|
||||
- Isolate `modernc.org/sqlite` import to the SQLite adapter package only.
|
||||
- Replace central `Open`/`ParseFormat`/`OpenLogWriter` with adapter-backed registry.
|
||||
- Adapter-agnostic manifest conversion via `ConvertManifest`.
|
||||
- SQLite log writer selection moved from central code into `SQLiteAdapter`.
|
||||
- CLI uses `manifest.Default` registry; no direct references to concrete JSONL or SQLite types.
|
||||
- `MemoryAdapter` available for in-memory manifest tests.
|
||||
- 100% statement coverage across all 6 packages.
|
||||
- No behavior changes.
|
||||
|
||||
## Assets
|
||||
|
||||
- `photoscli`: Apple Silicon macOS binary (`darwin/arm64`).
|
||||
- `photoscli-0.9.4-macos-arm64.zip`: Apple Silicon binary plus README, USERGUIDE, and CHANGELOG.
|
||||
- `photoscli-0.10.0-macos-arm64.zip`: Apple Silicon binary plus README, USERGUIDE, and CHANGELOG.
|
||||
- `USERGUIDE.md`: standalone user guide.
|
||||
|
||||
Intel Macs are not currently a supported release target.
|
||||
|
||||
Reference in New Issue
Block a user