Releases: CrispStrobe/CrispChess
Releases · CrispStrobe/CrispChess
Release list
v2.0.2
Highlights
- New engine: Lynx (MIT, ~3350 ELO) — integrated as a native engine and, via AOT-compiled WebAssembly, as a browser-playable engine (2-3x faster than a straight interpreter build). Runs on the main thread with a Module Worker, with the UI now showing its version and git commit hash.
- Stockfish on iOS via WebKit — downloaded at runtime rather than compiled in, so the shipped app binary stays GPL-free while still offering Stockfish-strength play on iOS.
- New engines page groups Built-in, Maia3, Lc0, Frozenight, Lynx, and Stockfish, each with ELO range and license, on the About screen.
- CLI and REST API server for driving the engines outside the app.
Gameplay & training
- Chess960 and other chess variants, selectable from Settings.
- Board themes and a solid-black-pieces toggle.
- Custom time controls and a Puzzle Rush mode.
- Coordinate Trainer and Opening Explorer (with web tablebase lookups).
- Blindfold mode and endgame drills.
- Pawn promotion now uses a proper dialog with a Unicode piece picker instead of always promoting to queen.
UI
- The overflow menu (⋮ in the game screen's app bar) was reorganized from a long flat list into grouped submenus: Game, Import / Export, Board Tools, Learn, Progress, plus top-level New Game / Settings / About.
- The About screen's version number now reads live from
pubspec.yamlviapackage_info_plusinstead of a hardcoded string that had drifted out of sync with the actual app version. - Full localization (English + German) across every screen, with a working language toggle that now actually takes effect and persists the saved value.
Fixes
- Repaired the full test suite — 274/274 tests passing again.
- Engine now reliably starts thinking when it becomes ready on its own turn (previously could stall).
- Offer-draw logic fixed: the engine's accept/decline decision was evaluating the position from the wrong side's perspective.
- Web startup slowness fixed by removing a conflicting service worker and deferring the Maia3 bundle load.
- A string of Lynx-WASM stability fixes: reduced memory footprint for macOS browsers, corrected heap sizing, right-sized the hash table for WASM, skipped an unnecessary warmup pass, fixed a
Convert.ToUInt64overflow, and capped search depth to keep the UI responsive. - Fixed the favicon showing the default Flutter icon instead of CrispChess's.
- Deploy workflow now has a fallback path; fixed a hint-request hang on web.
CI / Release
- Release workflow now also builds an unsigned iOS IPA.
Full Changelog: v2.0.0...v2.0.2
v2.0.1
v2.0.0
Full Changelog: https://github.com/CrispStrobe/CrispChess/commits/v2.0.0