github storytold/lightcraft v0.14.0
LightCraft v0.14.0

3 hours ago

What's Changed

  • fix: document the deliberate buffer leak during thread teardown (SonarCloud) by @dylanmtaylor in #2700
  • packaging: bash tests, named positional parameters and stderr errors (SonarCloud S7688/S7679/S7682/S7677) by @dylanmtaylor in #2655
  • Packaging: pin the signing client and appimagetool, and check their hashes by @aiongg in #2413
  • CI: one test binary per crate, line tables only, one WASM check by @aiongg in #2710
  • coverage: keep the body scan linear and build the zero counter with dict.fromkeys (SonarCloud S8786/S7519) by @dylanmtaylor in #2713
  • CI: shared gate workflow; FreeBSD nightly and on release by @aiongg in #2667
  • Catalog import: resolve catalog paths with craft-docpath's resolve_absolute by @aiongg in #2412
  • i18n: missing translations are reported, never a failure by @aiongg in #2729
  • ci(sonar): stop cancelling main-branch runs so coverage is published by @dylanmtaylor in #2737
  • Integration batch 43: 21 community PRs by @echelon in #2744
  • Show an empty view when Find Similar has no matches by @Silvertree2010 in #2109
  • Masking: outline every visible mask when the all-masks overlay is on by @csy2006 in #2210
  • LR-META-XMP: Preserve foreign namespace collisions by @ronibalthazar in #2526
  • Read embedded metadata from PSD and PSB files by @ronibalthazar in #2546
  • Library lock: Don't write through a link at the owner note's name by @Matoo125 in #2596
  • Find Missing Photos matches Windows paths by file name on macOS and Linux by @clydecbrown in #2618
  • MENU-BAR: the native menu really gives its keys up to a text field and to shortcut recording on macOS by @nledford in #2621
  • docs: add gap 30 — multi-select metadata editing UI by @sylvainv in #2622
  • view.maskOverlayColor refuses signed hex digits by @clydecbrown in #2626
  • Regression test for #49 by @skylartaylor in #2630
  • lightcraft-cli commands: list commands sorted by id by @clydecbrown in #2665
  • LR-CROP-AUTO: Auto straighten turns by at most 10° on at least 3 lines, and says when it finds nothing by @ingolfteetz in #2688
  • LR-META-LOCATION: the command sweep no longer starts a GeoNames download by @nledford in #2702
  • LR-LIB-FILTER: Cmd+L / Ctrl+L (View > Enable Filters) switches the library filter off and on again as it was by @marcoarnulfo in #2709
  • LR-BEHAV-ACCESS: Tab leaves the name field of New Album, New Smart Album and the name prompts by @nledford in #2727
  • Take photos removed by Synchronize Folder out of their stacks by @Silvertree2010 in #2543
  • Corpus tests: Z 8 / Z 6II profile tests pair through the lens warp; Hasselblad TIFF previews pass by @francoisgn in #2620
  • perf(pipeline): Highlights/Shadows median about 2× faster on the CPU, bit for bit the same by @nicolasfalesy in #2694
  • LR-IMP-ADD-DIALOG: the import-selection test holds the import until the photo is chosen by @nledford in #2612
  • Colour-range mask: cap the number of samples from automation by @Matoo125 in #2670
  • Fix smart album gte/lte rules missing equal f-number and focal length by @Silvertree2010 in #2728
  • security: bounded keyword, repair and journal-recovery work (CodeRabbit) by @dylanmtaylor in #2763
  • security: bound codec allocation to what a hostile file declares by @dylanmtaylor in #2769
  • security: harden dev-tool scripts and the testkit skip-log test (CodeRabbit) by @dylanmtaylor in #2760
  • Round 3a integration: 42 PRs of #2580, built and tested locally by @francoisgn in #2689
  • LR-EDIT-COLOR-GRADING: a wheel drag holds the pointer and puts it back where it was pressed (#1899) by @marcoarnulfo in #1979
  • #1944: keyword.export refuses library originals and writes durably by @G6bill in #2015
  • Export: add Thai glyph fallback only (#2052, partial) by @AlexChambers in #2072
  • LR-BEHAV-BG-TASKS: one progress bar, spinner and busy button by @nledford in #2077
  • MENU-BAR: menu switches are named for what they show, and no two commands share a name by @nledford in #2195
  • LR-IMP-DRAGDROP: files dragged over the window show what a drop will do, and a drop opens the import review by @nledford in #2205
  • LR-LIB-CULL: adjustable burst gap and similarity in Assisted Culling (#2275) by @helgehelge123 in #2279
  • Gap 9: cargo xtask ci on every PR (Linux x64); ci --quick; one local ci at a time by @mattsivak in #2302
  • #2312: culling goes on from a photo rated out of the view by @alvarogonjim in #2327
  • PERF-SMART: count every smart album once per pass, not once per album that tests it by @nledford in #2422
  • LRC-LIB-SMARTCOLL: the move engine for reordering smart album rules by @nledford in #2424
  • fix(web): import picker accept list misses many raw formats by @joblonfk001 in #2430
  • Web: the page title names the open photo and unsaved changes (#2397) by @Bruno-Alumn in #2453
  • Web: lightcraft.command refuses params that aren't a JSON object by @Bruno-Alumn in #2455
  • Print: Japanese photo and postcard paper sizes (L判・2L・KG・はがき) by @midasdf in #2468
  • LR-MERGE-HDR: full-size alignment refinement and local alignment (2/3 of #1887) by @mattsivak in #2482
  • LR-VIEW-INFOOVERLAY: the info overlay clears the macOS window controls and shows the rating and flag (#2460) by @chordpli in #2501
  • LRC-LIB-IMPORT: month names in date templates (%B January, %b Jan) by @bdebyl in #2502
  • LRC-LIB-MISSING: the availability worker sweeps a list of files at low priority and gives way to file work by @nledford in #2503
  • Edit Capture Time leaves a capture time it can't fully read as it was by @clydecbrown in #2506
  • docs: fix four dead links in README.zh-hans.md by @IgnatAi401 in #2507
  • KEY-GRID: show the cycle shortcut in the View menu (#2500) by @tylerphotos in #2513
  • Make control-server timeout tests independent of client rescheduling by @AlexChambers in #2541
  • Write exact 1/N EXIF ExposureTime for fast shutter speeds by @Silvertree2010 in #2542
  • Dehaze no longer crushes dark pixels next to bright ones (#2504), split from #2174 by @francoisgn in #2550
  • i18n(fr): native-speaker review of key terms (gap 21) by @francoisgn in #2593
  • LRC-LIB-CATALOG-IMPORT: ask whether a Lightroom catalog merges into the open library or gets a new one (#2672) by @francoisgn in #2685
  • LRC-LIB-CATALOG-SWITCH: choose what opens at launch, the last library or a list of recent ones (#1290) by @francoisgn in #2701
  • LR-VIEW-ZOOM: diagnostic overlays render zoom windows; soft proofing on the GPU (stacked on #1027) by @emmertex in #1074
  • LR-PREF-GENERAL: the Settings window is one size on every tab, and nothing in it runs off the side by @nledford in #1287
  • Help ▸ Debug ▸ Show Frame Rate: a frame-rate display for watching drags and zooms by @mattsivak in #1313
  • Issue #1184: a pull request template by @nledford in #1385
  • Edit in PhotoCraft: say why it didn't open; find PhotoCraft on macOS and Linux by @emmertex in #1417
  • Bump quick-xml to 0.41 (RUSTSEC-2026-0194, RUSTSEC-2026-0195) by @natocool2 in #1464
  • Fix graphic watermark aspect/orientation and HDR JPEG file-size limits by @nevicia2010-hub in #1499
  • LRC-LIB-KEYWORDS: the Keyword List marks a keyword that has an applied keyword inside it by @nledford in #1603
  • fix(gpu): no popup when renderer falls back from DX12 at probe (#1624) by @mjohnson7cd in #1644
  • i18n(pl): finish the format messages, counts right for every number, test and notes by @lewandowskit in #1846
  • Workspace rust-version is 1.95, what the workspace needs (#1841) by @wstock in #1859
  • LR-MERGE-HDR: click the merge preview to zoom in, drag to pan by @mattsivak in #1878
  • LR-BEHAV-DIALOGS: optionally close a dialog by clicking outside it by @Ketbome in #1914
  • LR-VIEW-ZOOM: a middle-button drag pans the photo whatever tool is active by @Ketbome in #1922
  • GUM-3201: Reduce guided-filter coefficient allocations by @ternarybits in #1976
  • LR-LIB-RATING: one shared star rating for every rating on screen by @nledford in #2076
  • Contributors: add my name for the About window by @valenfys in #2255
  • feat(shortcuts): Lock Aspect Ratio as a listed row on A by @mahmatias in #2345
  • Integration batch 44: 11 community PRs by @echelon in #2814
  • LR-IMP-FORMATS: decode Nikon small raw (sRAW) NEFs as 4:2:2 luma/chroma by @radialmonster in #673
  • LRC-LIB-LIBFOLDERS: catalog queries and streamed file hashing for locating a folder (part 1 of 3) by @nledford in #1122
  • Tone Curve: draw the parametric curve from the renderer's own model, and let it be dragged by @deunderscorepaul in #1956
  • Histogram: drag its tonal zones to adjust the Basic tones by @deunderscorepaul in #2011
  • LR-FILT-LABEL: the label chip and filter bar show what label and labels let through together, not their union by @marcoarnulfo in #2699
  • Reject fractional and out-of-range ratings in photo.rate by @Silvertree2010 in #2755
  • LR-VIEW-PHOTOGRID: an op that fails leaves no touched photos behind in the catalog by @nledford in #2761
  • LRC-LIB-FILTERBAR: showing an album drops the album the filter held by @nledford in #2762
  • Fix relative-date view and source-count cache expiry by @ronibalthazar in #2775
  • Forget Local records directly in drive and share roots by @Silvertree2010 in #2788
  • i18n(de): review the German interface strings and formats messages by @Enthendor in #2800
  • Integration batch: 10 community PRs (slideshow, print templates, View Options, Info panel, keyword and metadata keys) by @aiongg in #2876
  • Tests: the launch-list read-only test compares a held lock file without reading it (Windows) by @dotCooCoo in #2816
  • KEYC-METADATA: Cmd+Alt+Shift+C / V copy and paste metadata by @dotCooCoo in #2824
  • LR-PREF-SHORTCUTS: a declared shortcut yields to a key the saved keymap gives another command by @dotCooCoo in #2832
  • KEYC-METADATA: Alt+0 / Alt+Shift+0 go to the next / previous keyword set by @dotCooCoo in #2846
  • KEYC-METADATA: Cmd+K / Ctrl+K puts the cursor in the Add keyword box by @dotCooCoo in #2870
  • LRC-PRINT-TEMPLATES: print templates export to a file and import from one by @dotCooCoo in #2778
  • LRC-SS-PLAYBACK: a manual slideshow waits for the arrow keys by @dotCooCoo in #2786
  • LRC-DEV-VIEWOPTIONS: the info overlay can show briefly when the photo changes by @dotCooCoo in #2790
  • LRC-DEV-VIEWOPTIONS: View Options can turn off the loupe's "Rendering…" message by @dotCooCoo in #2792
  • LR-META-INFO: the Info panel can show metadata for the selected photos by @dotCooCoo in #2810
  • Info panel Target Photo edits, Add Keywords cursor request and Fixed keys follow-ups by @aiongg in #2889

New Contributors

Full Changelog: v0.13.0...v0.14.0

Don't miss a new lightcraft release

NewReleases is sending notifications on new releases.