Commit Graph
100 Commits
Author SHA1 Message Date
Claude 44f86dc855 LRC-LIB-FOLDERS: drop an unused import (#947 follow-up)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:33:07 +00:00
Claude 47b5e0ae1b Batch 30: cargo fmt over the merged PRs
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:32:03 +00:00
Claude 8df1ad0392 Merge main (batch 26 landed) 2026-10-11 12:31:18 +00:00
Claude 37b26c56a3 Merge batch 29b (#946, #947, #953, #950)
# Conflicts:
#	Cargo.toml
#	crates/engine/src/rename.rs
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/icons.rs
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/menubar.rs
#	crates/ui-egui/src/menus.rs
#	crates/ui-egui/src/panels/left.rs
#	docs/whats-new.md
2026-10-11 12:08:44 +00:00
Claude d761e1b231 LR-PREF-INTERFACE: sort the test module list after merging #950 (rustfmt)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:07:17 +00:00
Claude 155ad70c6e LR-PREF-INTERFACE: French and Ukrainian appearance strings (modes, themes)
PR #950 gave fr and uk only the three favourites strings; add the thirteen
Appearance Mode / theme strings the other locales got, translated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:06:54 +00:00
Claude 10ebeccdc8 Merge PR #950
# Conflicts:
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/panels/dialogs.rs
#	crates/ui-egui/src/state.rs
#	docs/parity-checklist.md
2026-10-11 12:06:31 +00:00
Claude 2e5a9f92ca LR-EXP-PSD: settings path fields use TextField; Windows default editor via Explorer; PackBits encoder without indexing
- Settings ▸ General ▸ External Editing: the PhotoCraft location and Other editor
  fields move from egui::TextEdit to TextField (edit menu, Esc restores).
- Edit In with the system default on Windows starts explorer.exe with the file
  as one argument instead of cmd /C start, which read & ^ % | in file names as
  shell syntax.
- psd::packbits walks the row with first()/get()/split_at_checked instead of
  direct indexing and slicing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:05:13 +00:00
Claude acdfa08f00 Merge branch 'claude/fix-922-denoise-toggle'
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:04:31 +00:00
Claude b89fb8bbab Merge branch 'claude/fix-942-cube-import-messages'
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:04:31 +00:00
Claude e6af53d46c LR-EDIT-DETAIL-DENOISE: a remote denoise tile with values that aren't finite fails, and runs on this computer instead (follow-up to #813)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:04:23 +00:00
Claude d1e20f0292 LR-BEHAV-LOCALIZE: the Latin-only test face has a neutral name (follow-up to #750)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:04:23 +00:00
Claude b04c2c831c LR-CLOUD-SMARTPREVIEW: the shard folder name is taken with get(), not a slice (follow-up to #834)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:04:23 +00:00
Claude e1016acc0f Merge PR #953
# Conflicts:
#	crates/codecs/src/lib.rs
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-11 12:03:58 +00:00
Claude 8c4898ec04 Merge PR #645
# Conflicts:
#	crates/engine/src/media.rs
#	crates/pipeline/src/finish.rs
#	crates/pipeline/src/local.rs
2026-10-11 12:03:53 +00:00
Claude 59011d114f Merge PR #617
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:03:31 +00:00
Claude f7ffa1433c Issue #947: compare a cross-volume move's copy in 1 MiB chunks; Move to Folder… uses the shared folder picker
move_across_volumes read both whole files into memory to compare them; it now
compares lengths first, then streams 1 MiB chunks. The grid's Move to Folder…
asks through pick::ask (background dialog where the host has one) like the
other folder pickers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:03:29 +00:00
Claude 33686e6951 Merge PR #734
# Conflicts:
#	ROADMAP.md
#	crates/engine/src/media.rs
#	crates/raw/tests/corpus.rs
#	docs/parity-checklist.md
2026-10-11 12:03:15 +00:00
Claude 45a6a42ebf Merge PR #947
# Conflicts:
#	crates/ui-egui/locales/de-formats.json
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es-formats.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr-formats.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja-formats.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br-formats.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru-formats.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk-formats.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans-formats.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant-formats.json
#	crates/ui-egui/locales/zh-hant.json
2026-10-11 12:02:51 +00:00
Claude a0e422ce4a Merge PR #752
# Conflicts:
#	crates/engine/src/cmd/develop.rs
#	crates/engine/src/files.rs
#	docs/mcp.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-11 12:02:46 +00:00
Claude 56a62f6d8b LRC-LIB-CATALOG-SWITCH: a failed library switch keeps the current library open; library names valid on Windows
Check the target (Lightroom catalog, file, unreadable folder, locked by another
program) with Session::check_library before closing the open library, and if
opening still fails, reopen the previous one (both errors reported if that fails
too). New Library names reject Windows-reserved characters and trailing dots.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:02:43 +00:00
Claude 6b22c5ca25 Merge PR #789
# Conflicts:
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/control.rs
#	crates/ui-egui/src/panels/left.rs
#	docs/parity-checklist.md
2026-10-11 12:02:10 +00:00
Claude c53b61732d Merge PR #738
On merge: the XWayland default goes in front of the catch_unwind-wrapped launch (#951), and the
README's Linux section names the LIGHTCRAFT_WAYLAND=1 opt-out.
2026-10-11 12:01:41 +00:00
Claude 76fc27a7bc Merge PR #791
# Conflicts:
#	Cargo.lock
#	apps/lightcraft/src/main.rs
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-11 12:01:19 +00:00
Claude c9d131bfbc Merge PR #946
# Conflicts:
#	crates/engine/src/library.rs
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/menus.rs
#	crates/ui-egui/src/panels/settings.rs
#	crates/ui-egui/src/state.rs
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-11 12:01:18 +00:00
Claude 8339028a80 Merge PR #794
# Conflicts:
#	crates/engine/src/media.rs
#	crates/pipeline/src/optics.rs
#	docs/parity-checklist.md
2026-10-11 12:00:57 +00:00
Claude 6308ca1088 Merge PR #547
# Conflicts:
#	crates/ui-egui/src/panels/detail.rs
2026-10-11 12:00:46 +00:00
Claude 11f41cbe97 Merge PR #813 2026-10-11 12:00:21 +00:00
Claude 7ff683f037 Merge PR #750 2026-10-11 12:00:20 +00:00
Claude 477c078b35 Merge PR #834 2026-10-11 12:00:20 +00:00
Claude 5ba413baf2 Merge PR #625
# Conflicts:
#	crates/engine/src/media.rs
#	docs/parity-checklist.md
2026-10-11 12:00:20 +00:00
Claude 421000916e Merge PR #667
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:00:19 +00:00
Claude 860b0d69c6 Merge PR #749 2026-10-11 12:00:19 +00:00
Claude 111bb42aa3 Merge PR #825
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:00:17 +00:00
Claude 8380415222 Merge PR #874
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 12:00:17 +00:00
Claude d7f868fc6d LR-EDIT-DETAIL-DENOISE: dismissing the model setup turns AI Denoise back off (#922)
Turning on AI Denoise without a model opens Settings > AI Denoise and
keeps a pending request, so the switch showed checked and Settings
offered "Cancel pending action". Closing the setup with no model
download or installation running now drops that request: the switch
goes back off and nothing claims to be pending. A download started
before closing still turns AI Denoise on when it finishes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:00:15 +00:00
Claude da008ce53c LR-IMP-PROFILES: .cube-only imports report their profiles and failures (#942)
File > Import Profiles & Presets... now builds one toast for both halves
(a second toast replaced the first, so a .cube-only import said "No new
presets"). The preset half is skipped when no preset files were picked,
and profile.import's failures are shown with their reason. profile.import
also reports .cube files and zips it couldn't read instead of dropping
them silently. The command's result carries the profile half under
"profiles".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 12:00:08 +00:00
Claude 5df7f733d3 Batch 29: tracker rows for content-aware Fill (#926), printer ICC soft proofing (#928) and the lensfun-format lens database (#930)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:58:25 +00:00
Claude 7ecb0b0191 Merge PR #915
# Conflicts:
#	crates/engine/src/media.rs
#	crates/raw/src/vendor/crx.rs
#	crates/ui-egui/locales/de.json
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/raw-parity.md
#	docs/whats-new.md
2026-10-11 11:58:15 +00:00
Claude 17dfa9709e Merge PR #926
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	xtask/src/layers.rs
2026-10-11 11:57:45 +00:00
Claude 3b0131aaea Merge batch 28 fix 2026-10-11 11:57:35 +00:00
Claude 2efa01767f Batch 28: resolve the leftover #685 test conflict in tests_panels.rs (both album tests kept)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:57:29 +00:00
Claude 05939cbc54 Merge PR #928
# Conflicts:
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
2026-10-11 11:53:13 +00:00
Claude b8d39063db Merge PR #930 2026-10-11 11:53:12 +00:00
Claude 5861591307 Merge PR #948
On merge: metadata.downloadPlaceNames accepts plain http only for the loopback address itself
(http://127.0.0.1.example.com/ and http://127.0.0.1@host/ are refused; test
download_base_is_https_or_loopback_only).
2026-10-11 11:52:57 +00:00
Claude 6c18c0a7c6 LR-PREF-PERFORMANCE: preview builds render the larger of view and thumbnail first (a view under 512 px no longer feeds an upscaled thumbnail, follow-up to #927)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:52:24 +00:00
Claude 95007492cc Merge PR #927 2026-10-11 11:52:07 +00:00
Claude 5ce115a505 Merge PR #959 2026-10-11 11:51:56 +00:00
Claude 62ece65ac9 Merge PR #664
# Conflicts:
#	crates/engine/src/tests_export.rs
#	crates/mcp/src/headless.rs
#	crates/mcp/src/tools.rs
2026-10-11 11:50:59 +00:00
Claude 44acde3a41 Merge PR #666
# Conflicts:
#	apps/lightcraft/src/main.rs
#	crates/engine/src/config.rs
2026-10-11 11:50:35 +00:00
Claude c04eec3f9d Merge PR #721
# Conflicts:
#	apps/lightcraft/src/main.rs
2026-10-11 11:50:22 +00:00
Claude b6ad706aa6 Merge PR #712
# Conflicts:
#	crates/engine/src/export.rs
2026-10-11 11:50:06 +00:00
Claude 31734dea86 Merge PR #689
# Conflicts:
#	crates/engine/src/media.rs
#	crates/raw/src/vendor/arw.rs
2026-10-11 11:50:05 +00:00
Claude 76cf8ca4c9 Merge PR #694
# Conflicts:
#	crates/gpu/src/backend.rs
#	docs/parity-checklist.md
2026-10-11 11:49:53 +00:00
Claude 4e6cd5d7b9 Merge PR #704
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 11:49:37 +00:00
Claude 9dc0d0b62b Merge PR #685
# Conflicts:
#	crates/ui-egui/src/panels/grid.rs
#	crates/ui-egui/src/tests_panels.rs
#	docs/parity-checklist.md
2026-10-11 11:49:25 +00:00
Claude efd29ef21a Merge branch 'claude/integrate-batch-27' into claude/integrate-batch-28 2026-10-11 11:48:59 +00:00
Claude 72d77d7b41 Batch 27: close two tests in tests_masking.rs (the merges of #884 and #766 dropped their braces)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:48:59 +00:00
Claude 2fedd92077 Batch 28: close the faces-toggle test (the merge of #690 dropped its brace)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:48:32 +00:00
Claude 40492d238e Merge PR #690
# Conflicts:
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/tests_panels.rs
#	docs/parity-checklist.md
2026-10-11 11:48:06 +00:00
Claude 8d319563ca Merge PR #710
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-11 11:48:05 +00:00
Claude edb95894b4 Merge PR #695
# Conflicts:
#	crates/engine/src/media.rs
2026-10-11 11:47:51 +00:00
Claude 16bbaff14c Merge PR #700
# Conflicts:
#	crates/engine/src/media.rs
#	docs/parity-checklist.md
2026-10-11 11:47:50 +00:00
Claude db8b82c6d7 Merge PR #703 2026-10-11 11:47:28 +00:00
Claude 7c4fd3abaa Merge PR #686 2026-10-11 11:47:28 +00:00
Claude 7afbc3ecb3 Merge PR #687 2026-10-11 11:47:28 +00:00
Claude 0f9415b320 Merge PR #688 2026-10-11 11:47:28 +00:00
Claude 27d2bfda86 Merge PR #663
# Conflicts:
#	docs/gaps.md
2026-10-11 11:47:28 +00:00
Claude d098ffac42 Merge PR #665 2026-10-11 11:47:27 +00:00
Claude ae2d936c4d Merge PR #679 2026-10-11 11:47:27 +00:00
Claude 96988afe6d Merge PR #696 2026-10-11 11:47:26 +00:00
Claude 1f3bfbdb25 Merge PR #698 2026-10-11 11:47:26 +00:00
Claude 9847383bf2 Merge PR #711
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 11:47:26 +00:00
Claude ab86ed7c84 Merge PR #716
# Conflicts:
#	docs/gaps.md
2026-10-11 11:47:26 +00:00
Claude b46adf0640 Merge PR #720
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 11:47:25 +00:00
Claude c97b2790d3 Merge PR #843
# Conflicts:
#	crates/engine/src/export.rs
#	docs/parity-checklist.md
2026-10-11 11:46:15 +00:00
Claude 82f74e31fd Merge PR #727
# Conflicts:
#	crates/raw/src/vendor/nef.rs
#	docs/parity-checklist.md
2026-10-11 11:46:01 +00:00
Claude 1d11e5bd89 Merge PR #739
# Conflicts:
#	crates/ui-egui/src/panels/detail.rs
#	docs/parity-checklist.md
2026-10-11 11:45:30 +00:00
Claude 06ef27bb37 Merge PR #751
# Conflicts:
#	docs/parity-checklist.md
2026-10-11 11:44:45 +00:00
Claude f7730b5877 View: end_frame keeps its doc comment (#945 put lights_out under it)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:44:33 +00:00
Claude 34b55101fe Merge PR #786
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/panels/dialogs.rs
2026-10-11 11:44:25 +00:00
Claude 3ac2b21d9e Merge PR #900
# Conflicts:
#	docs/gaps.md
#	docs/parity-checklist.md
2026-10-11 11:44:12 +00:00
Claude 5ced33fd9a Merge PR #951
# Conflicts:
#	apps/lightcraft/src/main.rs
2026-10-11 11:44:01 +00:00
Claude 0d022b7506 Merge PR #938
# Conflicts:
#	crates/engine/src/camera_preview.rs
#	crates/engine/src/media.rs
#	docs/gaps.md
#	docs/parity-checklist.md
2026-10-11 11:43:40 +00:00
Claude 38f16ff1b4 Merge PR #945 2026-10-11 11:43:08 +00:00
Claude 33a29dcdc3 Merge PR #907 2026-10-11 11:43:08 +00:00
Claude 36cd72bb33 Merge PR #925 2026-10-11 11:43:08 +00:00
Claude 605641ab04 Merge PR #952 2026-10-11 11:43:07 +00:00
Claude 9efc0950cf Merge PR #887 2026-10-11 11:43:07 +00:00
Claude fbc7ba042b Merge PR #890 2026-10-11 11:43:07 +00:00
Claude 4e473b2b37 Merge PR #923 2026-10-11 11:43:07 +00:00
Claude 63059a4303 Merge PR #961 2026-10-11 11:43:07 +00:00
Claude 0ea19a8a62 Merge batch 26 fmt 2026-10-11 11:43:06 +00:00
Claude 47fe7f70be Batch 26: cargo fmt over the merged PRs
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BKWB9TCnvzJHV6xMLAj2J4
2026-10-11 11:42:57 +00:00
Claude cb5cd22bd3 Merge PR #723
# Conflicts:
#	docs/whats-new.md
2026-10-11 11:42:45 +00:00
Claude cba621e55c Merge PR #854
# Conflicts:
#	crates/engine/src/media.rs
2026-10-11 11:42:42 +00:00
Claude 4f9b77cad9 Merge PR #766
# Conflicts:
#	crates/pipeline/src/masks.rs
#	crates/ui-egui/src/tests_masking.rs
#	docs/parity-checklist.md
2026-10-11 11:42:20 +00:00
Claude 814e35b103 Merge PR #884
# Conflicts:
#	crates/ui-egui/src/tests_masking.rs
2026-10-11 11:41:37 +00:00
Claude 8df7b008c0 Merge PR #847 2026-10-11 11:41:21 +00:00
Claude 0449a3fc51 Merge PR #845 2026-10-11 11:41:21 +00:00