# 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.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`. - 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.