Skip to content

Latest commit

 

History

History
945 lines (342 loc) · 31.5 KB

File metadata and controls

945 lines (342 loc) · 31.5 KB

2.4.6 (2026-02-22)

Bug Fixes

  • bestMove mismatch in analysis mode and re-enable root PVS (e71968c)

2.4.5 (2026-02-21)

2.4.4 (2026-02-21)

Features

  • Add opening randomness to vary AI vs AI games (b050242)

Bug Fixes

  • 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)

Bug Fixes

  • Disable randomness by default, even 10cp causes bad moves at level 5 (d116c7a)

2.4.2 (2026-02-21)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • Reduce bishop value to equal knight (330 → 320) (bfe5e98)

Features

  • Add randomness option to AI for varied move selection (6a507ed)

[Unreleased]

Features

  • Add randomness option to AI for varied, less predictable move selection. The engine picks randomly among moves within randomness centipawns of the best move (default: 10cp). Set to 0 for fully deterministic play.

2.3.8 (2026-02-19)

Bug Fixes

  • Remove 256 MB upper limit on transposition table size (eeec251)

2.3.7 (2026-02-18)

Bug Fixes

  • Remove dead code, redundant guards, and minor inefficiencies (ab29cbb)

2.3.6 (2026-02-12)

Features

  • Add aspiration windows to iterative deepening (~15% speedup) (3be8a2f)

2.3.5 (2026-02-06)

Bug Fixes

  • Updated TT cache for level 5 (68ac6ae)

2.3.4 (2026-02-05)

Bug Fixes

  • TT cache for lvl5 increased for browser (fd00407)

2.3.3 (2026-02-05)

Bug Fixes

  • Rollback cache for high levels (19718c9)
  • TT imports removed (4245a53)

2.3.2 (2026-02-04)

Bug Fixes

  • Lower levels AI eased and memory consumption lowered based on tests (d671c17)

2.3.1 (2026-02-04)

2.3.0 (2026-02-02)

Bug Fixes

  • Interal AI engine params updated (756a1f6)
  • Sync isFinished & staleMate, update docs (8c836f3)

Features

  • Add analysis option to AI (af8cd52)
  • Add depth option to AI to make it fully customizable (228e1c0)

2.2.3 (2026-02-01)

2.2.2 (2026-02-01)

Bug Fixes

  • Use TT default for depracated aiMove (0967e52)

2.2.1 (2026-02-01)

Bug Fixes

2.2.0 (2026-01-31)

Features

  • Refactor engine to target major bugs (#34) (a981395)

2.1.5 (2026-01-30)

Bug Fixes

  • extended root blunder guardrail (ef304e4)

2.1.4 (2026-01-30)

Bug Fixes

  • The hang penalty is now correctly applied during tactical evaluations. (71b9085)

2.1.3 (2026-01-30)

Bug Fixes

  • "hanging piece" blunder (8453cc5)

2.1.2 (2026-01-29)

Bug Fixes

2.1.1 (2026-01-29)

2.1.0 (2026-01-29)

Features

  • New highest AI difficulty level added, docs updated (23b79f2)

2.0.3 (2026-01-29)

Bug Fixes

  • Fixed Piece square table bug and minimax negation (d434b11)

2.0.2 (2026-01-29)

Bug Fixes

  • Fixed bug in TT caching causing best moves being skipped (252d9b8)

2.0.1 (2026-01-29)

Bug Fixes

  • ai sacrifice pieces bug (f75ceb6)

2.0.1 (2026-01-29)

Bug Fixes

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)

Bug Fixes

  • remove stub test that conflicts with Phase 1 placeholder (63344c3)

Features

  • 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)

Performance Improvements

  • optimize AI test performance (81% faster) (0b45506)
  • optimize AI test performance (85% faster) (7c8f48f)

BREAKING CHANGES

  • 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)

