From 4fe4c15adf4db38978806f3161d31095b3738d77 Mon Sep 17 00:00:00 2001 From: Ein Anderssono Date: Mon, 15 Jun 2026 00:57:13 +0200 Subject: [PATCH] v0.7.0: add XMP sidecars --- AGENT.md | 1 + CHANGELOG.md | 11 +++ Makefile | 2 +- README.md | 19 ++++ RELEASE_NOTES.md | 27 ++---- USERGUIDE.md | 21 ++++ cmd/photoscli/main.go | 162 ++++++++++++++++++++++++++++++- cmd/photoscli/main_test.go | 193 +++++++++++++++++++++++++++++++++++++ 8 files changed, 413 insertions(+), 23 deletions(-) diff --git a/AGENT.md b/AGENT.md index 387bc60..b507f2a 100644 --- a/AGENT.md +++ b/AGENT.md @@ -11,4 +11,5 @@ - Keep README concise; put practical user workflows in `USERGUIDE.md`. - Manifest backends: JSONL default, SQLite optional via `modernc.org/sqlite`. - Preserve manifest compatibility and migration behavior. +- XMP sidecars are opt-in via `--sidecar xmp`; default must remain `none`. - Do not commit generated artifacts from `bin/` or coverage files. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e73289..fa80c9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ 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.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. diff --git a/Makefile b/Makefile index dd187df..0a3359f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BINARY := ./bin/photoscli MODULE := gitea.k3s.k0.nu/tools/photocli -VERSION := 0.6.0 +VERSION := 0.7.0 RELEASE_ZIP := ./bin/photoscli-$(VERSION)-macos-arm64.zip RELEASE_NOTES := RELEASE_NOTES.md BRIDGE_DIR := bridge diff --git a/README.md b/README.md index 188f216..c13aab3 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ For a practical step-by-step manual with recommended backup workflows, recovery - Deduplicated failure management with `failures list`, `failures clear`, and `retry-failed --clear-on-success`. - Verification, reporting, and diff commands for backup integrity. - Status command for quick backup summaries. +- Opt-in XMP sidecar metadata with `--sidecar xmp`. - Script-friendly exit codes and optional JSON summaries. - 100% test coverage for the Go CLI and parsing layers. @@ -276,6 +277,7 @@ Common flags for `export` and `backup-all`: - `--min-size `: filter by estimated pixel count. - `--max-size `: filter by estimated pixel count. - `--format jpeg|heic|png`: preview format hint. Current bridge output is still the existing preview path; non-JPEG bridge output is future work. +- `--sidecar none|xmp`: write opt-in XMP metadata sidecars next to exported files. - `--date-template