Note
FreeBSD aarch64 is dropped from this release. We had to cut releases, and we cannot build this target within the 5-hour CI limit for any of the Craft apps, so we are dropping it for now. This is a known blocker, flagged for a future fix in storytold/craft-common-actions#39. FreeBSD x86_64 and every other platform are included.
What's Changed
- security: enforce HTTPS on curl downloads (SonarCloud S6506) by @dylanmtaylor in #2493
- Use chrono instead of hand-rolled UTC conversion by @dylanmtaylor in #2457
- Integration of 85 reviewed PRs (round 2) by @aiongg in #2515
- LR-IMP-LOCAL: Opening on Missing Photos no longer checks every original by @alexbystrow in #2024
- LR-META-XMP: reread embedded JPEG metadata by @sanyamsingh001 in #2042
- LR-VIEW-PHOTOGRID: the grid reads only the photos an import batch or an edit touched by @nledford in #2054
- LR-BEHAV-LOCALIZE: German catalog filled, 217 interface strings and 862 What's New lines (80% → 97%) by @helgehelge123 in #2066
- LRC-DEV-AUTOSYNC: sync HDR state while retaining per-photo tuning by @sanyamsingh001 in #2177
- LRC-DEV-AUTOSYNC: sync camera local tone Off by @sanyamsingh001 in #2208
- LR-EDIT-OPTICS-PROFILE: look up Nikon DSLR lenses by their lens specification by @nerdislb in #2217
- LR-META-XMP: fewer false "XMP adjustments were not imported" warnings for Lightroom raws by @mattsivak in #2257
- LR-IMP-PREVIEW-READ: thumbnails of Lightroom HDR/panorama DNGs develop from their reduced raw copies (38 s → 1 s) by @mattsivak in #2263
- Analyse a photo listed twice once in Assisted Culling by @Silvertree2010 in #2271
- i18n: Indonesian (id) interface language by @RevDonz in #2295
- test(ui): wait for menu registration and visible sync rows by @sanyamsingh001 in #2296
- LR-LIB-STACK: the filmstrip stack badge expands/collapses the stack; badges work on unselected stacks by @helgehelge123 in #2300
- LR-VIEW-PHOTOGRID: preserve embedded previews through priority changes and Undo by @sanyamsingh001 in #2304
- LR-CROP-RECT: a moved crop slides along a straightened photo's tilted edges (#2299) by @chordpli in #2306
- Fix trailing dot in All Metadata rational formatter by @Silvertree2010 in #2309
- #2267: the Before label stays in view when zoomed in (stacked on #2274) by @francoisgn in #2317
- Treat Unicode minus and dash characters as negative in parse_gps by @Silvertree2010 in #2336
- Fix parse_gps for hemisphere-letter-first coordinates without comma by @Silvertree2010 in #2341
- feat(guided): Guided Upright guides select, start on the press and drag their endpoints by @mahmatias in #2347
- LRC-LIB-LIBFOLDERS: the sidebar trees narrow their indent step before names are cut (#2298) by @helgehelge123 in #2349
- LRC-LIB-LIBFOLDERS: Synchronize Folder says a folder is up to date, with one Close by @nledford in #2366
- #2365: centre the search field on the window, not inside the bar's margins by @john01px2022 in #2371
- LR-EDIT-DETAIL-DENOISE: GPU denoise gives the right result on DX12 with NVIDIA Pascal by @insideTheFlux in #2380
- Smart album rules: + and − never cover a rule, and hovering a field doesn't wrap it by @RevDonz in #2385
- The Windows x64 installer is verified on Windows 11 by @insideTheFlux in #2386
- Crop: the spiral guide is complete at every aspect ratio by @Hamza0101 in #2400
- Keep file name when a redirect Location is query-only by @Silvertree2010 in #2404
- Remove dot segments when resolving redirect Locations by @Silvertree2010 in #2406
- Drop non-finite elevation values in the GPX parser by @Silvertree2010 in #2409
- Match URL schemes case-insensitively in Url::parse and Url::join by @Silvertree2010 in #2410
- Carry rounded GPS minutes into degrees in XMP writer by @Silvertree2010 in #2417
- PERF-SMART: File Path rules compare in place instead of building strings per photo by @nledford in #2420
- LR-IMP-ADD-DIALOG: preserve album hierarchy in Import Photos by @tylerphotos in #2425
- Keep file name and query for fragment-only redirect Location by @Silvertree2010 in #2431
- LR-EDIT-OPTICS-PROFILE: read Fujifilm's nine-knot lens tables at the plain radius by @JackalCOB in #2444
- Settings and Edit ▸ Language: list the languages alphabetically by their own name by @nikolainyegaard in #2449
- LRC-LIB-COMPARE: the Info panel labels the active photo while culling… by @Bruno-Alumn in #2450
- LR-MASK-OVERLAY: a new or picked mask shows its overlay again (#1800) by @Bruno-Alumn in #2451
- LR-PRE-PANEL: the applied preset stays marked on returning to the pho… by @Bruno-Alumn in #2452
- KEYC-PANELS: F8 shows and hides the right panel by @Bruno-Alumn in #2454
- Fix/strict ids params by @Bruno-Alumn in #2456
- LR-MERGE-HDR: merge warps sample Lanczos-3 instead of bilinear (1/3 of #1887) by @mattsivak in #2481
- LR-VIEW-ZOOM: a pinch holds the loupe's fit size, so it no longer renders at every zoom step by @nledford in #2499
- LR-IMP-FORMATS: decode table-less Nikon 34713 NEFs stored as packed 12/14-bit data by @radialmonster in #671
- LR-PROF-CAMERACOLOR: fit the tone curve of low-contrast scenes (range limit 1.5 to 1.2) by @AlexChambers in #699
- LR-IMP-FORMATS: decode Minolta MRW by @emmertex in #1040
- LR-IMP-FORMATS: folder import finds Sony SR2 and SRF files by @AlexChambers in #1165
- LRC-LIB-REFVIEW: fix Escape and catalog-local reference lifecycle by @skybluu in #1173
- Ignore hidden and empty masks when choosing develop planes. by @vbasky in #1258
- RW2: decode tiled format 8 (DC-S1RM2 high-resolution mode) (#1276) by @radialmonster in #1304
- Fix slider wheel edits after leaving and returning to the Edit panel by @skybluu in #1402
- Add a security policy by @s17sh70x2jfl031ag in #1450
- Issue #1449: Search Photos finds named people, and quotes keep a name together (steps 1 and 2) by @ArekatlaNishanthchowdary in #1468
- Add Vietnamese interface translation by @duydev in #1484
- LR-RAW-DNG: preserve lens corrections in the existing DNG tone-fit proxy by @radialmonster in #1545
- LR-PROF-CAMERACOLOR: near-black frames get a tone curve when no colour look fits (#1587) by @AlexChambers in #1616
- #1617: placeholder GPS block (NUL refs, 0/0 rationals) reads as no location by @AbdullahAboElHija in #1628
- KEY-SLIDER-TYPE: a long click keeps the value field open; drag the value to scrub by @emmertex in #1687
- LR-IMP-LOCAL: Record folders browsed from the sidebar as browsed by @endthestart in #1746
- engine: keep the decoder facts a smart preview's offline edits need by @midasmatterhorn in #1809
- i18n: Swedish (sv) interface translation by @kler in #1855
- LR-EXP-DIM: Width & Height limits each edge to its own number (#1620) by @wstock in #1861
- LR-EDIT-OPTICS-PROFILE: apply A7CR embedded distortion for corrected full-frame raws by @AlexChambers in #1901
- docs(support): explain the Remove tool workflow (#1756) by @Zaxaerith in #1909
- fix(render): identify source files in render-failure logs by @FredApps in #1913
- KEYC-RATING: backslash shows and hides the Filter Bar in the grids by @marcoarnulfo in #1917
- Context menus: a right-click elsewhere on the same widget moves its o… by @kurnothm in #1921
- Photo Merge: Merge a photo named twice only once (#1947) by @endthestart in #1959
- LRC-DEV-VIEWOPTIONS: View Options (Cmd+J) chooses the lines of the loupe's Info 1 and Info 2 by @marcoarnulfo in #1965
- crop.set refuses a crop smaller than the crop tool allows, instead of exporting 1×1 by @marcoarnulfo in #1968
- Tone: neutral display tone map is the identity up to white (#1945) by @switch87 in #1972
- GUM-3203: Stress-test previews against full-size renders by @ternarybits in #1977
- GPU: a lost device is not polled again, and a poll that panics fails the render (#1858) by @lincleejun in #1984
- Imported LUTs no longer leave a copy in the temp folder without a library on disk by @marcoarnulfo in #1985
- Control port: don't clone the connection's socket (Windows: launched programs kept it open) by @LochLogic in #1991
- KEY-CROP-SWAP: X in the crop tool swaps the aspect once (#1866) by @G6bill in #1997
- LR-EDIT-COLOR-TEMP: Kelvin white balance for the Nikon Z5II from built-in presets by @emmertex in #2006
- Kelvin white balance from Canon CR2 ColorData presets (PowerShot G1 X Mark III) by @emmertex in #2009
- #1952: expire idle control connections by @ronibalthazar in #2027
- fix(camera-profiles): invalidate cached renders after subsecond profile changes by @FooVoo in #2041
- LRC-LIB-LIBFOLDERS: Synchronize Folder says it is listing the folder instead of sitting at "0 of N" by @nledford in #2049
- docs: add Traditional Chinese (Taiwan) README by @wly-p in #2106
- i18n: add Finnish (fi) interface language by @roopeg in #2172
- README: the app icon above the title by @bflatastic in #2548
New Contributors
- @alexbystrow made their first contribution in #2024
- @nerdislb made their first contribution in #2217
- @RevDonz made their first contribution in #2295
- @insideTheFlux made their first contribution in #2380
- @tylerphotos made their first contribution in #2425
- @JackalCOB made their first contribution in #2444
- @nikolainyegaard made their first contribution in #2449
- @Bruno-Alumn made their first contribution in #2450
- @duydev made their first contribution in #1484
- @AbdullahAboElHija made their first contribution in #1628
- @kler made their first contribution in #1855
- @Zaxaerith made their first contribution in #1909
- @kurnothm made their first contribution in #1921
- @ternarybits made their first contribution in #1977
- @lincleejun made their first contribution in #1984
- @ronibalthazar made their first contribution in #2027
- @roopeg made their first contribution in #2172
Full Changelog: v0.11.0...v0.12.0