Repository navigation
SwiftChessDemo 1.2.0
SwiftChessDemo 1.2.0 strengthens both embedded-engine integrations, improves accessibility and game-state behavior, and adds new light, dark, and tinted app icons.
Highlights
- Unifies Stockfish and Arasan behind a shared embedded-engine lifecycle with ordered UCI output, readiness barriers, analysis replacement, and off-main native teardown.
- Updates the public ArasanEmbedded dependency to 1.1.0, fixing the physical-device startup termination while preserving the vendored engine's upstream initialization.
- Retains game identity, history, repetition state, and draw claims through ChessUI position rendering.
- Retries an outstanding opponent turn after recovery from an engine failure.
- Hardens extreme move-time, MultiPV, deterministic-suggestion, and test-delay inputs.
- Improves VoiceOver announcements and modal behavior, accessibility-size layouts, setup scrolling, engine-demo controls, and resignation behavior.
- Disables iPad multiwindow creation to match the one-active-instance boundary of each embedded engine.
- Adds deterministic engine-session coverage, direct board-to-view-model UI coverage, and a live six-ply Arasan-versus-Arasan regression test.
- Makes GitHub-hosted checks optional and manual-only while adding a comprehensive local validation script.
Tested dependency set
- SwiftChessTools
v1.1.0 - StockfishEmbedded
v1.8.0 - ArasanEmbedded
v1.1.0atcb726e374e6f7c6c3f4986ea9a2564acd9fa8ae3
Arasan was resolved from its public GitHub package URL with no mirror or local package override. SwiftChessTools and StockfishEmbedded remain sibling source checkouts by design.
Validation
- All 71 app-hosted unit and integration tests passed.
- Generic iOS Release build passed and reported version 1.2.0 with multiwindow disabled.
- All 26 simulator UI tests passed.
- On an iPad Pro M4 running iPadOS 26.5.2, a signed build completed six live Arasan-versus-Arasan plies without termination.
- On the same physical iPad, a separate live game accepted
e2-e4and observed Stockfish's reply.
This is a source-only release. No app or binary artifacts are attached. Distribution of an app linked with StockfishEmbedded must comply with Stockfish's GPLv3 requirements.
See CHANGELOG.md for the complete list of changes.