What's Changed
- Persistence: a failed save fails the command (change kept in memory, queued, retried) by @echelon in #82
- Local: forget untouched browse records of folders not browsed for 30 days by @echelon in #83
- Issue #78: GPU export: respect device limits, fall back to CPU on GPU errors by @echelon in #84
- Issue #10: Raw: Nikon compressed NEF (lossless + lossy) by @echelon in #86
- Docs: honest parity assessment — where we stand, where we're going by @echelon in #87
- Issue #85: Raw: CR2 colour pattern from the file's CR2CFAPattern tag, not a constant by @echelon in #88
- Ignore /target-*/ build dirs by @echelon in #89
- docs: point agents to the shared test corpora by @echelon in #90
- FreeBSD: build and test the workspace in a FreeBSD VM by @echelon in #91
- FreeBSD CI: match the shared template by @echelon in #108
- Metadata: gracefully ignore invalid Unicode timezone offsets by @storybored379 in #111
- Add Japanese menus and vertical Japanese text watermarks by @midasdf in #110
- Issue #93: Export: never overwrite an original; atomic writes by @echelon in #116
- Issue #106: Convert to DNG and smart previews: verified, atomic writes by @echelon in #117
- Issue #96: Import > Copy verifies each copy like Move by @echelon in #118
- Issue #98: thumbnail cache only lists, counts and deletes its own files by @echelon in #119
- Issue #95: Rename Photos: case-only renames never overwrite another file by @echelon in #120
- Issue #105: Rename Photos reports failed rollbacks; Find Missing matches by content by @echelon in #121
- Issue #92: Rename Photos copies a stem sidecar another file still shares by @echelon in #122
- Issue #92: XMP: merge into an existing sidecar instead of replacing it by @echelon in #123
- Issue #101: catalog.log: cut a partial append back before retrying by @echelon in #124
- Issue #102: Catalog format version 2; refuse newer libraries untouched by @echelon in #125
- Issue #99: Library: exclusive lock so two processes can't open one library by @echelon in #126
- Issue #100: Ask what to do when the library can't be opened, never a silent demo session by @echelon in #127
- Issue #103: Settings files: keep damaged ones, never overwrite unread ones, write ui.json atomically, confirm quit with unsaved changes by @echelon in #128
- Issue #94: Control: close the connection on malformed input by @echelon in #129
- Issue #97: Rename Folder / Move Folder are undo steps by @echelon in #130
- Issue #107: Web build: data-safety fixes for libraries kept in the browser by @echelon in #131
- Issue #104: keep file-system calls off the UI thread by @echelon in #132
- Extend Japanese localization across editing, import and export UI by @arata-1972 in #114
- Improve Sony ARW starting colour and tone, and preserve decoded source metadata by @arata-1972 in #115
- Windows packaging: Start Menu/Add-Remove icon, no console window, correct description by @echelon in #139
- Release: LightCraft v0.2.1 by @echelon in #140
New Contributors
- @midasdf made their first contribution in #110
- @arata-1972 made their first contribution in #114
Full Changelog: v0.2.0...v0.2.1