Bug Fixes

  • Add nodejs 20 support (559244d)
  • getHistory() check property consistently returning false (#31) (05845d1), closes #28

1.0.2 (2021-10-24)

Bug Fixes

1.0.1 (2021-10-16)

Bug Fixes

1.0.0 (2021-10-13)

0.11.3 (2021-03-29)

Bug Fixes

  • AI: AI configuration and logic improved. Add new level (4) for testing. Add new Example (bd2261b)

0.11.2 (2021-03-27)

Bug Fixes

  • AI: Calculation time - fixing v0.11.1 (4d426ae)

0.11.1 (2021-03-27)

Bug Fixes

  • AI: Checkmate is not ignored when score is not changed (56b98d9)
  • AI: Do not end with draw (5000a17)

0.11.0 (2021-03-20)

Bug Fixes

  • Error message for AI levels (db2e856)

Features

  • AI calculation time decreased and AI level 3 plays better (a47bd5f)

0.10.0 (2021-03-12)

Features

  • Add response object with performed move to move() and aiMove() (8d3cbe5)

0.9.1 (2021-03-11)

Bug Fixes

0.9.0 (2021-03-07)

Features

  • Add chess board configuration to getHistory to retrieve previous in-game configurations (afc86a8)

0.8.0 (2021-03-05)

Features

  • Add setPiece and removePiece (5c02db2)

0.7.0 (2021-02-28)

Features

  • Add getHistory which returns played moves (#13) (f6ff267)

0.6.2 (2021-02-26)

Bug Fixes

  • en passant move recognition when using FEN (#12) (c41b2d7)

0.6.1 (2021-02-08)

Bug Fixes

  • Castling for black player (closes #9) (e7d3bf3)

0.6.0 (2020-12-30)

Features

  • Add check indicator to response object (d6d4fb9)

0.5.2 (2020-12-28)

Bug Fixes

  • Keywords should be an array (8ced735)

0.5.1 (2020-11-01)

Bug Fixes

0.5.0 (2020-07-13)

Features

  • 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)

Features

  • AI speed increased (~5-10), score is now passed from previous move (10bdf28)

0.4.7 (2020-07-09)

Features

  • AI move calculation speed up (~10%) (ace2820)

0.4.6 (2020-07-09)

Features

  • AI logic improved - score increased for moves with pawn and castling, score decreased for useless king moves (935f21f)

0.4.5 (2020-07-08)

Features

  • AI calculation stopped when max Value is reached (4f0b070)

0.4.4 (2020-07-08)

Bug Fixes

  • Castling is not possible in check (7d985aa)

0.4.3 (2020-07-06)

Features

  • AI level is increased with only few pieces left to prevent useless moves (50e2eb3)

0.4.2 (2020-07-06)

Features

  • Check is now calculated from King moves with is faster (3fe35af)

0.4.1 (2020-06-11)

Features

  • Engine has been refactored and optimized (#1) (2a2c3c1)

0.4.0 (2020-06-11)

Features

  • Engine has been refactored and optimized (#1) (2a2c3c1)

0.3.0 (2020-06-03)

Features

  • 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)

Features

  • New game could be initialized from FEN (2b02d34)

0.2.9 (2020-06-01)

Features

  • New game could be initialized from FEN (2b02d34)

0.2.8 (2020-05-28)

Features

  • 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)

Features

  • Add En passant move to FEN export (0d67c5f)
  • Add En passant move to JSON import/export. (0f7a5cd)

0.2.6 (2020-05-24)

0.2.5 (2020-05-24)

Features

  • Add FEN export of a chessboard (b611566)

0.2.4 (2020-05-13)

0.2.3 (2020-05-13)

Bug Fixes

  • Attacking pieces score decreased about pawn (7cc4bfa)

0.2.2 (2020-05-13)

Bug Fixes

  • Ingame pieces score is multiplied to reduce depth influence in score calculation (2f2eb22)

Features

  • Add attacking pieces to move calculations (ddf6a06)

0.2.1 (2020-05-12)

0.2.0 (2020-05-12)

Features

  • 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)

Bug Fixes

  • Last move score calculated wrongly (a3cecb4)

0.1.32 (2020-05-11)

Bug Fixes

0.1.31 (2020-05-11)

Features

  • Checkmate logic improved - part2 (5e24a05)

0.1.30 (2020-05-11)

Features

  • Checkmate logic improved (bd4066e)

0.1.29 (2020-05-10)

Bug Fixes

  • Random decreased, sometimes bad move is picked (f2071d9)

0.1.28 (2020-05-09)

Bug Fixes

0.1.27 (2020-05-08)

0.1.26 (2020-05-08)

0.1.25 (2020-05-08)

Bug Fixes

  • 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)

Features

  • Add randomizer to AI move logic calculation to prevent repeating of moves with same score (4323e19)

0.1.19 (2020-05-07)

Features

  • Add level support to Example server (77a760d)

0.1.18 (2020-05-07)

Features

  • AI speed rapidly increased. (98a0a6e)

0.1.17 (2020-05-06)

Features

  • Queen replaces a pawn when a pawn reaches an end of a chessboard. (285e4b9)

0.1.16 (2020-05-06)

Features

  • Computer logic improved - need optimalizations (4263220)

0.1.15 (2020-05-05)

Features

0.1.14 (2020-05-04)

Bug Fixes

  • Fixed AI move when all moves has same score (0e77dfa)

0.1.13 (2020-05-04)

Features

  • AI logic init - it can calculate one move to the future (08f646f)

0.1.12 (2020-05-03)

Bug Fixes

  • Castlings - constructor name is transpiled during build (0218f4a)

0.1.11 (2020-05-03)

0.1.10 (2020-05-03)

Features

  • 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)

Bug Fixes

0.1.5 (2020-05-02)

0.1.4 (2020-05-02)

0.1.3 (2020-05-02)

Bug Fixes

0.1.2 (2020-05-02)

0.1.1 (2020-05-02)

Bug Fixes

  • Castling functions fix for black player (3f43949)
  • fixed main module (41af084)

Features

  • Added castling functions (c5fedf2)
  • Added move() function witch check-mate checking (09288aa)
  • Added status function for retrieve game status info (checkmate, isFinished) (52566b9)
  • Castling is now sent and parsed in stateless mode (d76bc05)
  • Initial commit with moves calculation engine (0a7f284)