2338 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 3b4279fc24 FreeBSD CI: three more flaky tests made deterministic
import_reads_files_off_the_ui_thread_and_can_be_cancelled: the probe was
a 150 ms sleep judged by a 300 ms wall-clock frame budget, which the
loaded FreeBSD QEMU VM can miss. It now waits on the sleeping-NAS gate of
tests_offline, which can also let a counted number of reads through:
frames must go on while every read is held (a watchdog records a frame
that waited), one batch is let through and joins the catalog, then
Cancel and wake: the files being read finish and nothing new starts.

compare_at_one_to_one_gets_a_sharp_window_per_pane ("both originals stay
decoded"): the media cache takes its budget from the process-wide memory
budget, which settings_dialog_by_keyboard_and_clicks sets to 1 GB for a
moment (and left there when it failed on FreeBSD). That leaves a 512 MiB
share, too small for two 24 MP originals (288 MB each), so one pane's
was evicted. compare_at now gives its session the default 768 MiB share;
LIGHTCRAFT_MEMORY_MB=1024 reproduces the failure without this.

dropping_the_lock_frees_the_library_while_another_thread_spawns_processes:
"the spawning thread never got a child off the ground" when a spawn took
longer than the 2 s of lock cycles. The cycles now go on until at least
5 children were spawned during them (at most a minute).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:36:53 -04:00
Brandon ThomasandClaude Opus 5.5 16dbb90499 Release 0.8.0
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 09:34:55 -04:00
Brandon ThomasandClaude Opus 5.5 73c61aae44 FreeBSD CI: two flaky ui-egui tests made deterministic
settings_dialog_by_keyboard_and_clicks: the Performance tab's GPU status
hint reads process-wide GPU state, which other tests flip through
app.gpu. Without a GPU driver (the FreeBSD VM) the reason is a long wgpu
message that wraps to two lines, while "disabled by the GPU rendering
preference" is one, so the controls below moved by 20 px between the
frame that located "button:settingsMemory-2" and the frame that clicked
it. The status is now one truncated line with the full text on hover;
gpu_status_never_moves_the_performance_controls checks the buttons stay
put (it fails without the fix when no Vulkan driver loads).

offline_originals_never_block_a_frame: the slow NAS probe was a 400 ms
sleep judged by a 300 ms wall-clock frame budget, which a loaded QEMU VM
missed (1.06 s). The probe now waits on a gate the test opens; frames
must finish while it is closed (a watchdog records any frame that had to
wait), so no timing budget is needed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 09:21:04 -04:00
Brandon Thomas a4b53b28cc Merge pull request #1682 from storytold/claude/integrate-batch-35
Integration batch 35: 61 reviewed community PRs (never-crash, raw decode, imports, UI fixes)
2026-10-14 02:04:11 -04:00
Brandon ThomasandClaude Opus 5.5 180d400cdd Batch 35: one header line per tracker doc, one 2026-10-13 section in What's New, parity summary refreshed, rustfmt after merges
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 01:59:55 -04:00
Brandon Thomas 5fe332c7b4 Merge PR #1570 (updated head)
# Conflicts:
#	README.md
#	crates/raw/src/vendor/nef_lens.rs
#	docs/gaps.md
#	docs/nikon-lens-corrections.md
#	docs/parity-checklist.md
#	docs/raw-parity.md
#	docs/whats-new.md
2026-10-14 01:54:50 -04:00
Brandon Thomas 195fb9698b Merge PR #1427 (updated head)
# Conflicts:
#	docs/parity-checklist.md
2026-10-14 01:53:54 -04:00
Brandon ThomasandClaude Opus 5.5 a5989d6c0d Batch 35: #1132's cancel test takes the four-part fake import #1412 left
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 01:41:33 -04:00
Brandon Thomas 48b9a5e21f Merge PR #1132
# Conflicts:
#	crates/engine/src/lightroom_job.rs
2026-10-14 01:40:32 -04:00
Brandon Thomas 418f6255be Merge PR #1543
# Conflicts:
#	crates/engine/src/export.rs
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-14 01:40:03 -04:00
Brandon Thomas 9085eb4b23 Merge PR #1653
# Conflicts:
#	docs/parity-checklist.md
2026-10-14 01:39:50 -04:00
Brandon Thomas 694ce5b42b Merge PR #1537
# Conflicts:
#	docs/gaps.md
2026-10-14 01:39:50 -04:00
Brandon Thomas aa0f9a5666 Merge PR #1536
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-14 01:39:49 -04:00
Brandon Thomas 5e1213c963 Merge PR #1598 2026-10-14 01:39:06 -04:00
Brandon Thomas ea7f799607 Merge PR #1597 2026-10-14 01:39:05 -04:00
Brandon Thomas 71a43d55ce Merge PR #1661 2026-10-14 01:39:04 -04:00
Brandon Thomas 89b6a34595 Merge PR #1652 2026-10-14 01:39:04 -04:00
Brandon Thomas cc7179c560 Merge PR #1667
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:39:03 -04:00
Brandon Thomas 4fe0466942 Merge PR #1666
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:39:02 -04:00
Brandon Thomas e783f705dc Merge PR #1483 2026-10-14 01:39:00 -04:00
Brandon Thomas 35c4290d14 Merge PR #1477 2026-10-14 01:38:59 -04:00
Brandon Thomas 0a68a21e03 Merge PR #1459
# Conflicts:
#	crates/raw/tests/dng.rs
2026-10-14 01:38:59 -04:00
Brandon Thomas 61d96fc037 Merge PR #1655 2026-10-14 01:38:58 -04:00
Brandon Thomas 93bd81a480 Merge PR #1557
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:38:57 -04:00
Brandon Thomas 1dd41b1872 Merge PR #1550
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:38:56 -04:00
Brandon Thomas 4d0e11651a Merge PR #1546
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 01:38:55 -04:00
Brandon Thomas c8f1ecd4d3 Merge PR #1544 2026-10-14 01:38:54 -04:00
Brandon Thomas deb7831083 Merge PR #1542
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:38:53 -04:00
Brandon Thomas b54a2e9793 Merge PR #1541 2026-10-14 01:38:52 -04:00
Brandon Thomas 992e67188b Merge PR #1539
# Conflicts:
#	docs/whats-new.md
2026-10-14 01:38:51 -04:00
Brandon Thomas b18ce72b61 Merge PR #1535
# Conflicts:
#	crates/raw/src/vendor/pef.rs
2026-10-14 01:38:49 -04:00
Brandon Thomas 1c65549d10 Merge PR #1533
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 01:38:48 -04:00
Brandon ThomasandClaude Opus 5.5 9b7d2e6ae2 Batch 35: #1443's face-tile test passes the preview edge #1410 added
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 01:34:10 -04:00
Brandon Thomas 07f73c44da Merge PR #1443
# Conflicts:
#	crates/engine/src/files.rs
#	docs/raw-preview-reads.md
#	docs/whats-new.md
2026-10-14 01:29:30 -04:00
Brandon Thomas b4d5b47617 Merge PR #1453 (rebased onto main) 2026-10-14 01:27:32 -04:00
skybluu bcfda31678 Merge current main into DNG identity fix 2026-10-13 21:34:33 -05:00
skybluu 83a89ff271 Merge current main into source build guidance 2026-10-13 21:31:07 -05:00
sanyamsingh001andCodex 3489c45cf9 LR-MASK-OBJECTS: integrate model folder retry with pinned main baseline
Preserve model setup and retry behavior alongside the upstream folder
opening callback. Keep the Linux opener asynchronous.

Co-authored-by: Codex <[email protected]>
2026-10-14 02:19:43 +00:00
skybluu f12cf65ab7 LR-BUILD: document command-local low-memory release overrides (#1196) 2026-10-13 21:19:28 -05:00
skybluu ce607d5a49 LR-LIB-CONVERT: avoid duplicated DNG camera make (#840) 2026-10-13 21:13:51 -05:00
Marco Arnulfo aaf7f2cc47 Loupe: the filter pill sits as far from the left edge as from the top (fixes #1645) 2026-10-14 02:39:16 +02:00
eliets2 ddc347cc55 Reject non-finite denoise inputs and derived pixels 2026-10-14 02:11:50 +03:00
Marco Arnulfo 528a464740 Search: clearing the filters empties the search field too (fixes #1648) 2026-10-14 01:04:42 +02:00
eliets2 3ad5eadab2 LR-REM-HEAL: checkpoint zero-feather spot edge correction
Treat a zero-width feather transition as a hard edge so exact-radius pixels remain unchanged, including at zero opacity. Add actual image regressions for all spot modes, image corners and two clone output sizes.

Validation: both new regressions failed on the original implementation and pass here. Formatting, workspace Clippy, HEIF and a generated-photo app smoke test pass. The unfiltered workspace gate remains blocked by the existing all-masks overlay test tracked by #1599; later parity, layers, assets and WASM stages are pending. This is a source checkpoint, not a green release candidate.

Contributor: @eliets2
2026-10-14 00:51:56 +03:00
Navid Zaman Khan aa4e3ce822 fix(ui): propagate find-missing errors and timeouts 2026-10-13 22:45:47 +06:00
Michael Anderson 1ee751ebdf LR-EDIT-OPTICS-PROFILE: Apply Nikon's in-file distortion correction for the Z 6II, Z 8 and Z f
Read the polynomial, zoom and optical center offset from NikonNEFInfo.
2026-10-13 11:10:46 -05:00
Brandon Thomas d71e7d11c1 Merge PR #1429
# Conflicts:
#	crates/ui-egui/src/panels/left.rs
2026-10-13 11:52:08 -04:00
Brandon Thomas 93f8ee7c0d Merge PR #1427
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	docs/parity-checklist.md
2026-10-13 11:52:07 -04:00
Brandon Thomas ce3fad5a77 Merge PR #1567
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-13 11:52:01 -04:00
Brandon Thomas f478b000de Merge PR #1580 2026-10-13 11:51:51 -04:00