You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Harden Arasan's in-process lifecycle with ordered background output, serialized and restartable start/stop behavior, callback-safe blocking teardown, and one active engine per linked package copy.
Prevent physical Apple devices from terminating during startup by running Arasan on an explicitly sized 4 MiB pthread stack and replacing upstream globals::initGlobals() in the embedded entry path with documented package-owned non-stack initialization.
Add public ArasanSoakRunner.stop() support and substantially strengthen smoke, soak, timeout-recovery, command-validation, resource-validation, and regression coverage.
Updated
Refresh vendored Arasan from c4bfcab0d5873cb5f61531426fad7a1b3abfe7f1 to upstream master commit c51273aa812c38bd54460adf68f2e15c32e74d71.
Package the default Lichess-derived corpus with arasan-soak and add a complete offline release-validation gate.
Make GitHub-hosted validation manual-only and optional; local validation remains the release evidence.
Compatibility
No breaking public API changes were detected against v1.0.6; ArasanSoakRunner.stop() is additive.
Runtime NNUE and Threads changes sent as raw UCI commands are now rejected. Create a newly configured engine to select a different NNUE network.
Embedded searches intentionally remain fixed at one Arasan thread, and Apple arm64 remains the supported architecture.
Validation
Complete clean-checkout Scripts/validate.sh gate: Debug and Release builds, the 55-test suite in normal and Thread Sanitizer modes, constrained-stack startup, CLI smoke and soak, simulator and generic-device builds, API compatibility, and committed-source archive/license verification.
Optional downloaded Syzygy tablebase integration test passed separately.
Physical iPad SwiftChessDemo validation with a disposable local package override: 111 Arasan-vs-Arasan plies and 79 mixed Stockfish/Arasan plies, with the app remaining alive and no engine failures.