Changelog
All notable changes to CheckAI are documented here. The format follows Keep a Changelog and the project adheres to Semantic Versioning.
[0.4.0] — 2026-03-05
Added
- Modern TypeScript Web UI — Complete modular rewrite with @bquery/bquery v1.4, Tailwind CSS v4, and Vite v7
- 12 modular TypeScript source files with reactive signal-driven architecture
- SVG chess board with click selection, legal move indicators, check highlight, board flip
- Analysis panel with real-time polling and score formatting (including mate detection)
- Promotion dialog, FEN/PGN toolbar tools, WebSocket indicator with auto-reconnect
- Vite-built SPA embedded into the Rust binary via dual
rust-embed(DistAssets + WebAssets fallback)
- FEN/PGN API endpoints
GET /api/games/{id}/fen— Export full 6-field FENPOST /api/games/fen— Create game from FEN stringGET /api/games/{id}/pgn— Export PGN with Seven Tag Roster
- King safety evaluation — Pawn shield, open file penalties, enemy piece tropism
- Piece mobility evaluation — Per-phase square counts for knights, bishops, rooks, queens
- Static Exchange Evaluation (SEE) — Filters bad captures at low depth
- Futility pruning — Skips quiet moves when static eval is far below alpha
- Build script (
build.rs) — Ensuresweb/dist/exists at compile time sorust-embedworks without a prior web build - Bun as frontend package manager (replaces Node.js/npm)
Changed
rust-embedusesinclude-excludefeature to exclude TS source from legacy embed- VitePress documentation updated for all new features
Fixed
- Promotion dialog not showing piece symbols (read wrong
data-attribute) - CI compile error when
web/dist/missing — addedbuild.rsto ensure the directory exists - Clippy warnings: collapsed nested ifs,
RangeInclusive::contains
[0.3.1] — 2026-03-02
Added
- VitePress documentation site — Complete project documentation built with VitePress and deployed to GitHub Pages
- Guide: Getting Started, CLI Commands, Docker, Configuration, Web UI, Analysis Engine, Opening Book, Tablebases, Architecture, i18n
- API Reference: REST API, WebSocket API, Analysis API with full endpoint docs and code samples
- Agent Protocol: Overview, Game State, Move Output, Chess Rules (FIDE 2023), Special Actions, Examples
- Local search, edit-on-GitHub links, dark mode
- GitHub Actions workflow (
docs.yml) — Auto-deploys docs to GitHub Pages on every release
[0.3.0] — 2026-03-02
Added
- Deep game analysis engine — Asynchronous analysis of complete games with a minimum search depth of 30 plies
- Alpha-beta search with PVS/Negascout, transposition table (configurable, default 64 MB), null-move pruning, late move reductions, killer/history heuristics, quiescence search
- PeSTO-style position evaluation with midgame/endgame piece-square tables, pawn structure analysis, bishop pair bonus
- Move quality classification: Best, Excellent (≤10 cp), Good (≤25 cp), Inaccuracy (≤50 cp), Mistake (≤100 cp), Blunder (>100 cp)
- Per-move centipawn loss, principal variation, accuracy percentages per side
- Zobrist hashing with compile-time key generation
- Opening book support — Polyglot
.binformat reader with binary search lookups - Endgame tablebase support — Syzygy tablebase interface with analytical probing for common endgames (KvK, KRvK, KQvK, etc.)
- Analysis REST API at
/api/analysis/*— Architecturally isolated from player-facing endpointsPOST /api/analysis/game/{id}— Submit game for async analysisGET /api/analysis/jobs— List all analysis jobsGET /api/analysis/jobs/{id}— Get job status and resultsDELETE /api/analysis/jobs/{id}— Cancel or delete a job
- Docker support — Multi-stage Dockerfile, docker-compose.yml with volume mounts
- Docker image CI — Release workflow builds and pushes Docker images to GHCR with semver tags
- CLI flags for analysis:
--book-path,--tablebase-path,--analysis-depth,--tt-size-mb
[0.2.2] — 2026-03-01
Fixed
- Draw offer logic: offers now persist correctly after the offerer makes a move
- AGENT.md example 15: corrected
en_passantfield fromnullto"e3"after1. e4
Added
- 37 comprehensive unit tests covering all critical chess engine edge cases
[0.2.1] — 2026-03-01
Fixed
- Web UI now embedded into the binary via
rust-embed, eliminating the need for an externalweb/directory - Removed
actix-filesdependency in favor ofrust-embed
[0.2.0] — 2026-03-01
Added
- Full internationalization (i18n) for all user-facing strings (8 languages)
- CI/CD pipelines for GitHub Actions
- Cross-platform install and uninstall scripts
- Automatic update check on startup
checkai updatecommand for self-updating
Changed
- All source code comments translated to English
- Web UI default language changed from German to English
[0.1.0] — 2025-02-28
Added
- Complete chess engine with full FIDE 2023 rules support
- REST API for AI agents
- WebSocket API with real-time event broadcasting
- Swagger/OpenAPI documentation
- Terminal interface with colored board display
- Game export in text, PGN, and JSON formats
- Game archiving with zstd compression
- Web UI for browser-based game viewing