2.4.6 (2026-02-22)
- bestMove mismatch in analysis mode and re-enable root PVS (e71968c)
2.4.5 (2026-02-21)
2.4.4 (2026-02-21)
- Add opening randomness to vary AI vs AI games (b050242)
- Lock randomness to same move quality tier as best move (64d1861)
- Only apply opening randomness when randomness not explicitly set (b7a0f3d)
2.4.3 (2026-02-21)
- Disable randomness by default, even 10cp causes bad moves at level 5 (d116c7a)
2.4.2 (2026-02-21)
- Disable PVS at root when collecting scores for randomness (ca28202)
- Use threshold-based randomness to prevent selecting blunders (bb31c90)
2.4.1 (2026-02-20)
- Apply randomness noise after search completes, reduce default to 10cp (70d29cf)
- Preserve PVS when collecting scores for randomness (d8e4f39)
- Use threshold-based randomness to prevent selecting blunders (bb31c90)
- Disable PVS at root when collecting scores for randomness (ca28202)
2.4.0 (2026-02-20)
- Reduce bishop value to equal knight (330 → 320) (bfe5e98)
- Add randomness option to AI for varied move selection (6a507ed)
- Add
randomnessoption to AI for varied, less predictable move selection. The engine picks randomly among moves withinrandomnesscentipawns of the best move (default: 10cp). Set to0for fully deterministic play.
2.3.8 (2026-02-19)
- Remove 256 MB upper limit on transposition table size (eeec251)
2.3.7 (2026-02-18)
- Remove dead code, redundant guards, and minor inefficiencies (ab29cbb)
2.3.6 (2026-02-12)
- Add aspiration windows to iterative deepening (~15% speedup) (3be8a2f)
2.3.5 (2026-02-06)
- Updated TT cache for level 5 (68ac6ae)
2.3.4 (2026-02-05)
- TT cache for lvl5 increased for browser (fd00407)
2.3.3 (2026-02-05)
2.3.2 (2026-02-04)
- Lower levels AI eased and memory consumption lowered based on tests (d671c17)
2.3.1 (2026-02-04)
2.3.0 (2026-02-02)
2.2.3 (2026-02-01)
2.2.2 (2026-02-01)
- Use TT default for depracated aiMove (0967e52)
2.2.1 (2026-02-01)
- Fen export fix (7dc835b)
2.2.0 (2026-01-31)
2.1.5 (2026-01-30)
- extended root blunder guardrail (ef304e4)
2.1.4 (2026-01-30)
- The hang penalty is now correctly applied during tactical evaluations. (71b9085)
2.1.3 (2026-01-30)
- "hanging piece" blunder (8453cc5)
2.1.2 (2026-01-29)
- AI engine fixes (17c4fee)
2.1.1 (2026-01-29)
2.1.0 (2026-01-29)
- New highest AI difficulty level added, docs updated (23b79f2)
2.0.3 (2026-01-29)
- Fixed Piece square table bug and minimax negation (d434b11)
2.0.2 (2026-01-29)
- Fixed bug in TT caching causing best moves being skipped (252d9b8)
2.0.1 (2026-01-29)
- ai sacrifice pieces bug (f75ceb6)
2.0.1 (2026-01-29)
- bug with pawn moves (ee0613c)
2.0.1-rc.2 (2026-01-28)
2.0.1-rc.0 (2026-01-28)
- feat!: change AI levels from 0-4 to 1-5, implement auto-scaling TT cache (e373a35)
- remove stub test that conflicts with Phase 1 placeholder (63344c3)
- add interactive example and improve board visualization (38128f0)
- add new ai() method with move and board state return (4f93fdb)
- implement move generation with comprehensive test suite (34721ee)
- implement performance optimizations with 65% faster AI (67d2943)
- Phase 1 - Core foundation with TypeScript (2559f15)
- Phase 3 - Complete v1-compatible API layer (4c5e810)
- optimize AI test performance (81% faster) (0b45506)
- optimize AI test performance (85% faster) (7c8f48f)
- AI difficulty levels now range from 1-5 instead of 0-4
Changes:
- AI levels: 0-4 → 1-5 (level 0 becomes level 1, etc.)
- Default level: 2 → 3 (maintains similar difficulty in middle range)
- Level names updated: Beginner/Easy/Intermediate/Advanced/Expert
- Auto-scaling transposition table: cache size now scales automatically by AI level
- Lower levels use less memory for faster responses
- Higher levels use more cache for better move quality
- Modernized browser cache sizes for 2024+ devices:
- Level 3 (default): 2 MB → 8 MB (appropriate for modern browsers)
- All browser caches increased 2-4x for better performance
- Added centralized TT size table in README with anchor links
- Updated all error messages, validation, tests, and documentation
Migration:
- Level 0 → Level 1 (Beginner)
- Level 1 → Level 2 (Easy)
- Level 2 → Level 3 (Intermediate, default)
- Level 3 → Level 4 (Advanced)
- Level 4 → Level 5 (Expert)
Benefits:
- More intuitive: levels starting from 1 instead of 0
- Smarter memory management: auto-scales cache by level
- Better performance: modern browser cache sizes
- Cleaner docs: centralized TT table, no duplication
All tests passing (237/237)
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
1.0.3 (2025-09-01)
- Add nodejs 20 support (559244d)
- getHistory() check property consistently returning false (#31) (05845d1), closes #28
1.0.2 (2021-10-24)
1.0.1 (2021-10-16)
1.0.0 (2021-10-13)
0.11.3 (2021-03-29)
- AI: AI configuration and logic improved. Add new level (4) for testing. Add new Example (bd2261b)
0.11.2 (2021-03-27)
- AI: Calculation time - fixing v0.11.1 (4d426ae)
0.11.1 (2021-03-27)
0.11.0 (2021-03-20)
- Error message for AI levels (db2e856)
- AI calculation time decreased and AI level 3 plays better (a47bd5f)
0.10.0 (2021-03-12)
- Add response object with performed move to move() and aiMove() (8d3cbe5)
0.9.1 (2021-03-11)
- Add doc for React app (bfe53cc)
0.9.0 (2021-03-07)
- Add chess board configuration to getHistory to retrieve previous in-game configurations (afc86a8)
0.8.0 (2021-03-05)
- Add setPiece and removePiece (5c02db2)
0.7.0 (2021-02-28)
0.6.2 (2021-02-26)
0.6.1 (2021-02-08)
0.6.0 (2020-12-30)
- Add check indicator to response object (d6d4fb9)
0.5.2 (2020-12-28)
- Keywords should be an array (8ced735)
0.5.1 (2020-11-01)
- small calc fix (f3d722b)
0.5.0 (2020-07-13)
- Add piece location scores to improve AI logic (7d7db38)
- AI levels updated. Depth is now calculated from situation on the chessboard. (9d32b7c)
0.4.8 (2020-07-10)
- AI speed increased (~5-10), score is now passed from previous move (10bdf28)
0.4.7 (2020-07-09)
- AI move calculation speed up (~10%) (ace2820)
0.4.6 (2020-07-09)
- AI logic improved - score increased for moves with pawn and castling, score decreased for useless king moves (935f21f)
0.4.5 (2020-07-08)
- AI calculation stopped when max Value is reached (4f0b070)
0.4.4 (2020-07-08)
- Castling is not possible in check (7d985aa)
0.4.3 (2020-07-06)
- AI level is increased with only few pieces left to prevent useless moves (50e2eb3)
0.4.2 (2020-07-06)
- Check is now calculated from King moves with is faster (3fe35af)
0.4.1 (2020-06-11)
0.4.0 (2020-06-11)
0.3.0 (2020-06-03)
- FEN can be now used everywhere instead of JSON. move(config) call has been changed to move(config, from, to). (c306492)
0.2.9 (2020-06-01)
- New game could be initialized from FEN (2b02d34)
0.2.9 (2020-06-01)
- New game could be initialized from FEN (2b02d34)
0.2.8 (2020-05-28)
- En passant a special pawn move rules added to pawn moves calculations (b3516c2)
- En passant can be played now (297c54b)
0.2.7 (2020-05-27)
0.2.6 (2020-05-24)
0.2.5 (2020-05-24)
- Add FEN export of a chessboard (b611566)
0.2.4 (2020-05-13)
0.2.3 (2020-05-13)
- Attacking pieces score decreased about pawn (7cc4bfa)
0.2.2 (2020-05-13)
- Ingame pieces score is multiplied to reduce depth influence in score calculation (2f2eb22)
- Add attacking pieces to move calculations (ddf6a06)
0.2.1 (2020-05-12)
0.2.0 (2020-05-12)
- Minimax algorithm implemented for picking best move. Dept calculation can vary and depends on pieces still in game. (bec0a9f)
0.1.33 (2020-05-11)
- Last move score calculated wrongly (a3cecb4)
0.1.32 (2020-05-11)
- Board enum rollback (da6265a)
0.1.31 (2020-05-11)
- Checkmate logic improved - part2 (5e24a05)
0.1.30 (2020-05-11)
- Checkmate logic improved (bd4066e)
0.1.29 (2020-05-10)
- Random decreased, sometimes bad move is picked (f2071d9)
0.1.28 (2020-05-09)
- Examples fix (a31fbba)
0.1.27 (2020-05-08)
0.1.26 (2020-05-08)
0.1.25 (2020-05-08)
- White is a default player when none is provided (7e5701b)
0.1.24 (2020-05-08)
0.1.23 (2020-05-07)
0.1.22 (2020-05-07)
0.1.21 (2020-05-07)
0.1.20 (2020-05-07)
- Add randomizer to AI move logic calculation to prevent repeating of moves with same score (4323e19)
0.1.19 (2020-05-07)
- Add level support to Example server (77a760d)
0.1.18 (2020-05-07)
- AI speed rapidly increased. (98a0a6e)
0.1.17 (2020-05-06)
- Queen replaces a pawn when a pawn reaches an end of a chessboard. (285e4b9)
0.1.16 (2020-05-06)
- Computer logic improved - need optimalizations (4263220)
0.1.15 (2020-05-05)
- Computer AI improved (33bfb80)
0.1.14 (2020-05-04)
- Fixed AI move when all moves has same score (0e77dfa)
0.1.13 (2020-05-04)
- AI logic init - it can calculate one move to the future (08f646f)
0.1.12 (2020-05-03)
- Castlings - constructor name is transpiled during build (0218f4a)
0.1.11 (2020-05-03)
0.1.10 (2020-05-03)
- Add Initial computer AI logic (level 0 - random moves) (d7d46b0)
0.1.9 (2020-05-02)
0.1.8 (2020-05-02)
0.1.7 (2020-05-02)
0.1.6 (2020-05-02)
- Typo (5c525c8)
0.1.5 (2020-05-02)
0.1.4 (2020-05-02)
0.1.3 (2020-05-02)
- Webpack build (d04a515)