Commit Graph
4211 Commits
Author SHA1 Message Date
aiongg 0715fbd0b9 Integration: RENDER_CACHE_VERSION 72 for the demosaic, grain and clipping-preview changes 2026-10-31 02:10:40 +00:00
aiongg a261544b77 Integration: #3400 move the framing test's doc line back above its test 2026-10-31 02:10:32 +00:00
aiongg 3c228ae23e Merge PR #3400: Never crash: a Samsung encryption key past i64::MAX doesn't overflow keyed() 2026-10-31 02:10:25 +00:00
aiongg b38bb32185 Merge PR #3386: Never crash: strip byte counts near u64::MAX don't overflow their sum in ORF, SRW, ARW and PEF
docs/whats-new.md: both entries under 2026-10-30
2026-10-31 02:10:25 +00:00
aiongg 1d10bc70e1 Merge PR #3321: LR-IMP-FORMATS: decode compressed RAF 13–17 % faster with a buffered bit reader 2026-10-31 02:10:18 +00:00
aiongg eb5b91f238 Merge PR #2750: Never crash: tiles far larger than the image are refused before decoding (#2554) 2026-10-31 02:10:18 +00:00
aiongg ce01d4b7d0 Merge PR #2740: Never crash: ARW and SRW strips shorter than declared are refused before allocating (#2561) 2026-10-31 02:10:18 +00:00
aiongg acf0f6b938 Merge PR #2698: LR-IMP-FORMATS: AHD blends its candidates where noise alone would pick one, no maze in noisy raws (#2094)
docs/whats-new.md: both entries kept
2026-10-31 02:10:17 +00:00
aiongg 4c1fdedd48 Merge PR #2628: raw: CR3 preview box scan checks 32-bit lengths for overflow (#2569) 2026-10-31 02:10:08 +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 f6b9c3ee8f Merge PR #3331: LR-VIEW-HISTOGRAM: the histogram's clipping buttons read in every theme
docs/parity-checklist.md: header from main with this PR's date and text; Histogram row gets this PR's clause; revision rows both kept
docs/whats-new.md: both entries, newest first
2026-10-31 02:09:58 +00:00
aiongg 265dff98bd Merge PR #3188: Drop the sign from slider text that rounds to zero 2026-10-31 02:09:32 +00:00
aiongg fab184564e Merge PR #3165: Reject signed list indexes in indexed develop control ids 2026-10-31 02:09:32 +00:00
aiongg 7fd7eefb71 Merge PR #3003: LR-EDIT-EFFECTS-GRAIN: grain skips a degenerate frame instead of producing NaN pixels 2026-10-31 02:09:32 +00:00
aiongg d68af705a0 Merge PR #2981: Issue #2819: the histogram stays SDR when HDR is switched off
crates/ui-egui/src/panels/edit/histogram.rs: live_hdr_histogram added above main's histogram() (now in edit/histogram.rs, pub(crate))
docs/parity-checklist.md: main's Histogram row with this PR's HDR-off clause
2026-10-31 02:09:32 +00:00
aiongg d43059bf13 Merge PR #2804: fix(ui): wrap the Edit header buttons instead of letting Reset cover HDR
crates/ui-egui/src/panels/edit.rs: main split it into panels/edit/; the header call site stays in edit.rs and header_buttons, HeaderClicks and the overlap test are ported into edit/sliders.rs next to reset_tip. The reset_tip doc comment sits directly above reset_tip in the port.
2026-10-31 02:09:11 +00:00
aiongg d83f0ee617 Merge PR #2741: LR-VIEW-HISTOGRAM: the histogram stays in view while the Edit panel's sliders scroll (#2679)
docs/parity-checklist.md: header line from main (newer date)
2026-10-31 02:08:35 +00:00
aiongg 60e730c3df Merge PR #2712: Never crash: NaN in tone curves and an i16::MIN UTC offset (#2579 items 3 and 4) 2026-10-31 02:08:23 +00:00
aiongg 00c3dd29b8 Merge PR #2583: Reset the profile section to the default profile 2026-10-31 02:08:23 +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
Dylan M. Taylor c9808c2291 fix(flatpak): allow reading launcher version pins (#3420)
* fix(flatpak): allow reading launcher version pins

* fix(flatpak): allow reading launcher version pins
2026-10-30 20:06:01 -04:00
x-labb abdc26c854 Issue #2819: the histogram stays SDR when HDR is switched off
The small HDR render of the last HDR drag is kept in Renderer. With HDR
switched off, dragging a slider still read it as the live histogram, so the
panel flipped back to the HDR layout. Read it only while an HDR edit is being
dragged. The LR-VIEW-HISTOGRAM row says so.
2026-10-30 21:03:42 +01:00
Brandon Thomas 8aabf61449 Merge PR: integration batch 45 (17 community PRs)
Integration batch 45 (17 community PRs)
2026-10-30 15:57:58 -04:00
Brandon Thomas c7d7d3c0fd Merge PR #2540 (maintainer follow-up) 2026-10-30 15:26:31 -04:00
Brandon ThomasandClaude Opus 5.5 831d724b87 Reject .cube data lines that start with nan or inf
A data line such as `nan 0 0` starts with a letter and was skipped as an
unknown keyword, so a file with enough other entries still parsed.
(CodeRabbit review on #2540.)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:26:29 -04:00
Brandon Thomas b854bbb94e Merge PR #2835 2026-10-30 15:24:59 -04:00
Brandon Thomas ac4a98bc2d Merge PR #3147 2026-10-30 15:24:59 -04:00
Brandon Thomas cfdf63c6e4 Merge PR #2917
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-30 15:24:59 -04:00
Brandon Thomas 13711ace2b Merge PR #2155 2026-10-30 15:24:41 -04:00
Brandon Thomas 7e8bf5cd9e Merge PR #2831 2026-10-30 15:24:41 -04:00
Brandon Thomas ddbc218ad1 Merge PR #3213
# Conflicts:
#	docs/parity-checklist.md
2026-10-30 15:24:40 -04:00
Brandon Thomas c1fb95dfc0 Merge PR #3225 2026-10-30 15:24:30 -04:00
Brandon Thomas a0133db92e Merge PR #3038 2026-10-30 15:24:30 -04:00
Brandon Thomas 273e9078de Merge PR #2969 2026-10-30 15:24:30 -04:00
Brandon Thomas 5693a3aeaa Merge PR #2540 2026-10-30 15:24:30 -04:00
Brandon Thomas bdb146be43 Merge PR #2833 2026-10-30 15:24:30 -04:00
Brandon Thomas ef83f30327 Merge PR #2834 2026-10-30 15:24:30 -04:00
Brandon Thomas 19eb08dc25 Merge PR #2909 2026-10-30 15:24:30 -04:00
Brandon Thomas b7c52c5032 Merge PR #2918 2026-10-30 15:24:30 -04:00
Brandon Thomas 181a580579 Merge PR #3366 2026-10-30 15:24:30 -04:00
Brandon Thomas 9140e8cd38 Merge PR #3267 2026-10-30 15:24:30 -04:00
Brandon Thomas a5721dedfd Merge PR #3314 2026-10-30 15:24:30 -04:00
Bruno-Alumn 7597810299 SRW: a huge encryption key doesn't overflow keyed()
The maker note's key (0xa020) can be LONG8, so a value past i64::MAX
made `-1 * key` overflow: a panic in debug and test builds. Use a
wrapping multiply; only the low 32 bits are kept, so real files decode
the same.
2026-10-30 16:25:20 +01:00
Bruno-Alumn be6e462db4 Cap red eye corrections at 64 per photo (#2556)
Every output pixel goes through every eye, and nothing limited the list:
a sidecar, preset or agent with 100,000 eyes made one preview take hours.
The render resolves the first MAX_RED_EYES and redeye.add refuses more,
as Point Color does with MAX_POINT_COLORS.
2026-10-30 16:17:56 +01:00
Dylan M. Taylor 5194cc20de UPD.1: honor pretend versions and track the updater icon in CI (#3365) 2026-10-30 09:02:24 -04:00
Bruno-Alumn 1c906ea3db Never crash: strip byte counts near u64::MAX don't overflow their sum in ORF, SRW, ARW and PEF
The TIFF reader accepts LONG8 (type 16) StripByteCounts in classic
TIFF, so a file can declare strips of u64::MAX and 1 bytes. The ORF,
SRW, ARW and PEF decoders added the strip lengths with
Iterator::sum::<u64>(), which panics on overflow in debug builds. They
now add them with a saturating fold, as raw/src/lib.rs already does,
so such a file is refused or read as far as its data go.

The tests rewrite a synthetic file of each decoder into two strips
with LONG8 counts [u64::MAX, 1] (vendor::tests::huge_strip_counts);
PEF is checked for the Huffman-coded and the uncompressed path.
2026-10-30 13:37:16 +01:00
Max MittelstädtandGPT-6-Luna b25808686d Reject mismatched XML closing tags
Found while testing crates/lensdb/src/xml.rs:77

Co-Authored-By: GPT-6-Luna <noreply@openai.com>
2026-10-30 06:10:13 +00:00
Dylan M. Taylor 445dd3106e Update prompt shows the app icon and accent color instead of a letter (#3362)
UPDATE_APP (native builds; craft-update is a native-only dependency) carries our 128 px icon and accent (#f2a516, its colour in ArtCraft Launcher). The updater, the self-update
helper and craft-update's startup prompt all get them through crate::UPDATE_APP; the
prompt draws the icon, the accent and "by ArtCraft" (craft-update's default developer).

craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434).
Clippy fixes for Rust 1.99 in untouched code (same logic):
- crates/engine/src/cmd/export.rs
- crates/ui-egui/src/dialogs/rules_editor/rules_move.rs
- crates/ui-egui/src/panels/detail.rs
2026-10-30 01:27:49 -04:00
Dylan M. Taylor b2d89895ad CI: workflows only call craft-common-actions at @main (#3356)
AGENTS.md (and CLAUDE.md where present) gets a CI workflows section: workflows only call
craft-common-actions at @main, with no other jobs; feature and fix PRs don't touch CI and
link or open a craft-common-actions issue (a PR only for a small fix that is safe for
every app and does not increase CI time); legacy jobs
aren't added to and move only as their own task, staying until a shared workflow runs them.

windows-arm64.yml moves from its SHA pin to @main. The pinned revision is on
craft-common-actions main and the workflow (and the actions it calls) is identical
there, so nothing changes in behaviour.
2026-10-29 22:36:34 -04:00
Dylan M. Taylor 260d797acc deps: bump tar, zip, roxmltree, rustls-webpki and symphonia to their latest versions (#3358)
- `rustls-webpki`: 0.102.8, 0.103.15 → 0.102.8, 0.103.16
- `zip`: 7.2.0, 9.1.0 → 7.4.0, 9.1.3

Lockfile only.
2026-10-29 22:21:27 -04:00