Skip to content

chore: merge v0.9.0 release back into development - #142

Merged
dancancer merged 21 commits into
developmentfrom
main
Oct 28, 2026
Merged

dancancer merged 21 commits into
developmentfrom
main

Conversation

@dancancer

@dancancer dancancer commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Bring the validated 0.9.0 release and its release fixes back into development, including the Mac updater recovery and package-identity fixes from #141.

Source: main@82f028e9b511eeb083328dc40c5097d4831b9db6, containing release/0.9.0@cf24f32d4296cf8d63b7f7d0d43105520daa57b5. The source tree e324380dfc21537b4e9db77c24a8b93c4570f97a is identical to the actual checkout of release CI 40631478241, where all 10 jobs passed before #138 was merged.

This is the Gitflow release back-merge; it introduces no additional implementation. All seven automatic PR checks passed before the merge. Remote development now contains main release commit 82f028e9b511eeb083328dc40c5097d4831b9db6 at merge a4de533e94cf0dd42355e6b95c6023b4836fb4cc; its tree remains identical to the released tag.

dancancer and others added 21 commits October 17, 2026 03:04
release: RawLab 0.8.0 build 12
release: RawLab 0.8.1 (build 13)
release: RawLab 0.8.2 (build 14)
Set version 0.9.0, build 15 on macOS, iOS, Android and Windows, and turn the
unreleased changelog into the 0.9.0 entry with the editing iteration's
additions, the processing-version change and the large-image fixes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Add the 0.9.0 release notes and Chinese announcement, covering the editing
iteration, upgrade and compatibility notes, AI requirements and model
licenses. Packaging and acceptance results are filled in before publication.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Intel Macs have no supported GPU backend for AI denoising, yet the release
build compiled AI and bundled 622 MB of models and ONNX Runtime. Because the
app gates AI on compilation and bundled models, Intel users also saw an AI
switch that could only fail. x86_64 release builds now disable AI and skip the
model inputs; Apple Silicon keeps the existing requirements.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Name the actual Velopack Setup and nupkg files in the 0.9.0 notes, and state
that Velopack's portable package and feed files are not uploaded because the
updater trusts only the signed descriptor.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
libraw.org resets the TLS handshake from the Android SDK's CMake 3.22 client
on the Linux runner, so every cold Android build failed to download LibRaw.
The job now fetches the archive with the system curl into a runner cache and
checks its SHA-256; the Android build uses that copy when present, and
URL_HASH still verifies whichever source it uses.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The dedicated Android guest cannot download the native build's GitHub
archives: the Android SDK's CMake 3.22 client fails the TLS handshake
there while the system curl succeeds. Prefetching LibRaw alone left the
next FetchContent download failing, so the release gate uses the hosted
ubuntu-24.04 runner with its previous two Gradle workers until the guest
can download again. The LibRaw local-copy support in CMake stays for
that return.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The paste, undo and redo buttons read model.state.value during
composition, so their enabled state did not subscribe to
committingAdjustments and Android lint rejects the build
(StateFlowValueCalledInComposition). Use the state the sheet already
collects and fold it into the transaction buttons' busy flag.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Full CI and release builds enable AI denoise on Apple silicon. The C ABI
in libsony2fuji_core.a then references the DualDn libraries, ONNX
Runtime and Core ML, and every native test that linked only the core
failed with undefined symbols. Derive the link arguments once from the
core's CMake cache and use them in all suites.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Release acceptance on the RTX 4090 D PC found three stale checks:

- Panning reprojects through a normalized focus point, so the retained
  image bounds differ from the integer offset by about 1e-13. Compare
  with a small tolerance instead of exact equality.
- The neutral comparison reference keeps the committed geometry and
  lens so composition matches the result (editor workspace design 7).
  The lens check still expected an uncorrected reference.
- App startup creates the editor only after the update adapter is ready
  in the background. The localization check looked for the window once
  at the first idle callback; wait until the editor has loaded.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Clarity and dehaze forced every preview through a full-resolution,
single-threaded CPU render, so each edit took about three seconds on a
20 MP photo.

Viewport PREVIEW+BUFFER requests now reduce the working image before the
atmosphere stages. The analysis grid and radii still derive from the
complete source, and the dehaze cache also keys on working dimensions.
FINAL, file output, non-viewport sessions and native-or-larger requests
keep their exact bytes.

Independent pixels in the area average, atmosphere application, neutral
look and vibrance run through cv::parallel_for_; output bytes are the
same at any thread count. GPU Auto still falls back to CPU and Force
still returns UNSUPPORTED.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
PresentationTests still read AdjustmentParameter.photoTools, a list only
the test used. After 0.9 added black point, white point, vibrance,
clarity and dehaze it no longer matched the editor, so the macOS model
job stopped there and skipped the suites after it.

The test now walks EditorAdjustmentGroup, the definition the adjustment
dock renders, and photoTools is removed. usage-termination.sh also
compiles the desktop update sources that MacGeometryWindowGuard needs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
test(mac): 展示测试改查真实编辑器分组,并补齐 usage-termination 的更新源文件
perf(core): 去朦胧和清晰度预览按预览尺寸计算并多线程化
fix(mac): preserve failed-update recovery and reject wrong signing certificates
release: RawLab 0.9.0 (build 15)
@dancancer
dancancer merged commit a4de533 into development Oct 28, 2026
7 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