Skip to content

release: RawLab 0.9.2 (build 17) - #160

Merged
dancancer merged 44 commits into
mainfrom
release/0.9.2
Oct 31, 2026
Merged

dancancer merged 44 commits into
mainfrom
release/0.9.2

Conversation

@dancancer

@dancancer dancancer commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

RawLab 0.9.2 (build 17) packages the changes integrated into development through db6e125: Android/Windows HDR photos, normal X3F rendering, direct preset application, automatic collection preflight/export, look browsing and Windows GPU controls.

Changes and fixes

  • Set all four clients to 0.9.2 / build 17; update both project READMEs, platform downloads, installation guidance, changelog and release notes.
  • Include Windows display-sRGB CUBE D3D11 support and AI adapter/diagnostic fixes; Android HDR cancellation, interrupted-batch and intermediate-array memory fixes; stale preset/batch/import state fixes; and Mac/iOS X3F lens-state fixes already merged into development.
  • Bootstrap missing Rust toolchains on POSIX CI runners using a checksum-verified installer and isolated runner paths. Preserve existing installations and pin Rust 1.99.1 with rust-docs.
  • Bound the Mac editor's SwiftUI type-check expressions using named view stages and explicit sheet binding/callback types. Modifier order, locale dependencies and queued-preset source guards are preserved.
  • Grant the separate LocalizationUiChecks assembly the same internal test-state access used by the main test assembly; production types remain internal. Both Windows test projects compile with 0 warnings/errors.
  • Correct two validation assertions to match existing contracts: MCP negotiates only v1-v6, and unavailable Windows GPU/runtime identity reports a processing error and rejects synthetic-cache bypass. Product rendering and MCP behavior are unchanged.

Verification

  • Release head: 6a2cbe3. Merged main/tag commit: f3c5dea; annotated v0.9.2 tag object: abb1e9ed7c8f10ff85f4961602cd2d27e0dbc1c1.
  • Exact-head automatic full cold release CI passed: all 10 jobs, including both Mac architectures, Windows, Android, iOS and the aggregate gate. The logged checkout 34bfc0e has the same tree as release head 6a2cbe3.
  • Formal Windows Setup/ZIP/nupkg were freshly rebuilt from 6a2cbe3. Mac arm64/x86_64 ZIPs use product-equivalent e7ec39d; Android APK and unsigned iOS IPA use product-equivalent 7b4debe. Their platform production inputs are unchanged by the subsequent release fixes.
  • Independent Mac bundle/certificate/architecture/resource/license and Sparkle archive/feed checks passed. Android version, v2/v3 release certificate and both-ABI 16 KiB native alignment passed. The unmodified native Windows manifest verifier accepted both new formal/test descriptors and exact nupkgs, including PE versions 0.9.2.17.
  • All 13 public release assets match their final local sizes and SHA-256 values, including the final source archive, Windows packages, finalized BUILD-PROVENANCE.json and checksums. The source archive was checked against every tracked path, executable mode and cleaned Git blob at tree 4eb9e1856d7bb2bd057ee4f943e8e278a9f2af42. Its archive commit header is 6a2cbe3; the merged/tagged commit has exactly the same source tree.
  • Local arm64 core suite at 7b4debe (core production inputs unchanged through final release head): 124/124 passed, including actual Metal and Core ML execution. Release-signing regressions: 3/3 passed. CI policy suite: 80 passed, 4 platform/environment skips, 0 failures. Four-client version parity, relative documentation links and diff checks passed.
  • Earlier exact-source isolated Mac GUI evidence at 7b4debe/ccb3b324 covers RAW open/render, look search/apply, direct preset/undo, mixed RAW/HDR collection export (2/2), normal DP1S X3F, arm64 exposure/undo and x86_64 Rosetta sample/look smoke checks. Final source: four actual native EditorView snapshots passed across Chinese/English and 950x620/1440x900. Both updated Mac test packages now run the final product-equivalent source; the reference photo opens/renders, preserved exposure is visible, and About reports 0.9.2.
  • Validation-fix regressions: MCP 44/44 passed against the real CLI, Mac DualDn API passed, Windows DualDn API/DirectML checks 2/2 passed with explicit hardware-inference NOT REACHED, and Mac presentation/viewing model checks passed.
  • iPhone 17 Pro / iOS 27 simulator: HDR import/preset/scope/collection test passed (1 test, 0 failures/skips) after granting the new simulator's Photos permission. A separate legacy HDR isolation test failed to activate the More-menu settings item; its later HDR/SDR assertions were not reached and are not counted as passing.

