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