393 Commits

Author SHA1 Message Date
Vincent Velociter f86493e94a Bump version v0.13.1 2026-05-25 12:32:58 +02:00
Vincent Velociter 65e62ace3c Merge pull request #54 from HaonRekcef/lazy-pgn
Add lazy parsing for multi-game PGN strings + tests
2026-05-19 10:18:00 +02:00
Vincent Velociter f0b98762b7 Merge pull request #55 from lichess-org/remove_fic 2026-05-18 11:15:44 +02:00
Vincent Velociter cac95d7fe3 Fix formatting 2026-05-18 11:09:27 +02:00
Vincent Velociter 83c1fd5e1b Update changelog 2026-05-18 11:01:21 +02:00
Vincent Velociter 829538954c Make Position completely immutable by switching pockets implementation 2026-05-18 10:55:10 +02:00
Vincent Velociter cb89b3ab3c Add more tests and benchmark 2026-05-18 10:33:39 +02:00
Vincent Velociter 3764620bd7 Fixes 2026-05-17 15:04:25 +02:00
Vincent Velociter 767a7b1960 Fix formatting 2026-05-17 14:27:38 +02:00
Vincent Velociter c23bc5b756 Update changelog 2026-05-17 14:24:37 +02:00
Vincent Velociter 8243acdb38 Remove fast immutable collections 2026-05-17 14:16:19 +02:00
Vincent Velociter a8d833ed91 Add claude.md 2026-05-17 13:46:09 +02:00
Vincent Velociter 54010e89d0 Change signature of makeLegalMoves 2026-05-16 01:22:57 +02:00
Noah a4f9f10104 Add lazy parsing for multi-game PGN strings + tests 2026-05-14 21:46:16 +02:00
Vincent Velociter 7f70954b61 Bump version v0.12.3 2026-03-21 11:10:46 +01:00
Vincent Velociter d2295f4fae Merge pull request #53 from tom-anders/crazyhouse-game-over
fix `Crazyhouse.isGameOver` and `isCheckmate` when the only legal moves are drop moves
2026-03-21 11:10:20 +01:00
tom-anders a2f3e3dcc1 fix Crazyhouse.isGameOver and isCheckmate when the only legal moves are drop moves 2026-03-21 10:24:19 +01:00
tom-anders 5c6c5d2583 add regression test 2026-03-21 10:23:14 +01:00
Vincent Velociter d3f2c57d11 Merge pull request #49 from lichess-org/dependabot/github_actions/ci-dependencies-a331d3ec2d
Bump actions/checkout from 4 to 5 in the ci-dependencies group
2026-03-12 09:44:01 +01:00
Vincent Velociter dad6f49425 Bump version v0.12.2 2026-03-03 13:11:30 +01:00
Vincent Velociter 3fa514f74f Merge pull request #52 from lichess-org/explosionSquares
Explosion squares
2026-03-03 13:10:08 +01:00
Vincent Velociter 70f62d4acf Fix lint 2026-03-03 13:02:14 +01:00
Vincent Velociter f07f3ebb79 Add the explosionSquares method to Atomic 2026-03-03 13:02:03 +01:00
dependabot[bot] e023016b91 Bump actions/checkout from 4 to 5 in the ci-dependencies group
Bumps the ci-dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-01 14:53:12 +00:00
Vincent Velociter 17f2bb4c74 Add badges 2026-02-19 10:37:30 +00:00
Vincent Velociter d973894ff3 Bump version v0.12.1 2026-02-19 10:03:24 +00:00
Vincent Velociter 919f40f03a Merge pull request #51 from tom-anders/fixHorde
Fix insufficient material detection in Horde, add more test cases
2026-02-19 10:02:27 +00:00
tom-anders e79a901409 Horde: rename _hordeBishops to _numBishops
This is closer to what Scalachess does and makes the code more readable.
_hordeBishops() now always returns the bishops of the Horde and
_piecesBishops always returns the bishops of the pieces.
2026-02-19 10:22:44 +01:00
tom-anders 2bc2980c71 Horde: fix failing insufficient material test cases
Found this by comparing with scalachess
2026-02-19 10:22:44 +01:00
tom-anders ac3eaaffe5 Horde: require King to be black in Horde.fromSetup 2026-02-19 10:22:44 +01:00
tom-anders da9ba1bf76 Horde: use scalachess' extensive test suite to test insufficient material 2026-02-19 09:24:45 +01:00
tom-anders 8f01abdccd Horde: fix crash during insufficient material detection.
`setPieceAt` returns a new board but that was ignored here, leading to
the pawn not being removed, causing infinite recursion

add @useResult to make sure something like this does not happen again in
the future.
2026-02-19 09:23:58 +01:00
Vincent Velociter c21c150755 Bump version v0.12.0 2026-02-03 18:41:46 +01:00
Vincent Velociter 45390d430e Merge pull request #50 from tom-anders/fix-perft
Fix en passant bugs in Atomic and Crazyhouse to make perft tests pass
2026-02-03 18:40:43 +01:00
tom-anders 23b357f520 test: enable Atomic and Crazyhouse perft tests, they pass now :)
closes #15, closes #16
2026-02-03 13:43:00 +01:00
tom-anders a3b0e86030 crazyhouse: fix en passant capture not filling pockets 2026-02-03 12:06:41 +01:00
tom-anders 619142b070 crazyhouse: reset en passant square after drop-moves 2026-02-03 11:07:14 +01:00
tom-anders 36a291fc19 atomic: correctly detect en passant capture 2026-02-03 12:08:56 +01:00
Vincent Velociter 170296429e Add the current FEN info to PlayException 2025-04-04 11:27:17 +02:00
Vincent Velociter 3bb93ad3c2 Rename isChess960 to includeAlternateCastlingMoves v0.11.0 2025-03-31 10:28:37 +02:00
Vincent Velociter a38a35d414 Update changelog 2025-02-17 10:56:54 +01:00
Vincent Velociter 3b3b591307 Bump version 2025-02-17 10:53:49 +01:00
Vincent Velociter f7f61b552c Merge pull request #48 from lichess-org/position_nongeneric
Non generic Position class
2025-02-17 10:51:06 +01:00
Vincent Velociter 72e6ee2912 Make Position non generic 2025-02-17 10:29:35 +01:00
Vincent Velociter ab307f5bfa Improve Position types 2025-02-10 14:50:05 +01:00
Vincent Velociter fdefa3274d Add a precision to changelog v0.9.2 2024-10-21 09:47:54 +02:00
Vincent Velociter ae44570bdb Merge pull request #43 from lichess-org/fix_castling_right_parsing
Fix castling rights parsing
2024-10-19 15:13:19 +02:00
Vincent Velociter e46db9ec24 Remove unused import 2024-10-19 15:08:19 +02:00
Vincent Velociter 88564d9cbe Bump version 2024-10-19 15:07:49 +02:00
Vincent Velociter 0d1add722b Fix castling rights parsing 2024-10-19 15:05:05 +02:00