## [2.4.6](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.5...v2.4.6) (2026-02-22) ### Bug Fixes * bestMove mismatch in analysis mode and re-enable root PVS ([e71968c](https://github.com/josefjadrny/js-chess-engine/commit/e71968cd971fe9758a934dca22ef1f425d35b232)) ## [2.4.5](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.4...v2.4.5) (2026-02-21) ## [2.4.4](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.3...v2.4.4) (2026-02-21) ### Features * Add opening randomness to vary AI vs AI games ([b050242](https://github.com/josefjadrny/js-chess-engine/commit/b050242)) ### Bug Fixes * Lock randomness to same move quality tier as best move ([64d1861](https://github.com/josefjadrny/js-chess-engine/commit/64d18613ef9f6911dd1500b4698d9836d6b666d5)) * Only apply opening randomness when randomness not explicitly set ([b7a0f3d](https://github.com/josefjadrny/js-chess-engine/commit/b7a0f3d)) ## [2.4.3](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.2...v2.4.3) (2026-02-21) ### Bug Fixes * Disable randomness by default, even 10cp causes bad moves at level 5 ([d116c7a](https://github.com/josefjadrny/js-chess-engine/commit/d116c7a19ef79bf51870535b2d6b897e12c1f1da)) ## [2.4.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.1...v2.4.2) (2026-02-21) ### Bug Fixes * Disable PVS at root when collecting scores for randomness ([ca28202](https://github.com/josefjadrny/js-chess-engine/commit/ca2820222c60b75a24f11f91e8bf66a757fe650b)) * Use threshold-based randomness to prevent selecting blunders ([bb31c90](https://github.com/josefjadrny/js-chess-engine/commit/bb31c90f3d83f454711bccb8638b0a7856b3dc0b)) ## [2.4.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.4.0...v2.4.1) (2026-02-20) ### Bug Fixes * Apply randomness noise after search completes, reduce default to 10cp ([70d29cf](https://github.com/josefjadrny/js-chess-engine/commit/70d29cf541ce8922494a2527a54761a0f89ff519)) * Preserve PVS when collecting scores for randomness ([d8e4f39](https://github.com/josefjadrny/js-chess-engine/commit/d8e4f39c1bfc3552cce6cc449676475c727715eb)) * Use threshold-based randomness to prevent selecting blunders ([bb31c90](https://github.com/josefjadrny/js-chess-engine/commit/bb31c90)) * Disable PVS at root when collecting scores for randomness ([ca28202](https://github.com/josefjadrny/js-chess-engine/commit/ca28202)) # [2.4.0](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.8...v2.4.0) (2026-02-20) ### Bug Fixes * Reduce bishop value to equal knight (330 → 320) ([bfe5e98](https://github.com/josefjadrny/js-chess-engine/commit/bfe5e98068982548e76e22a307617fa43a8d08ab)) ### Features * Add randomness option to AI for varied move selection ([6a507ed](https://github.com/josefjadrny/js-chess-engine/commit/6a507ed63caac5da0b810cd36fc2978a6c691cf8)) ## [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](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.7...v2.3.8) (2026-02-19) ### Bug Fixes * Remove 256 MB upper limit on transposition table size ([eeec251](https://github.com/josefjadrny/js-chess-engine/commit/eeec2514d83a31c7c1111a53f5696d83b2779252)) ## [2.3.7](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.6...v2.3.7) (2026-02-18) ### Bug Fixes * Remove dead code, redundant guards, and minor inefficiencies ([ab29cbb](https://github.com/josefjadrny/js-chess-engine/commit/ab29cbbb1318e99eaf1523df7ca9dbb5c9d0c549)) ## [2.3.6](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.5...v2.3.6) (2026-02-12) ### Features * Add aspiration windows to iterative deepening (~15% speedup) ([3be8a2f](https://github.com/josefjadrny/js-chess-engine/commit/3be8a2fa9a12ca86c6e7b58b8996a9d0d53e26c0)) ## [2.3.5](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.4...v2.3.5) (2026-02-06) ### Bug Fixes * Updated TT cache for level 5 ([68ac6ae](https://github.com/josefjadrny/js-chess-engine/commit/68ac6aee992e7f4d39904ea0b989ff87b0eff857)) ## [2.3.4](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.3...v2.3.4) (2026-02-05) ### Bug Fixes * TT cache for lvl5 increased for browser ([fd00407](https://github.com/josefjadrny/js-chess-engine/commit/fd0040713f43113e2ad12fec9ec3b707f0153660)) ## [2.3.3](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.2...v2.3.3) (2026-02-05) ### Bug Fixes * Rollback cache for high levels ([19718c9](https://github.com/josefjadrny/js-chess-engine/commit/19718c9ad44f2d62cf6e4d120e12f8920609485e)) * TT imports removed ([4245a53](https://github.com/josefjadrny/js-chess-engine/commit/4245a53b5e3316b7464f063860ade1a001b74baf)) ## [2.3.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.1...v2.3.2) (2026-02-04) ### Bug Fixes * Lower levels AI eased and memory consumption lowered based on tests ([d671c17](https://github.com/josefjadrny/js-chess-engine/commit/d671c17ab95d23a953b6c3bbb9a560edb75fd725)) ## [2.3.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.3.0...v2.3.1) (2026-02-04) # [2.3.0](https://github.com/josefjadrny/js-chess-engine/compare/v2.2.3...v2.3.0) (2026-02-02) ### Bug Fixes * Interal AI engine params updated ([756a1f6](https://github.com/josefjadrny/js-chess-engine/commit/756a1f6f023bd0a5e1e49b767d03960c2def8d24)) * Sync isFinished & staleMate, update docs ([8c836f3](https://github.com/josefjadrny/js-chess-engine/commit/8c836f3680340777377d0b634638f95049356342)) ### Features * Add analysis option to AI ([af8cd52](https://github.com/josefjadrny/js-chess-engine/commit/af8cd52cdd23c913aaa8e434aa4b40dc3b0a0c82)) * Add depth option to AI to make it fully customizable ([228e1c0](https://github.com/josefjadrny/js-chess-engine/commit/228e1c00e25e6834f8d4897ff7a913406df106de)) ## [2.2.3](https://github.com/josefjadrny/js-chess-engine/compare/v2.2.2...v2.2.3) (2026-02-01) ## [2.2.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.2.1...v2.2.2) (2026-02-01) ### Bug Fixes * Use TT default for depracated aiMove ([0967e52](https://github.com/josefjadrny/js-chess-engine/commit/0967e528391543505891be09400a17b77ad10de1)) ## [2.2.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.2.0...v2.2.1) (2026-02-01) ### Bug Fixes * Fen export fix ([7dc835b](https://github.com/josefjadrny/js-chess-engine/commit/7dc835bc4b1dc83cbc7f8c6c0c67702fd57024f8)) # [2.2.0](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.5...v2.2.0) (2026-01-31) ### Features * Refactor engine to target major bugs ([#34](https://github.com/josefjadrny/js-chess-engine/issues/34)) ([a981395](https://github.com/josefjadrny/js-chess-engine/commit/a981395b57c19110e42f44d5e2be4ad87927d424)) ## [2.1.5](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.4...v2.1.5) (2026-01-30) ### Bug Fixes * extended root blunder guardrail ([ef304e4](https://github.com/josefjadrny/js-chess-engine/commit/ef304e40cce69d883694c0614cc847ac6ea99a7e)) ## [2.1.4](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.3...v2.1.4) (2026-01-30) ### Bug Fixes * The hang penalty is now correctly applied during tactical evaluations. ([71b9085](https://github.com/josefjadrny/js-chess-engine/commit/71b90851113dc3a5f4dcdd76c018981d0cd5fb90)) ## [2.1.3](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.2...v2.1.3) (2026-01-30) ### Bug Fixes * "hanging piece" blunder ([8453cc5](https://github.com/josefjadrny/js-chess-engine/commit/8453cc581ac05f45aa2a616148836ec0e9fb6fc3)) ## [2.1.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.1...v2.1.2) (2026-01-29) ### Bug Fixes * AI engine fixes ([17c4fee](https://github.com/josefjadrny/js-chess-engine/commit/17c4fee6312fe8e79088bdac30046ba79b87902e)) ## [2.1.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.1.0...v2.1.1) (2026-01-29) # [2.1.0](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.3...v2.1.0) (2026-01-29) ### Features * New highest AI difficulty level added, docs updated ([23b79f2](https://github.com/josefjadrny/js-chess-engine/commit/23b79f28fc35e9a667c50d3bf237fcf14a4b8c9a)) ## [2.0.3](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.2...v2.0.3) (2026-01-29) ### Bug Fixes * Fixed Piece square table bug and minimax negation ([d434b11](https://github.com/josefjadrny/js-chess-engine/commit/d434b11250e4006d38cc27912b8093b65d6e1bc2)) ## [2.0.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.1...v2.0.2) (2026-01-29) ### Bug Fixes * Fixed bug in TT caching causing best moves being skipped ([252d9b8](https://github.com/josefjadrny/js-chess-engine/commit/252d9b8f4a5ac329d688940e5cda324df170ea98)) ## [2.0.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.0...v2.0.1) (2026-01-29) ### Bug Fixes * ai sacrifice pieces bug ([f75ceb6](https://github.com/josefjadrny/js-chess-engine/commit/f75ceb6e848266b7a8f4567f07f8d25f470fdc64)) ## [2.0.1](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.1-rc.2...v2.0.1) (2026-01-29) ### Bug Fixes * bug with pawn moves ([ee0613c](https://github.com/josefjadrny/js-chess-engine/commit/ee0613c60ef4c2331afc06f241ea7ff014ee5155)) ## [2.0.1-rc.2](https://github.com/josefjadrny/js-chess-engine/compare/v2.0.1-rc.1...v2.0.1-rc.2) (2026-01-28) ## [2.0.1-rc.0](https://github.com/josefjadrny/js-chess-engine/compare/v1.0.3...v2.0.1-rc.0) (2026-01-28) * feat!: change AI levels from 0-4 to 1-5, implement auto-scaling TT cache ([e373a35](https://github.com/josefjadrny/js-chess-engine/commit/e373a353225926c1b8555d60c5cdc678559ec8d8)) ### Bug Fixes * remove stub test that conflicts with Phase 1 placeholder ([63344c3](https://github.com/josefjadrny/js-chess-engine/commit/63344c3ee38287cae2dae84dfc65c4937ce60d71)) ### Features * add interactive example and improve board visualization ([38128f0](https://github.com/josefjadrny/js-chess-engine/commit/38128f08e5da7c6788d03f0fe8402f1bb804481d)) * add new ai() method with move and board state return ([4f93fdb](https://github.com/josefjadrny/js-chess-engine/commit/4f93fdbd29d1dd61a4dfdaaa8ac4e86dc7810fb3)) * implement move generation with comprehensive test suite ([34721ee](https://github.com/josefjadrny/js-chess-engine/commit/34721ee30bfc9ec0ee3279090c95ceebbe5d0a81)) * implement performance optimizations with 65% faster AI ([67d2943](https://github.com/josefjadrny/js-chess-engine/commit/67d294399edbbcba7f9a6bd34f612d0aeba4293e)) * Phase 1 - Core foundation with TypeScript ([2559f15](https://github.com/josefjadrny/js-chess-engine/commit/2559f15fec83c46e6548a08793873bdcbec6a673)) * Phase 3 - Complete v1-compatible API layer ([4c5e810](https://github.com/josefjadrny/js-chess-engine/commit/4c5e810bd384fe075e051a012ee5bb8864be333c)) ### Performance Improvements * optimize AI test performance (81% faster) ([0b45506](https://github.com/josefjadrny/js-chess-engine/commit/0b45506356dd4abe6f00ad6020cecbc05e3ca139)) * optimize AI test performance (85% faster) ([7c8f48f](https://github.com/josefjadrny/js-chess-engine/commit/7c8f48f2fd8ce3b23f85f1291bd147633b0a6f91)) ### 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 ## [1.0.3](https://github.com/josefjadrny/js-chess-engine/compare/v1.0.2...v1.0.3) (2025-09-01) ### Bug Fixes * Add nodejs 20 support ([559244d](https://github.com/josefjadrny/js-chess-engine/commit/559244d6cd4c67fea15e6bfe6b55c862e728cd62)) * getHistory() check property consistently returning false ([#31](https://github.com/josefjadrny/js-chess-engine/issues/31)) ([05845d1](https://github.com/josefjadrny/js-chess-engine/commit/05845d1506ca377ad7dcbc46afe2bc88608cd127)), closes [#28](https://github.com/josefjadrny/js-chess-engine/issues/28) ## [1.0.2](https://github.com/josefjadrny/js-chess-engine/compare/v1.0.1...v1.0.2) (2021-10-24) ### Bug Fixes * Fixed FEN parsing ([#23](https://github.com/josefjadrny/js-chess-engine/issues/23)) ([14ebe50](https://github.com/josefjadrny/js-chess-engine/commit/14ebe506e300e2a22fed81696f76ef117c00c2d7)) ## [1.0.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.11.3...v1.0.1) (2021-10-16) ### Bug Fixes * fixed array sort in firefox ([#21](https://github.com/josefjadrny/js-chess-engine/issues/21)) ([42c5913](https://github.com/josefjadrny/js-chess-engine/commit/42c5913a46faa5eaccf142dfd34cf83adf538435)) # [1.0.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.11.3...v1.0.0) (2021-10-13) ## [0.11.3](https://github.com/josefjadrny/js-chess-engine/compare/v0.11.2...v0.11.3) (2021-03-29) ### Bug Fixes * **AI:** AI configuration and logic improved. Add new level (4) for testing. Add new Example ([bd2261b](https://github.com/josefjadrny/js-chess-engine/commit/bd2261be6b99df8f4de8d5a5326398e33d3015d4)) ## [0.11.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.11.1...v0.11.2) (2021-03-27) ### Bug Fixes * **AI:** Calculation time - fixing v0.11.1 ([4d426ae](https://github.com/josefjadrny/js-chess-engine/commit/4d426ae82dd78efbc2cbd370c2dca69dae17bd5d)) ## [0.11.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.11.0...v0.11.1) (2021-03-27) ### Bug Fixes * **AI:** Checkmate is not ignored when score is not changed ([56b98d9](https://github.com/josefjadrny/js-chess-engine/commit/56b98d9e04f1ce0f4ab74cf4663aa8958f5b5742)) * **AI:** Do not end with draw ([5000a17](https://github.com/josefjadrny/js-chess-engine/commit/5000a176d443680d05d9de2b981fc51ff064d6cf)) # [0.11.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.10.0...v0.11.0) (2021-03-20) ### Bug Fixes * Error message for AI levels ([db2e856](https://github.com/josefjadrny/js-chess-engine/commit/db2e856ddf7ddc96b59755f3325093fc2cb8dadd)) ### Features * AI calculation time decreased and AI level 3 plays better ([a47bd5f](https://github.com/josefjadrny/js-chess-engine/commit/a47bd5f6045cd781177078e75b1c901ae5ab3224)) # [0.10.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.9.1...v0.10.0) (2021-03-12) ### Features * Add response object with performed move to move() and aiMove() ([8d3cbe5](https://github.com/josefjadrny/js-chess-engine/commit/8d3cbe5a367b2bf2330e1e107ee908ed054fd8be)) ## [0.9.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.9.0...v0.9.1) (2021-03-11) ### Bug Fixes * Add doc for React app ([bfe53cc](https://github.com/josefjadrny/js-chess-engine/commit/bfe53cc8fd5f3f2d14da80926cd012fbdd2962bf)) # [0.9.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.8.0...v0.9.0) (2021-03-07) ### Features * Add chess board configuration to getHistory to retrieve previous in-game configurations ([afc86a8](https://github.com/josefjadrny/js-chess-engine/commit/afc86a8132fc94c0d513b0bb1c675a552f520c3e)) # [0.8.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.7.0...v0.8.0) (2021-03-05) ### Features * Add setPiece and removePiece ([5c02db2](https://github.com/josefjadrny/js-chess-engine/commit/5c02db2ba57c4238cefebe2852b724c38939caf5)) # [0.7.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.6.2...v0.7.0) (2021-02-28) ### Features * Add getHistory which returns played moves ([#13](https://github.com/josefjadrny/js-chess-engine/issues/13)) ([f6ff267](https://github.com/josefjadrny/js-chess-engine/commit/f6ff26710f74d7256ecd4273261454217e324fcb)) ## [0.6.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.6.1...v0.6.2) (2021-02-26) ### Bug Fixes * en passant move recognition when using FEN ([#12](https://github.com/josefjadrny/js-chess-engine/issues/12)) ([c41b2d7](https://github.com/josefjadrny/js-chess-engine/commit/c41b2d7c776ede419d3a8e3d9106580c53683dba)) ## [0.6.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.6.0...v0.6.1) (2021-02-08) ### Bug Fixes * Castling for black player (closes [#9](https://github.com/josefjadrny/js-chess-engine/issues/9)) ([e7d3bf3](https://github.com/josefjadrny/js-chess-engine/commit/e7d3bf39b25d94dce57d47e11a4594426449a442)) # [0.6.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.5.2...v0.6.0) (2020-12-30) ### Features * Add check indicator to response object ([d6d4fb9](https://github.com/josefjadrny/js-chess-engine/commit/d6d4fb91d3098bd4067284fcd96f5c3b0b4de360)) ## [0.5.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.5.1...v0.5.2) (2020-12-28) ### Bug Fixes * Keywords should be an array ([8ced735](https://github.com/josefjadrny/js-chess-engine/commit/8ced7355984e803ad209f560a3afcd2460c3f808)) ## [0.5.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.5.0...v0.5.1) (2020-11-01) ### Bug Fixes * small calc fix ([f3d722b](https://github.com/josefjadrny/js-chess-engine/commit/f3d722b4c5e36a6e704cafec9280e84323bb5a18)) # [0.5.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.8...v0.5.0) (2020-07-13) ### Features * Add piece location scores to improve AI logic ([7d7db38](https://github.com/josefjadrny/js-chess-engine/commit/7d7db3884ef334d3d731f3f0a07ce66f85463811)) * AI levels updated. Depth is now calculated from situation on the chessboard. ([9d32b7c](https://github.com/josefjadrny/js-chess-engine/commit/9d32b7ce341743b36d428e5f4803ca6763d76eb2)) ## [0.4.8](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.7...v0.4.8) (2020-07-10) ### Features * AI speed increased (~5-10), score is now passed from previous move ([10bdf28](https://github.com/josefjadrny/js-chess-engine/commit/10bdf28a94f8aff523351736cb5e9f5a2d07d96f)) ## [0.4.7](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.6...v0.4.7) (2020-07-09) ### Features * AI move calculation speed up (~10%) ([ace2820](https://github.com/josefjadrny/js-chess-engine/commit/ace2820a36d71c137d4e7be628fcb38dd4f062f4)) ## [0.4.6](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.5...v0.4.6) (2020-07-09) ### Features * AI logic improved - score increased for moves with pawn and castling, score decreased for useless king moves ([935f21f](https://github.com/josefjadrny/js-chess-engine/commit/935f21f473c5efaaddd01fdaa25b5d1795b5132f)) ## [0.4.5](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.4...v0.4.5) (2020-07-08) ### Features * AI calculation stopped when max Value is reached ([4f0b070](https://github.com/josefjadrny/js-chess-engine/commit/4f0b070db61760bc1c5c3d3721c49b8eedfa09b3)) ## [0.4.4](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.3...v0.4.4) (2020-07-08) ### Bug Fixes * Castling is not possible in check ([7d985aa](https://github.com/josefjadrny/js-chess-engine/commit/7d985aa92af1f4d0ab82ae8d96d0f07f143948e6)) ## [0.4.3](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.2...v0.4.3) (2020-07-06) ### Features * AI level is increased with only few pieces left to prevent useless moves ([50e2eb3](https://github.com/josefjadrny/js-chess-engine/commit/50e2eb326f7b2c37386444553f2421b237516bf6)) ## [0.4.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.4.1...v0.4.2) (2020-07-06) ### Features * Check is now calculated from King moves with is faster ([3fe35af](https://github.com/josefjadrny/js-chess-engine/commit/3fe35af00831e2456601bb17170882c78a18eeae)) ## [0.4.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.3.0...v0.4.1) (2020-06-11) ### Features * Engine has been refactored and optimized ([#1](https://github.com/josefjadrny/js-chess-engine/issues/1)) ([2a2c3c1](https://github.com/josefjadrny/js-chess-engine/commit/2a2c3c15110a40ecce1d81df15bb432061d20fb6)) # [0.4.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.3.0...v0.4.0) (2020-06-11) ### Features * Engine has been refactored and optimized ([#1](https://github.com/josefjadrny/js-chess-engine/issues/1)) ([2a2c3c1](https://github.com/josefjadrny/js-chess-engine/commit/2a2c3c15110a40ecce1d81df15bb432061d20fb6)) # [0.3.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.9...v0.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](https://github.com/josefjadrny/js-chess-engine/commit/c306492ef62050f026197c231fd0f090c16bbe90)) ## [0.2.9](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.8...v0.2.9) (2020-06-01) ### Features * New game could be initialized from FEN ([2b02d34](https://github.com/josefjadrny/js-chess-engine/commit/2b02d34f460478767b6ce85eead39fd4aed4e6cc)) ## [0.2.9](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.8...v0.2.9) (2020-06-01) ### Features * New game could be initialized from FEN ([2b02d34](https://github.com/josefjadrny/js-chess-engine/commit/2b02d34f460478767b6ce85eead39fd4aed4e6cc)) ## [0.2.8](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.7...v0.2.8) (2020-05-28) ### Features * En passant a special pawn move rules added to pawn moves calculations ([b3516c2](https://github.com/josefjadrny/js-chess-engine/commit/b3516c2666a1e28a026511e6ef072987d98d3c43)) * En passant can be played now ([297c54b](https://github.com/josefjadrny/js-chess-engine/commit/297c54ba641045c94f73890d512fc7e7b64198ec)) ## [0.2.7](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.6...v0.2.7) (2020-05-27) ### Features * Add En passant move to FEN export ([0d67c5f](https://github.com/josefjadrny/js-chess-engine/commit/0d67c5f25f0d52f473d7425ff7ba3a43eaa57e5a)) * Add En passant move to JSON import/export. ([0f7a5cd](https://github.com/josefjadrny/js-chess-engine/commit/0f7a5cde548833004d40e5e02dd656b5a72d7997)) ## [0.2.6](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.5...v0.2.6) (2020-05-24) ## [0.2.5](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.4...v0.2.5) (2020-05-24) ### Features * Add FEN export of a chessboard ([b611566](https://github.com/josefjadrny/js-chess-engine/commit/b61156622a3b0af9d237866b40fbbd84a05446e6)) ## [0.2.4](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.3...v0.2.4) (2020-05-13) ## [0.2.3](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.2...v0.2.3) (2020-05-13) ### Bug Fixes * Attacking pieces score decreased about pawn ([7cc4bfa](https://github.com/josefjadrny/js-chess-engine/commit/7cc4bfad6956977dfb9b32d5515ce1c435940774)) ## [0.2.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.1...v0.2.2) (2020-05-13) ### Bug Fixes * Ingame pieces score is multiplied to reduce depth influence in score calculation ([2f2eb22](https://github.com/josefjadrny/js-chess-engine/commit/2f2eb2216566cc5cce16d290eca2c83f6525a981)) ### Features * Add attacking pieces to move calculations ([ddf6a06](https://github.com/josefjadrny/js-chess-engine/commit/ddf6a063a54574f83ffedd580812abb607b37faf)) ## [0.2.1](https://github.com/josefjadrny/js-chess-engine/compare/v0.2.0...v0.2.1) (2020-05-12) # [0.2.0](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.33...v0.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](https://github.com/josefjadrny/js-chess-engine/commit/bec0a9f62c2ea195c061678c9085146f9bea37c9)) ## [0.1.33](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.32...v0.1.33) (2020-05-11) ### Bug Fixes * Last move score calculated wrongly ([a3cecb4](https://github.com/josefjadrny/js-chess-engine/commit/a3cecb4234df8f2008eb235c0e68c8823af2df52)) ## [0.1.32](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.31...v0.1.32) (2020-05-11) ### Bug Fixes * Board enum rollback ([da6265a](https://github.com/josefjadrny/js-chess-engine/commit/da6265ac3946610f4d948fbf95ff7133be134b65)) ## [0.1.31](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.30...v0.1.31) (2020-05-11) ### Features * Checkmate logic improved - part2 ([5e24a05](https://github.com/josefjadrny/js-chess-engine/commit/5e24a05fef9c8e991f2f6387d47949bb65b62297)) ## [0.1.30](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.29...v0.1.30) (2020-05-11) ### Features * Checkmate logic improved ([bd4066e](https://github.com/josefjadrny/js-chess-engine/commit/bd4066e648d4fa75e4c5b3766ee162ade47453b3)) ## [0.1.29](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.28...v0.1.29) (2020-05-10) ### Bug Fixes * Random decreased, sometimes bad move is picked ([f2071d9](https://github.com/josefjadrny/js-chess-engine/commit/f2071d902a0217598f7bb33d89ba9a8da5623005)) ## [0.1.28](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.27...v0.1.28) (2020-05-09) ### Bug Fixes * Examples fix ([a31fbba](https://github.com/josefjadrny/js-chess-engine/commit/a31fbbafd446fa174624d2c628ca6cc0325346c1)) ## [0.1.27](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.26...v0.1.27) (2020-05-08) ## [0.1.26](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.25...v0.1.26) (2020-05-08) ## [0.1.25](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.24...v0.1.25) (2020-05-08) ### Bug Fixes * White is a default player when none is provided ([7e5701b](https://github.com/josefjadrny/js-chess-engine/commit/7e5701b35acf387f916eb3ff067ce03d526a3563)) ## [0.1.24](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.23...v0.1.24) (2020-05-08) ## [0.1.23](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.22...v0.1.23) (2020-05-07) ## [0.1.22](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.21...v0.1.22) (2020-05-07) ## [0.1.21](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.20...v0.1.21) (2020-05-07) ## [0.1.20](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.19...v0.1.20) (2020-05-07) ### Features * Add randomizer to AI move logic calculation to prevent repeating of moves with same score ([4323e19](https://github.com/josefjadrny/js-chess-engine/commit/4323e193dfaf3141a8b25afd61c9984e5f3138e8)) ## [0.1.19](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.18...v0.1.19) (2020-05-07) ### Features * Add level support to Example server ([77a760d](https://github.com/josefjadrny/js-chess-engine/commit/77a760d02759a46292edd82398a2806297f8d0e7)) ## [0.1.18](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.17...v0.1.18) (2020-05-07) ### Features * AI speed rapidly increased. ([98a0a6e](https://github.com/josefjadrny/js-chess-engine/commit/98a0a6ebbf5f7f155df248befd6eac0e23082559)) ## [0.1.17](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.16...v0.1.17) (2020-05-06) ### Features * Queen replaces a pawn when a pawn reaches an end of a chessboard. ([285e4b9](https://github.com/josefjadrny/js-chess-engine/commit/285e4b93b85730d4a3376e2287f6f5bee5f6a902)) ## [0.1.16](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.15...v0.1.16) (2020-05-06) ### Features * Computer logic improved - need optimalizations ([4263220](https://github.com/josefjadrny/js-chess-engine/commit/426322064c4f87bff46987039296396bf864b970)) ## [0.1.15](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.14...v0.1.15) (2020-05-05) ### Features * Computer AI improved ([33bfb80](https://github.com/josefjadrny/js-chess-engine/commit/33bfb804cc686e0339910189fee81cac6554b79d)) ## [0.1.14](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.13...v0.1.14) (2020-05-04) ### Bug Fixes * Fixed AI move when all moves has same score ([0e77dfa](https://github.com/josefjadrny/js-chess-engine/commit/0e77dfae2c708f7538af765d131ba5da9fcb9d55)) ## [0.1.13](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.12...v0.1.13) (2020-05-04) ### Features * AI logic init - it can calculate one move to the future ([08f646f](https://github.com/josefjadrny/js-chess-engine/commit/08f646f305268d755bbbc90dfbe1c2c0f4222df8)) ## [0.1.12](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.11...v0.1.12) (2020-05-03) ### Bug Fixes * Castlings - constructor name is transpiled during build ([0218f4a](https://github.com/josefjadrny/js-chess-engine/commit/0218f4ab5351115370f139b2b1ebc706aa41dee6)) ## [0.1.11](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.10...v0.1.11) (2020-05-03) ## [0.1.10](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.9...v0.1.10) (2020-05-03) ### Features * Add Initial computer AI logic (level 0 - random moves) ([d7d46b0](https://github.com/josefjadrny/js-chess-engine/commit/d7d46b0ca9e3b9ac83be3c5facc72140b7d65a2c)) ## [0.1.9](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.8...v0.1.9) (2020-05-02) ## [0.1.8](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.7...v0.1.8) (2020-05-02) ## [0.1.7](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.6...v0.1.7) (2020-05-02) ## [0.1.6](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.5...v0.1.6) (2020-05-02) ### Bug Fixes * Typo ([5c525c8](https://github.com/josefjadrny/js-chess-engine/commit/5c525c831ebaca675bbbc3213a669df1de0b83ec)) ## [0.1.5](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.4...v0.1.5) (2020-05-02) ## [0.1.4](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.3...v0.1.4) (2020-05-02) ## [0.1.3](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.2...v0.1.3) (2020-05-02) ### Bug Fixes * Webpack build ([d04a515](https://github.com/josefjadrny/js-chess-engine/commit/d04a5153285df36174b71c429e300612fe2b2a19)) ## [0.1.2](https://github.com/josefjadrny/js-chess-engine/compare/v0.1.1...v0.1.2) (2020-05-02) ## [0.1.1](https://github.com/josefjadrny/js-chess-engine/compare/0a7f28466ad3a6f8391c53615bb6e76148737761...v0.1.1) (2020-05-02) ### Bug Fixes * Castling functions fix for black player ([3f43949](https://github.com/josefjadrny/js-chess-engine/commit/3f43949dd90a3a46ea41faffd5bf9ea3a3419d9c)) * fixed main module ([41af084](https://github.com/josefjadrny/js-chess-engine/commit/41af084c3f0757a280a3fa0bed85560197a638b6)) ### Features * Added castling functions ([c5fedf2](https://github.com/josefjadrny/js-chess-engine/commit/c5fedf264b4e631b5247fb5a2d761f0496efe297)) * Added move() function witch check-mate checking ([09288aa](https://github.com/josefjadrny/js-chess-engine/commit/09288aa30b64471fd59acc91c45a3a4b4b1294fb)) * Added status function for retrieve game status info (checkmate, isFinished) ([52566b9](https://github.com/josefjadrny/js-chess-engine/commit/52566b93c46ac8822934be18d88fc3f546774dc1)) * Castling is now sent and parsed in stateless mode ([d76bc05](https://github.com/josefjadrny/js-chess-engine/commit/d76bc055652ae0fdf2d31a3d68ccfc8b9059723f)) * Initial commit with moves calculation engine ([0a7f284](https://github.com/josefjadrny/js-chess-engine/commit/0a7f28466ad3a6f8391c53615bb6e76148737761))