Skip to content

SwiftChessDemo 1.2.0

Choose a tag to compare

@Trickfest Trickfest released this 13 Jul 20:38
· 13 commits to main since this release

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.0 at cb726e374e6f7c6c3f4986ea9a2564acd9fa8ae3

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-e4 and 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.