Commit Graph
1636 Commits
Author SHA1 Message Date
aiongg e80c3e3e13 Merge upstream main into integration-r3 2026-10-31 05:09:34 +00:00
aiongg da3d2c768c docs: tidy wording 2026-10-31 04:26:44 +00:00
aiongg ffd5a4a22b docs: tidy agent, contributor and asset docs 2026-10-31 04:17:15 +00:00
aiongg 1b5cdc89ca Integration: catalog videos pass the non-media filter (#2021 with the #2135 refusal) 2026-10-31 03:36:11 +00:00
aiongg a4dc70c07b Integration: sort modules, merge duplicated checklist and gap rows from the combined tracks 2026-10-31 02:42:54 +00:00
aiongg ee0a627536 Merge track r3-t10
# Conflicts:
#	crates/engine/src/cmd/masks.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/ka.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-hant.json
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:31:38 +00:00
aiongg 56c842d8fe Merge track r3-t09
# Conflicts:
#	docs/parity-checklist.md
#	docs/raw-parity.md
#	docs/ui-parity.md
#	docs/whats-new.md
2026-10-31 02:31:25 +00:00
aiongg e05c4f7e7c Merge track r3-t08
# Conflicts:
#	crates/meta/README.md
#	crates/ui-egui/locales/cs.json
#	crates/ui-egui/locales/de.json
#	crates/ui-egui/locales/es.json
#	crates/ui-egui/locales/fi.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/id-formats.json
#	crates/ui-egui/locales/id.json
#	crates/ui-egui/locales/it.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/ka-formats.json
#	crates/ui-egui/locales/ka.json
#	crates/ui-egui/locales/pl.json
#	crates/ui-egui/locales/pt-br.json
#	crates/ui-egui/locales/ru.json
#	crates/ui-egui/locales/sv-formats.json
#	crates/ui-egui/locales/sv.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/vi.json
#	crates/ui-egui/locales/zh-hans.json
#	crates/ui-egui/locales/zh-hant.json
#	crates/ui-egui/src/panels/grid.rs
#	crates/ui-egui/tests/it/main.rs
#	docs/gaps.md
#	docs/library-shortcuts.md
#	docs/parity-checklist.md
#	docs/raw-parity.md
#	docs/user/guides/export-photos.md
#	docs/whats-new.md
2026-10-31 02:31:16 +00:00
aiongg 1f111b5e80 Merge track r3-t07
# Conflicts:
#	crates/engine/src/tests/libops.rs
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:30:21 +00:00
aiongg 8415fd6a90 Merge track r3-t06
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg 0fa59f8846 Merge track r3-t05
# Conflicts:
#	crates/ui-egui/locales/cs-formats.json
#	crates/ui-egui/locales/cs.json
#	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/fi-formats.json
#	crates/ui-egui/locales/fi.json
#	crates/ui-egui/locales/fr-formats.json
#	crates/ui-egui/locales/fr.json
#	crates/ui-egui/locales/id-formats.json
#	crates/ui-egui/locales/id.json
#	crates/ui-egui/locales/it-formats.json
#	crates/ui-egui/locales/it.json
#	crates/ui-egui/locales/ja-formats.json
#	crates/ui-egui/locales/ja.json
#	crates/ui-egui/locales/ka-formats.json
#	crates/ui-egui/locales/ka.json
#	crates/ui-egui/locales/pl-formats.json
#	crates/ui-egui/locales/pl.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/sv-formats.json
#	crates/ui-egui/locales/sv.json
#	crates/ui-egui/locales/uk-formats.json
#	crates/ui-egui/locales/uk.json
#	crates/ui-egui/locales/vi-formats.json
#	crates/ui-egui/locales/vi.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
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg 5e56e9536b Merge track r3-t04
# Conflicts:
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:30:01 +00:00
aiongg 67b636329a Merge track r3-t03
# Conflicts:
#	crates/ui-egui/src/tests/drop_import.rs
#	crates/ui-egui/tests/it/main.rs
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:29:52 +00:00
aiongg 46982a5c4f Merge track r3-t02
# Conflicts:
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:29:22 +00:00
aiongg d8f45ed5a5 Merge PR #3322: LRC-LIB-CATALOG-SWITCH: a library missing at launch is reported instead of being made anew with demo photos
docs/parity-checklist.md: the PR's edit to the LRC-LIB-CATALOG-SWITCH row applied to main's row.
docs/whats-new.md: the PR's 2026-10-29 section added above main's sections.
2026-10-31 02:11:23 +00:00
aiongg e619c977b9 Merge PR #3276: LRC-LIB-FOLDERS: the home folder and Local's built-in places can't be renamed or moved
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; the PR's edit to the LRC-LIB-FOLDERS row applied to main's row; revision rows union, newest first.
docs/whats-new.md: the PR's 2026-10-28 section added above 2026-10-27.
2026-10-31 02:11:01 +00:00
aiongg 8f9e146217 Merge PR #3286: FACES: a person's page finds its look-alikes in seconds, not minutes
docs/whats-new.md, docs/parity-checklist.md: both sides kept; header keeps the newer date.
2026-10-31 02:10:50 +00:00
aiongg 3af32798f3 Merge PR #2821: LR-META-LOCATION: reject malformed typed GPS coordinates
crates/engine/src/cmd/library.rs: kept main's split; the PR's parse_gps changes and tests are ported to crates/engine/src/cmd/library/gps.rs.
docs/gaps.md, docs/parity-checklist.md: both sides kept (header items, rows, LR-META-LOCATION note).
2026-10-31 02:10:49 +00:00
aiongg 0715fbd0b9 Integration: RENDER_CACHE_VERSION 72 for the demosaic, grain and clipping-preview changes 2026-10-31 02:10:40 +00:00
aiongg a1ef1bf5fd Merge PR #3176: LR-IMP-ADD-DIALOG: an import's probe opens each file once
docs/whats-new.md: the PR's entry added under the 2026-10-27 heading after main's entry.
2026-10-31 02:10:38 +00:00
aiongg b3ddfefa5d Merge PR #3141: Issue #2589: a reference app import never creates a photo already in Recently Deleted
crates/engine/src/import/job.rs: union of the imports (main's Seen, reusable_probes, sidecars_of plus the PR's FileFacts); the sidecar read uses main's batched found_sidecar and the PR's skip for duplicates with a known capture time.
2026-10-31 02:10:23 +00:00
aiongg 78e70ab8f8 Merge PR #2545: Issue #136: applying the GPU setting never waits for the device on the UI thread 2026-10-31 02:10:21 +00:00
aiongg bfb9572eb1 Merge PR #2529: LR-MAP-TRACKLOG: Decode XML character references in GPX
docs/gaps.md, docs/whats-new.md, docs/parity-checklist.md: both sides' header items, entries and rows kept.
2026-10-31 02:10:14 +00:00
aiongg b54f299e55 Merge PR #3398: Never crash: a photo renders at most 64 red eye corrections (#2556)
docs/whats-new.md: both entries under 2026-10-30
2026-10-31 02:10:08 +00:00
aiongg 9d4de0518a Merge PR #2979: LRC-LIB-CATALOG-SWITCH: a library's catalog.snap or folder given at launch opens that library
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; revision rows union.
2026-10-31 02:10:05 +00:00
aiongg 35d2fc957b Merge PR #3402: RAW.colour: fit the per-file look on the vignetting-corrected sensor
Conflicts: crates/engine/src/camera_preview.rs: LOOK_VERSION stays 13, all three version notes kept; docs/raw-parity.md header merged (newer date, both changes)
2026-10-31 02:10:02 +00:00
aiongg e8566e839a Merge PR #2952: LR-EDIT-COLOR-TEMP: a one-field white balance partial keeps the other field's look (#2910)
Conflicts: docs unioned
2026-10-31 02:09:50 +00:00
aiongg 5a7a1b2ad9 Merge PR #2964: LR-IMP-ADD-DIALOG: handle rename sequence exhaustion
crates/engine/src/import.rs, cmd/library.rs: main split these files; kept main's side here and ported the PR's hunks to import/job.rs, cmd/library/import.rs and cmd/library/specs.rs (module doc stays in import.rs).
docs: headers keep main's newer date plus the PR's item; the PR's row additions applied to main's rows; revision rows and What's New entries kept, one heading per date.
2026-10-31 02:09:36 +00:00
aiongg a517e332d4 Merge PR #2664: raw: read Canon CR3/CR2 preview colour space from the maker note (#2654)
Conflicts: crates/engine/src/camera_preview.rs: LOOK_VERSION stays 13 (one above main), both version notes kept
2026-10-31 02:09:34 +00:00
aiongg 9a41ce9b5e Merge PR #2656: LR-PROF-CAMERACOLOR: limit tone-curve steps between pixel populations (#1904) 2026-10-31 02:09:23 +00:00
aiongg 0cc014c79a Merge PR #2514: Kelvin for Fujifilm X-Trans III bodies from the RAF's own neutral pair (#730) 2026-10-31 02:09:20 +00:00
aiongg 866ed3846c Merge PR #3385: Never crash: a mask id at the u32 limit doesn't overflow the next mask's id
# Conflicts:
#	docs/whats-new.md
2026-10-31 02:09:14 +00:00
aiongg 5207c3baaf Integration: #2777 restore dotCooCoo sync_github_name in people.toml; RENDER_CACHE_VERSION 71 to 72 2026-10-31 02:09:09 +00:00
aiongg cde3b51a4d Merge PR #2623: LR-CROP-RECT: sidecar settings kept in range; a turned crop bounded to the photo (#2555) 2026-10-31 02:08:48 +00:00
aiongg 2b30e3d6e6 Merge PR #2954: LR-IMP-ADD-DIALOG: an import checks its probes and looks up sidecars several at a time
docs/parity-checklist.md: header keeps main's date plus the PR's item; the LR-IMP-ADD-DIALOG row keeps main's text and gets the PR's sentence; revision rows union.
docs/whats-new.md: both entries kept.
2026-10-31 02:08:40 +00:00
aiongg 9b748af445 Merge PR #3379: LR-MASK-COLORRANGE: a colour-range mask keeps at most 64 samples however it is loaded (#2556)
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-31 02:08:39 +00:00
aiongg 6d0902182c Merge PR #3281: Develop exports from a source at least twice the output size 2026-10-31 02:08:31 +00:00
aiongg 06a94d2d7f Merge PR #3015: Never crash: an oversize export size is an error, not a multiply overflow
crates/engine/src/media.rs: main moved render_now and export_job to media/session.rs; the two size checks ported there
crates/engine/src/tests_export.rs: the test is appended to tests/export.rs
2026-10-31 02:08:30 +00:00
aiongg 035d4d5dcb Merge PR #2977: LR-META-EXIF-FULL: reject malformed EXIF clocks
docs/gaps.md, docs/parity-checklist.md, docs/whats-new.md: both sides kept; the PR's sentences added to main's rows and entries.
docs/xmp-interop.md: capture-time paragraph combines both sides.
The PR's test file crates/engine/src/tests_import.rs landed in crates/engine/src/tests/import.rs (moved on main).
2026-10-31 02:08:25 +00:00
aiongg 00c3dd29b8 Merge PR #2583: Reset the profile section to the default profile 2026-10-31 02:08:23 +00:00
aiongg 1459ca3472 Merge PR #3230: Issue #3228: the hard-link originals test holds under SeBackupPrivilege (Git Bash, the CI gate) 2026-10-31 02:08:22 +00:00
aiongg 1b32dab094 Merge PR #999: Alt/Option-drag previews for clipping and sharpening (#937)
Conflicts resolved:
- crates/engine/src/media.rs: main split it; the render and display-profile hunks are ported into media/render.rs
- crates/ui-egui/src/lib.rs, panels/detail.rs: main split them; alt_held is set in app/frame.rs, view_overlay and overlay_supports_window ported (panels/detail/window.rs)
- crates/ui-egui/src/tests_alt_preview.rs moved to tests/alt_preview.rs
- crates/pipeline/src/finish.rs, local.rs: main's code kept, sharpen_mask_weight and texture_sigma applied to it
- docs: both sides kept; summary counts from main (regenerated later)
2026-10-31 02:08:19 +00:00
aiongg 9577b6fabc Merge PR #2825: LR-LIB-ALBUM: album commands skip photos the library lacks and record nothing when they add nothing
crates/engine/src/tests.rs: both test modules. docs: union.
2026-10-31 02:08:18 +00:00
aiongg 1765d19c20 Merge PR #2890: Export: note when LZW is picked for TIFF, 16-bit ZIP size test (#2882)
crates/engine/src/export.rs: main moved the code to export/; the 16-bit ZIP size test ported to export/tests.rs
crates/ui-egui/src/panels/dialogs.rs: main moved the dialog to dialogs.rs and dialogs/export.rs; the LZW note helpers, preset hover hint and tests ported there
crates/ui-egui/src/panels/grid.rs: calls crate::dialogs::preset_lzw_note
The doc comment of export_dialog_params stays directly above that function (review fix)
2026-10-31 02:08:09 +00:00
aiongg 42fbec83dc Merge PR #2725: LRC-LIB-CATALOG-LOCK: quitting on macOS removes the lock's owner note 2026-10-31 02:08:09 +00:00
aiongg 8f7873c1b5 Merge PR #2648: Never crash: the work gate's byte count saturates instead of overflowing (#2576) 2026-10-31 02:08:07 +00:00
aiongg e967200f0d Merge PR #2912: Reject incomplete ISO timestamps in metadata and track logs
crates/meta/src/xmp.rs: kept main's 'mod tests;'; the PR's two tests ported to xmp/tests.rs.
docs/gaps.md, docs/parity-checklist.md, docs/whats-new.md: both sides kept; newer date in headers; XMP row and header carry the PR's sentence.
2026-10-31 02:07:55 +00:00
aiongg 7a27008bfd Merge PR #2805: Enable Filters: a folder moved while filters are off is followed by the filter put aside, and Cmd+L still brings it back (follow-up to #2709)
crates/engine/src/lib.rs: main moved the test modules under tests/; took main's side. The PR's test file moved to crates/engine/src/tests/shelved_folder.rs and is registered in tests.rs.
2026-10-31 02:07:55 +00:00
aiongg 36dd2a7d6b Merge PR #2237: LR-IMP-ADD-DIALOG: remembered import thumbnail-size slider
docs/gaps.md, docs/parity-checklist.md: header keeps the newer date plus both sides' items; revision row added newest first.
locales/ru.json: union of keys.
2026-10-31 02:07:51 +00:00
aiongg 8cbd95ef89 Merge PR #2991: KEYC-METADATA: Cmd+Alt+Shift+K / Ctrl+Alt+Shift+K sets the keyword shortcut, and Shift+K adds or removes it
docs/parity-checklist.md, docs/ui-parity.md: headers, the KEYC-METADATA and LRC-LIB-KEYWORDS rows carry both sides' changes; revision rows kept from both.
2026-10-31 02:07:47 +00:00