What's Changed
- fix(ui): eliminate preview flickering when hovering presets and profiles by @benlukka in https://github.com/storytold/lightcraft/pull/137
- Windows on ARM64: release builds, PE header check, install test on ARM64 hardware by @echelon in https://github.com/storytold/lightcraft/pull/141
- Issue [#134]: Exports: atomic without fsync; Copy import verifies against the probe hash by @echelon in https://github.com/storytold/lightcraft/pull/143
- Issue [#136]: Windows: use DX12 by default, honour WGPU_BACKEND, never let GPU init block startup by @echelon in https://github.com/storytold/lightcraft/pull/144
- Issue [#138]: DNG: apply the file's own camera-profile look (HueSatMap, LookTable, ToneCurve) by @echelon in https://github.com/storytold/lightcraft/pull/145
- Fonts: use craft-fonts as an optional build input; move the Japanese fonts out by @echelon in https://github.com/storytold/lightcraft/pull/149
- Tests: snapshot-determinism test asserts both runs settled by @echelon in https://github.com/storytold/lightcraft/pull/151
- Issue [#148]: Raw: read white balance, black level and crop of pre-2017 Sony ARWs by @echelon in https://github.com/storytold/lightcraft/pull/158
- Export: protect originals imported through differently named symlinks by @storybored379 in https://github.com/storytold/lightcraft/pull/152
- feat(ui): improve radial mask resizing and rotation by @kywk in https://github.com/storytold/lightcraft/pull/155
- Issue [#150]: Raw: NEF colour from the camera JPEG; 12-bit NEF black level by @treyreynolds in https://github.com/storytold/lightcraft/pull/165
- Restore from Recently Deleted; re-adding a deleted photo shows where it is by @cruzer45 in https://github.com/storytold/lightcraft/pull/177
- CR3: full-size preview and metadata from the container by @cruzer45 in https://github.com/storytold/lightcraft/pull/178
- docs: add star history chart to README by @coygeek in https://github.com/storytold/lightcraft/pull/179
- CLI: the connect hint names the port it actually tried (#167) by @itsmunzir in https://github.com/storytold/lightcraft/pull/192
- Faces: read face regions from XMP, show them in the loupe, and a People view by @voshart in https://github.com/storytold/lightcraft/pull/170
- LR-BEHAV-LOCALIZE: a language table, Simplified Chinese, and per-script font fallback by @lzjtugjc in https://github.com/storytold/lightcraft/pull/184
- M16: add Traditional Chinese UI, menus and stock preset localization by @sakamoto824 in https://github.com/storytold/lightcraft/pull/198
- LR-PROF-CAMERACOLOR: camera-look hue table, chroma curve and per-model camera profiles by @haraldh in https://github.com/storytold/lightcraft/pull/201
- LR-PROF-CAMERACOLOR: built-in ILCE-7M4 camera profile by @haraldh in https://github.com/storytold/lightcraft/pull/202
- M12: SAM 3 Object and Describe masks (pure Rust, Metal) by @GuintherKovalski in https://github.com/storytold/lightcraft/pull/162
- Rename PrintCraft to PdfCraft by @echelon in https://github.com/storytold/lightcraft/pull/219
- Tests: fix three FreeBSD-flaky headless UI tests by @echelon in https://github.com/storytold/lightcraft/pull/199
- M16.1: complete navigation arrowheads by @MusseJusse in https://github.com/storytold/lightcraft/pull/221
- Smart albums: File Path rule field by @nledford in https://github.com/storytold/lightcraft/pull/239
- Library: switching libraries no longer shows the old library's sidebar by @nledford in https://github.com/storytold/lightcraft/pull/225
- Sidebar: collapsible Albums, Local, By Date and Keywords sections by @nledford in https://github.com/storytold/lightcraft/pull/242
- Library: Random sort with a stable seed and Reshuffle by @nledford in https://github.com/storytold/lightcraft/pull/217
- Export: clear error when there's no export folder (instead of "Access is denied") by @DWAA1660 in https://github.com/storytold/lightcraft/pull/238
- Docs: fix release, sibling, and command references by @agorevski in https://github.com/storytold/lightcraft/pull/241
- Build: resolve a relative CRAFT_FONTS_DIR against the workspace root by @Ndsanes in https://github.com/storytold/lightcraft/pull/222
- i18n: add Brazilian Portuguese (pt-br) UI translation by @RicSchonfelder in https://github.com/storytold/lightcraft/pull/228
- LR-BEHAV-LOCALIZE: fill the zh-hans catalog to match zh-hant by @Ndsanes in https://github.com/storytold/lightcraft/pull/223
- Tests: pass on Windows (path separators, temp folder inside home, one GPU edge pixel) by @voshart in https://github.com/storytold/lightcraft/pull/207
- Issue [#212]: Raw: keep vendor white balance when writing DNG by @Gremiger in https://github.com/storytold/lightcraft/pull/235
- LR-IMP-FORMATS: Panasonic RW2 / Leica RWL / Panasonic RAW in every raw format, with the RW2 camera look by @XRTce in https://github.com/storytold/lightcraft/pull/215
- Fetch: the model downloader becomes its own crate (no behaviour change) by @voshart in https://github.com/storytold/lightcraft/pull/210
- Packaging: add a Nix flake (nix build / nix develop) by @anarion80 in https://github.com/storytold/lightcraft/pull/206
- Decode Sony downsized lossless ARWs (4:2:0 / 4:2:2) by @bogusyogi in https://github.com/storytold/lightcraft/pull/213
- Thumbnails: faster requests, reject stale preview work (+ bundled fixes split out) by @radialmonster in https://github.com/storytold/lightcraft/pull/243
- GPU: faster warp coverage mask, warp formulas written once (depends on [#243]) by @radialmonster in https://github.com/storytold/lightcraft/pull/246
- Web: time raw preview decodes with web_time so wasm doesn't panic by @andrewyao in https://github.com/storytold/lightcraft/pull/248
- CI: pick build jobs from available RAM, not installed RAM by @radialmonster in https://github.com/storytold/lightcraft/pull/249
- About: contributor and model credits compiled in (grab bag + table, self-submitted names) by @echelon in https://github.com/storytold/lightcraft/pull/252
- Release: FreeBSD, Flatpak x86_64/aarch64, AppImage zsync updates; README Downloads by @echelon in https://github.com/storytold/lightcraft/pull/302
- README Downloads: where to get it, then builds (Windows first) by @echelon in https://github.com/storytold/lightcraft/pull/306
New Contributors
- @benlukka made their first contribution in https://github.com/storytold/lightcraft/pull/137
- @kywk made their first contribution in https://github.com/storytold/lightcraft/pull/155
- @treyreynolds made their first contribution in https://github.com/storytold/lightcraft/pull/165
- @cruzer45 made their first contribution in https://github.com/storytold/lightcraft/pull/177
- @coygeek made their first contribution in https://github.com/storytold/lightcraft/pull/179
- @itsmunzir made their first contribution in https://github.com/storytold/lightcraft/pull/192
- @voshart made their first contribution in https://github.com/storytold/lightcraft/pull/170
- @lzjtugjc made their first contribution in https://github.com/storytold/lightcraft/pull/184
- @sakamoto824 made their first contribution in https://github.com/storytold/lightcraft/pull/198
- @haraldh made their first contribution in https://github.com/storytold/lightcraft/pull/201
- @GuintherKovalski made their first contribution in https://github.com/storytold/lightcraft/pull/162
- @MusseJusse made their first contribution in https://github.com/storytold/lightcraft/pull/221
- @nledford made their first contribution in https://github.com/storytold/lightcraft/pull/239
- @DWAA1660 made their first contribution in https://github.com/storytold/lightcraft/pull/238
- @agorevski made their first contribution in https://github.com/storytold/lightcraft/pull/241
- @Ndsanes made their first contribution in https://github.com/storytold/lightcraft/pull/222
- @RicSchonfelder made their first contribution in https://github.com/storytold/lightcraft/pull/228
- @Gremiger made their first contribution in https://github.com/storytold/lightcraft/pull/235
- @XRTce made their first contribution in https://github.com/storytold/lightcraft/pull/215
- @anarion80 made their first contribution in https://github.com/storytold/lightcraft/pull/206
- @bogusyogi made their first contribution in https://github.com/storytold/lightcraft/pull/213
- @radialmonster made their first contribution in https://github.com/storytold/lightcraft/pull/243
- @andrewyao made their first contribution in https://github.com/storytold/lightcraft/pull/248
Full Changelog: https://github.com/storytold/lightcraft/compare/v0.2.1...v0.4.0