Actual desktop update acceptance

  • Mac updates passed from 0.9.1/16 to 0.9.2/17: arm64 signed download/verification/install/automatic restart; x86_64 under Rosetta signed download/verification, normal-quit installation and next launch. Both reached healthy startup and retained every original Edits/Looks/Presets/Batch file, with exposure +0.65/+0.45 visible. The arm64 automatic relaunch omitted the test-only isolated-home environment; the exact installed app was reopened with the isolated profile for health/data checks. The brief nonisolated launch changed the personal update-check timestamp/attempt; the empty newly created recent-look file was removed, and the original personal Edits/Looks/Presets/Batch file hashes match their pre-test values. The prior update-check metadata bytes were unavailable, so that timestamp was not guessed or restored.
  • Windows actual current-user Setup and 0.9.1/16 to 0.9.2/17 update passed under the authorized temporary nonadmin account. Product UI downloaded and verified the separate test-key package, then immediate install/restart changed PID 24856 to 19540. Native PE versions and About both confirm 0.9.2; startup phase is Complete. Before/after read-only snapshots retain all six existing edit/look/preset files unchanged; only Updates/state.json changes. UI confirms exposure +0.35, the imported look and saved preset. A real one-photo JPEG batch completed 1/1 before update; its completed journal was removed normally, leaving an empty Batch directory. Interrupted-task/crash recovery was not exercised.
  • Both desktop update flows used isolated test keys and a separate prerelease. Formal packages and feeds have their independent production-signature checks. Hardware and device gaps below remain explicit.

Publication and backmerge

RawLab v0.9.2 was published as the latest stable release at 2026-10-31T14:02:52Z. The new annotated tag points to this PR's main merge commit f3c5dea.

Release fixes were merged back through PR #162, producing development commit 11a005e. Both its PR CI and exact development push CI passed all 7 jobs. Main, tag, development, release source and the successful full release CI checkout share tree 4eb9e1856d7bb2bd057ee4f943e8e278a9f2af42.

After publication, anonymous requests to all three latest desktop feeds returned the exact final formal bytes. Both referenced versioned Mac ZIPs were downloaded, checked against signed size/SHA-256 and verified with the production Sparkle public key. The Windows VM anonymously downloaded the latest descriptor and exact versioned nupkg (519,814,152 bytes, SHA-256 82c45a7547480529d9b53268500b3d03587811f5416604e8528f8e4a80f7b7e3); after establishing equality with the preserved formal package, the unchanged native UpdateManifest verifier returned PASS: descriptor signature and package verified with exit 0. The verified EXE/DLL both report FileVersion 0.9.2.17 and ProductVersion 0.9.2+build.17. This check used public trust only and did not install or start the product.

Cleanup removed the temporary Windows standard-user account/profile, isolated Mac test apps, temporary simulator and test signing keys/keychain. The temporary update-test prerelease and tag were deleted after acceptance; stable v0.9.2 was preserved. Formal packages, verification evidence, production keys and shared read-only caches are retained. Final generated Windows build/source copies were inventoried but remain pending cleanup because the SSH endpoint timed out after verification; no deletion of those copies is claimed.

Coverage, limits and issues

Windows VM results do not establish hardware D3D/DirectML acceptance; Rosetta is not a physical Intel Mac. Minimum-OS hardware, physical HDR luminance, current mobile-device installation, iPad split view, Android multiwindow, Windows 100/150 DPI and full accessibility coverage remain limited to explicitly recorded evidence. Historical feature-PR UI/device evidence retains its original revision.

Normal X3F retains its documented supported-camera/CPU boundaries, including the Android/Windows inherited lens-state limitation. AI remains hardware-GPU-only. Mac packages use the fixed self-signed certificate without notarization; Windows has signed update metadata without Authenticode; the iOS IPA requires valid user signing/provisioning.

No issue is closed by this PR: #147 has supported-CUBE fixes but its original intermittent configuration remains unconfirmed, #67 still lacks effect previews, and #66 has no HarmonyOS/AppGallery implementation. The newly opened #161 iPhone Duo report also has no fix or matching SDK/device acceptance in this release.

chore: back-merge RawLab 0.9.1 into development
fix(windows): accelerate sRGB LUT looks with Direct3D 11
…tics

feat(windows): select AI GPU and export failure diagnostics
feat: bring phone HDR editing to Android and Windows
feat: show adjustment scope summaries across clients
feat: apply presets directly from the editor
Vendor the pinned x3f-sys source and parallelize chroma-offset calculations, highlight repair rows, and despeckle detection while preserving reduction and repair order.

Add thread-count parity regressions, real-RAW benchmarks, and CMake coverage. Verified byte-identical output with lower decode time on macOS and Windows; existing baseline test failures are documented in the validation record.
@dancancer
dancancer merged commit f3c5dea into main Oct 31, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant