147 lines
5.9 KiB
Markdown
147 lines
5.9 KiB
Markdown
# Changelog
|
|
|
|
This changelog is maintained from git history plus the published Gitea release series. Future releases should update this file and publish matching release notes on the release page.
|
|
|
|
## v0.8.0
|
|
|
|
Rich PhotoKit metadata and reverse-geocoded XMP release.
|
|
|
|
- Expand asset metadata from public PhotoKit fields: modification date, hidden state, media subtypes, source type, playback style, burst data, GPS coordinates, adjustment state, adjustment info, and richer resource metadata.
|
|
- Expand XMP sidecars with duration, hidden/adjustment state, modification date, structured media subtype/burst/resource lists, GPS coordinates, and adjustment metadata.
|
|
- Add opt-in `--reverse-geocode` using Apple reverse geocoding APIs to add address metadata for GPS assets.
|
|
- Cache reverse-geocode results under `.photoscli/geocode-cache.jsonl` so repeated exports do not repeatedly query Apple geocoding.
|
|
- Keep Vision/Core ML people, animal, object, and scene analysis out of this release; that remains future work.
|
|
|
|
## v0.7.0
|
|
|
|
XMP sidecar metadata release.
|
|
|
|
- Add `--sidecar none|xmp` with default `none`.
|
|
- Add config support for `sidecar = "xmp"`.
|
|
- Write XMP sidecars next to exported files using basename `.xmp` filenames.
|
|
- Include asset ID, filenames, album, manifest path, media type, dimensions, favorite state, cloud state, export mode, photoscli version, exported timestamp, size, and creation date in XMP.
|
|
- Write XMP files atomically.
|
|
- Treat sidecar write failure as asset failure when XMP sidecars are explicitly requested.
|
|
|
|
## v0.6.0
|
|
|
|
Backup integrity and recovery release.
|
|
|
|
- Add manifest-relative paths for exported files so tree backups can be verified accurately.
|
|
- Add SQLite manifest migration for the new `path` column.
|
|
- Upgrade `verify` to report missing files, zero-byte files, and size mismatches by default.
|
|
- Add atomic staging export writes with per-asset temporary directories before final rename.
|
|
- Deduplicate `failures.jsonl` entries by asset ID and track attempts plus latest failure time.
|
|
- Add `failures list` and `failures clear` commands.
|
|
- Add `retry-failed --clear-on-success`.
|
|
- Add `status` command with text and JSON output.
|
|
- Update release workflow to publish release notes from `RELEASE_NOTES.md`.
|
|
- Rename release zip assets to include `macos-arm64` and document Apple Silicon-only releases.
|
|
- Add `AGENT.md` with the minimal project/release rules for future agents.
|
|
- Keep `CHANGELOG.md` as the canonical release history.
|
|
|
|
## v0.5.0
|
|
|
|
Manifest, filtering, logging, and documentation release.
|
|
|
|
- Add JSONL and SQLite manifests with resumable skip tracking.
|
|
- Add automatic conversion between JSONL and SQLite manifests.
|
|
- Add structured export logging to `export.log` or SQLite `logs` table.
|
|
- Add explicit exit codes: success, error, partial failure, and access denied.
|
|
- Add `--quality` for JPEG preview compression.
|
|
- Add `--concurrency` with progress slot cap.
|
|
- Add `--exclude-album` with exact/glob matching.
|
|
- Add `--since` date filtering.
|
|
- Add `--dry-run`.
|
|
- Add `--retry`.
|
|
- Add `--only-favorites`.
|
|
- Add `--media photos|videos|all`.
|
|
- Add `--json` command summaries.
|
|
- Add `--verify` integration.
|
|
- Add `--format jpeg|heic|png` validation/hint.
|
|
- Add `--min-size` and `--max-size` estimated pixel-count filters.
|
|
- Add `--date-template` folder layout support.
|
|
- Add `report`, `diff`, `verify`, and `retry-failed` commands.
|
|
- Add failure tracking in `failures.jsonl`.
|
|
- Add config-file defaults via `~/.photoscli.toml` or `PHOTOSCLI_CONFIG`.
|
|
- Add album name collision handling for duplicate sibling album names.
|
|
- Expand `README.md` and verbose CLI help.
|
|
- Add 100% test coverage for the CLI and manifest/photos packages.
|
|
|
|
## v0.4.1
|
|
|
|
Documentation and release asset follow-up after v0.5.0.
|
|
|
|
- Add `USERGUIDE.md` as a practical end-user manual.
|
|
- Link the user guide from `README.md`.
|
|
- Add release zip packaging with binary, README, USERGUIDE, and CHANGELOG.
|
|
- Attach `USERGUIDE.md` and the macOS zip package to the `v0.5.0` release.
|
|
|
|
## v0.4.0
|
|
|
|
Progress and backup-all usability release.
|
|
|
|
- Add scroll log for completed exports: copied, downloaded, skipped, and failed.
|
|
- Add worker status lines with live download progress bars for cloud files.
|
|
- Add color-gradient progress bars from red to yellow to green.
|
|
- Add disk skip for files already present during `backup-all`.
|
|
- Add parallel export with multiple workers for `backup-all`.
|
|
- Increase progress slot support in the bridge.
|
|
- Improve progress rendering for large export sessions.
|
|
|
|
## v0.3.x
|
|
|
|
Published on Gitea as `v0.3.0` through `v0.3.5`. These releases are not represented by local git tags in the current clone, so the exact per-release commit mapping is unavailable here.
|
|
|
|
Known purpose of this series:
|
|
|
|
- Iterative release packaging and Gitea release workflow improvements.
|
|
- Continued progress display and backup/export polish between `v0.2.5` and `v0.4.0`.
|
|
- Preparation for the larger `v0.4.0` progress/backup release.
|
|
|
|
## v0.2.6
|
|
|
|
Published on Gitea but not represented by a local git tag in the current clone.
|
|
|
|
- Post-`v0.2.5` maintenance release in the progress/export series.
|
|
|
|
## v0.2.5
|
|
|
|
- Add Unicode progress bar rendering.
|
|
- Add cloud download speed display.
|
|
|
|
## v0.2.4
|
|
|
|
- Stop export loop on Ctrl+C instead of flooding failures.
|
|
- Improve graceful cancellation behavior after interrupt.
|
|
|
|
## v0.2.3
|
|
|
|
- Fix export write failures.
|
|
- Fix Ctrl+C cancellation behavior.
|
|
|
|
## v0.2.2
|
|
|
|
No local tag is present for this version in the current clone.
|
|
|
|
## v0.2.1
|
|
|
|
- Add status messages during export.
|
|
- Fix parallel export progress display.
|
|
|
|
## v0.2.0
|
|
|
|
- Add semaphore timeouts.
|
|
- Add export error logging.
|
|
- Remove dead code.
|
|
- Add parallel exports.
|
|
|
|
## Pre-release
|
|
|
|
- Initial `applephotos` CLI with progress, cloud status, and per-asset export.
|
|
- Add `.gitignore` and remove build artifacts from tracking.
|
|
- Rename `applephotos` to `photoscli`.
|
|
- Update module path to `gitea.k3s.k0.nu/tools/photocli`.
|
|
- Add version flag.
|
|
- Add Gitea release targets and release pipeline.
|