Files
photocli/CHANGELOG.md
T
Ein Anderssono 9cd702628d
pipeline / test (push) Has been cancelled
pipeline / build (push) Has been cancelled
v0.8.1: improve XMP sidecars
2026-06-15 01:36:04 +02:00

157 lines
6.3 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.1
XMP standards and sidecar verification release.
- Add XMP schema version metadata for generated sidecars.
- Add standard XMP fields for rating, metadata date, creation date, Photoshop date created, and EXIF GPS coordinates.
- Add `dc:subject` keywords from album/folder context.
- Add sidecar generator and generated timestamp metadata.
- Add `verify --sidecar` to check missing, zero-byte, unreadable, and asset-ID mismatched XMP sidecars.
## 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.