Fixed
- Keep global application PID and launch-readiness reads off the main actor and outside KVO callbacks, use workspace membership instead of termination queries, and discard stale metadata across stop, restart, and application replacement.
- Retain each exact application wrapper until its readiness observation finishes unregistering, preventing premature deallocation during queued cleanup and semantic wrapper replacement.
- Return promptly from async timeouts and caller cancellation without joining uncooperative work, and preserve cancellation received before the result gate is installed. Thanks @SebTardif.
Verification
-
Xcode 27 universal CLI: arm64 and x86_64; release compilation completed without warnings.
-
Full default tests: 209 passed; 18 intentional opt-in automation skips. Signed version/help checks passed.
-
Restrictive-umask packaging regression: four cases passed; archive executable mode verified as
0755. -
Developer ID: OpenClaw Foundation; hardened runtime, timestamp, strict signature verification and empty entitlements.
-
Source: 37d7ae8, with the same tree as the tested release candidate.
-
SHA-256:
80f6d6faf5b753e54282abc6158a3c2f52a13dcb72b8f055e917b85d2a918852. -
Apple notarization: Accepted, submission
9ac100c8-0f54-47ce-bc33-606e6acf267c.
Fresh-VM qualification was not run for this expedited release.