Fabian Fichter [Sat, 1 Apr 2023 15:33:16 +0000]
Fix gives_check for cannons and kings (#620)
Closes #590.
Fabian Fichter [Sat, 1 Apr 2023 14:35:19 +0000]
Fix assertion for en passant
Fabian Fichter [Sat, 1 Apr 2023 11:31:45 +0000]
Remove unnecessary cleanup in ffishjs makefile
Fabian Fichter [Sat, 1 Apr 2023 10:40:24 +0000]
Fix shako castling when rook in corner (#617)
Fabian Fichter [Fri, 31 Mar 2023 22:58:56 +0000]
Remove redundant appveyor pyffish build
Fabian Fichter [Fri, 31 Mar 2023 22:09:24 +0000]
Consider duple check in is_check
Fabian Fichter [Fri, 31 Mar 2023 16:53:05 +0000]
Fix new variant config
Fabian Fichter [Fri, 31 Mar 2023 16:26:25 +0000]
Add more variant configs
QueensGambit [Wed, 29 Mar 2023 18:17:57 +0000]
Bump version
Bajusz Tamás [Wed, 29 Mar 2023 06:16:29 +0000]
Bump pyffish version (#613)
RainRat [Tue, 28 Mar 2023 09:52:58 +0000]
move isolation, joust, snailtrail to default build. fix typos (#611)
Fabian Fichter [Sun, 26 Mar 2023 16:26:50 +0000]
Tweak custom piece value estimation
Fabian Fichter [Sun, 26 Mar 2023 14:11:01 +0000]
Add passed pawn evaluation for custom pawns
Fabian Fichter [Sat, 25 Mar 2023 16:26:04 +0000]
Simplify usages of piece types and sets
No functional change.
Fabian Fichter [Sat, 25 Mar 2023 13:35:08 +0000]
Support multiple castling rook types (#603)
Closes #52.
gnunicode [Sat, 25 Mar 2023 10:21:26 +0000]
Update descriptions (#605)
Fabian Fichter [Fri, 24 Mar 2023 22:27:55 +0000]
Replace set<PieceType> by PieceSet enum (#602)
Simplifies the code and improves performance.
No functional change.
Fabian Fichter [Fri, 24 Mar 2023 15:54:31 +0000]
Support custom pawn pieces
This introduces support for
* initial moves, promotions, and en passant for all pieces.
* arbitrarily shaped double/triple step and promotion regions.
* per color configuration of promotion types and zone, etc.
These new configuration options enable support for
* Berolina, Spartan, Wolf
* Torpedo, pawnsideways, pawnback
* Legan, Troitzky
Most changed configuration options are kept as deprected options for now
for backwards compatibility, but it is recommended to migrate variant
configuration files as the deprecated options might be removed later.
Closes #305, closes #4, closes #209, closes #260, closes #51, closes #328, closes #596.
No functional change for other variants.
Fabian Fichter [Fri, 24 Mar 2023 00:10:02 +0000]
Add utility script for regression testing
No functional change.
Fabian Fichter [Sun, 19 Mar 2023 19:27:56 +0000]
Skip parsing invalid squares (#599)
Fabian Fichter [Fri, 17 Mar 2023 11:17:33 +0000]
Fix atomic captures with wall squares
Closes #599.
Fabian Fichter [Wed, 8 Mar 2023 22:21:00 +0000]
Fix CI out of memory
Closes #586.
Fabian Fichter [Fri, 3 Mar 2023 23:26:09 +0000]
Update README.md
Fabian Fichter [Fri, 3 Mar 2023 22:15:38 +0000]
Update README.md
Fabian Fichter [Sun, 26 Feb 2023 22:04:16 +0000]
Update README.md
Fabian Fichter [Fri, 24 Feb 2023 18:17:43 +0000]
Update FUNDING.yml
Fabian Fichter [Sat, 18 Feb 2023 14:20:00 +0000]
Limit depth for all=yes to reduce stack usage
Partially addresses #583.
Snowmoondaphne [Tue, 14 Feb 2023 21:57:10 +0000]
Update variants.ini
Ada Joule [Tue, 24 Jan 2023 20:54:19 +0000]
Add typescript type definition file for ffish.js (#571)
Fabian Fichter [Tue, 24 Jan 2023 20:49:32 +0000]
Fix CI
bench: 6180480
RainRat [Tue, 24 Jan 2023 20:37:50 +0000]
static and past gating: isolation, joust, snailtrail (#579)
Fabian Fichter [Fri, 20 Jan 2023 15:23:12 +0000]
Less move count pruning for wall gating
duck STC
ELO: 54.65 +-27.2 (95%) LOS: 100.0%
Total: 500 W: 234 L: 156 D: 110
duck LTC
ELO: 68.63 +-43.2 (95%) LOS: 99.9%
Total: 200 W: 97 L: 58 D: 45
amazons STC
ELO: 30.65 +-43.4 (95%) LOS: 91.9%
Total: 250 W: 136 L: 114 D: 0
QueensGambit [Sun, 15 Jan 2023 08:23:04 +0000]
Bump version
Fabian Fichter [Sat, 14 Jan 2023 17:29:38 +0000]
Bump pyffish version
Fabian Fichter [Sat, 14 Jan 2023 15:37:01 +0000]
Support wall squares (#565)
Add support for squares that are neither accessible
nor traversable, using the standard `*` notation.
* Add support for duck chess, closing #528.
* Add support for wall squares, e.g., Omicron and Gustav III chess, closing #53.
* Support petrification on capture.
* Refactor game of the amazons to use wall squares.
* This changes both the FEN and move representation.
* Enable -DALLVARS for both pyffish and ffishjs.
Note: With this commit `pieces() == pieces(WHITE) | pieces(BLACK)`
can no longer be assumed due to the possibility of wall squares.
Fabian Fichter [Fri, 13 Jan 2023 19:10:14 +0000]
Correctly restrict to mustDropType
Closes #549.
Fabian Fichter [Fri, 13 Jan 2023 18:38:54 +0000]
Ignore temporary immobility for immobilityIllegal
Closes #521.
Fabian Fichter [Fri, 13 Jan 2023 19:27:55 +0000]
Consider configured pawn mobility region
Closes #498.
Ada Joule [Mon, 26 Dec 2022 17:19:58 +0000]
Thai Notations (#563)
Fabian Fichter [Sat, 10 Dec 2022 17:37:08 +0000]
Support Paradigm chess
Fabian Fichter [Sat, 10 Dec 2022 17:21:40 +0000]
Fix variant parsing for invalid board size
QueensGambit [Sat, 3 Dec 2022 10:57:42 +0000]
Bump version
Bajusz Tamás [Fri, 2 Dec 2022 12:58:48 +0000]
Dobutsu rule fixes (#553)
Terry Hearst [Fri, 25 Nov 2022 19:40:48 +0000]
Update ffish-test deployment link
Bajusz Tamás [Fri, 25 Nov 2022 15:05:17 +0000]
Pyffish python11 (#546)
Snowmoondaphne [Wed, 2 Nov 2022 16:34:30 +0000]
Update variants.ini
disservin [Sun, 16 Oct 2022 12:37:01 +0000]
enable bit manipulation instruction set 1
bmi1 enables the use of _blsr_u64 for pop_lsb, and is availabe when avx2 is.
verified a small speedup (0.2 - 0.6%)
closes https://github.com/official-stockfish/Stockfish/pull/4202
No functional change
Fabian Fichter [Sat, 8 Oct 2022 10:53:00 +0000]
Update AUTHORS
Rick [Wed, 5 Oct 2022 21:25:53 +0000]
Update xboard.cpp - remove command
Adding remove command xboard sends with CTRL+X, only sent when player's turn, go back two moves to players previous turn. Allows player to go back and try different moves without engine stopping like undo, see https://www.gnu.org/software/xboard/engine-intf.html#8 for differences between undo and remove.
QueensGambit [Sat, 1 Oct 2022 14:37:37 +0000]
Bump version
Bajusz Tamás [Sat, 1 Oct 2022 10:51:22 +0000]
Epose variant capturesToHand to js/python (#522)
gbtami [Wed, 28 Sep 2022 09:34:00 +0000]
Bump pyffish version
QueensGambit [Sun, 25 Sep 2022 15:02:10 +0000]
Bump version
Ada Joule [Sat, 17 Sep 2022 13:59:48 +0000]
Implement correct Cambodian opening moves (#514)
Article 5, Items 3 and 4
https://docs.google.com/document/d/1adppJ66vonM27UYwC-KyldXl7oZ_5Pb0/edit?usp=sharing&ouid=
116281580550740302191&rtpof=true&sd=true
- The king now loses the ability to leap if an enemy rook moves into the
same rank or file
- The ferz can no longer capture with its leap
Ada Joule [Fri, 9 Sep 2022 11:01:04 +0000]
Implement Ouk Chaktrang's counting rules
According to Article 5, Item 5 of this document.
https://docs.google.com/document/d/1adppJ66vonM27UYwC-KyldXl7oZ_5Pb0/edit?usp=sharing&ouid=
116281580550740302191&rtpof=true&sd=true
To summarise the differences from Makruk:
1. The game ends in a draw immediately when the counting limit is reached,
instead of exceeded. This effectively reduces the counting limit by
one move.
2. The condition for a player to start board's honour counting is having
three pieces or less, regardless of the number of unpromoted pawns on
the board.
3. When the condition for piece's honour counting is met, the counting
player may choose not to go into it, and continue the board's honour
counting instead. This is be implemented by automatically choosing
the method that can reach the counting limit in less number of moves.
Tord Romstad [Tue, 12 Jul 2022 18:56:54 +0000]
Add in-built support for Miguel Illescas' Dragon Chess. (#505)
Belzedar94 [Tue, 28 Jun 2022 12:56:15 +0000]
Add in-built support for Raazuvaa (Maldivian Chess) (#503)
John Doknjas [Wed, 15 Jun 2022 17:45:17 +0000]
Improve FEN validation (#497)
Fabian Fichter [Wed, 8 Jun 2022 20:46:11 +0000]
Fix discovered check corner cases
Fabian Fichter [Fri, 3 Jun 2022 11:31:35 +0000]
Update README.md
Fabian Fichter [Thu, 19 May 2022 18:12:47 +0000]
Update 50 move rule for xiangqi
Closes #405.
kz04px [Tue, 24 May 2022 21:58:22 +0000]
Implement Variant::freeDrops (#486)
For some games like Ataxx and Othello, specifying the pieces in hand is unnecessary. Setting freeDrops to true removes this from the FEN string.
Fabian Fichter [Sat, 21 May 2022 20:55:55 +0000]
Enable NNUE for non-chess drop variants
Fabian Fichter [Sat, 21 May 2022 18:15:49 +0000]
Disable 50-move rule for ataxx
Fabian Fichter [Sat, 21 May 2022 17:34:04 +0000]
Add flipello perft tests
No functional change.
Snowmoondaphne [Sat, 21 May 2022 10:24:30 +0000]
Fixed Pandemonium, added Parahouse (new variant)
Fabian Fichter [Fri, 20 May 2022 11:59:09 +0000]
Add flipello to built-in variants
Also adjust NNUE code for othello and other non-chess variants.
Fabian Fichter [Mon, 16 May 2022 19:46:50 +0000]
Convert protocol option to enum
Closes #477.
QueensGambit [Thu, 12 May 2022 16:40:59 +0000]
Bump version
Bajusz Tamás [Thu, 12 May 2022 15:38:14 +0000]
Fix PGN parsing 960 variants (#474)
Bajusz Tamás [Mon, 9 May 2022 16:34:46 +0000]
Pyffish wheels (#471)
Bajusz Tamás [Fri, 29 Apr 2022 14:26:16 +0000]
Pyffish 0.0.72 (#469)
Fabian Fichter [Wed, 27 Apr 2022 21:27:36 +0000]
Support Xiangqi chasing rules
Add basic support for AXF chasing rules.
Some of the more complex cases are not handled yet.
Closes #55.
Fabian Fichter [Tue, 26 Apr 2022 14:23:00 +0000]
Update README.md
Fabian Fichter [Sun, 17 Apr 2022 10:13:39 +0000]
Update README.md
Fabian Fichter [Sat, 16 Apr 2022 22:15:07 +0000]
Ignore carriage returns in INI parsing
Fabian Fichter [Thu, 7 Apr 2022 20:56:38 +0000]
Update WASM repository URL
QueensGambit [Mon, 4 Apr 2022 17:54:20 +0000]
Bump ffish.js version
Fabian Fichter [Mon, 4 Apr 2022 17:37:18 +0000]
Fix quiet check move generation
for mandatory piece promotions.
Bajusz Tamás [Sat, 2 Apr 2022 20:05:07 +0000]
Bump pyffish version (#458)
Fabian Fichter [Tue, 29 Mar 2022 17:40:55 +0000]
Consider king checks
Affects bench due to pseudo-legal but illegal checks by kings.
bench: 6180480
Closes #451.
Fabian Fichter [Tue, 29 Mar 2022 18:20:29 +0000]
Fix shako castling
Consider pinned rook scenario like in chess960.
Closes #453.
Fabian Fichter [Fri, 1 Apr 2022 15:44:49 +0000]
Support checking of heredoc variant configs
Analogous to the loading of variant configs, also support checking
of configs specified directly in the CLI without an external file.
Fabian Fichter [Mon, 28 Mar 2022 18:52:08 +0000]
Support variant config parsing on CLI
Use here-docs to load variant configurations from the CLI.
```
load <<EOF
[testvariant:chess]
somerule = somevalue
EOF
```
TheYoBots [Mon, 21 Mar 2022 18:02:45 +0000]
Break through for smaller boards in variants.ini
Fabian Fichter [Sun, 20 Mar 2022 13:36:41 +0000]
Update link to NNUE overview
Yohaan Seth Nathan [Sat, 19 Mar 2022 12:13:20 +0000]
Update Copyright year
TheYoBots [Fri, 18 Mar 2022 16:35:33 +0000]
Update GitHub Actions
- actions/checkout@v2 to actions/checkout@v3 : https://github.com/actions/checkout/releases/tag/v3.0.0
- actions/upload-artifact@v2 to actions/upload-artifact@v3 : https://github.com/actions/upload-artifact/releases/tag/v3.0.0
Fabian Fichter [Thu, 17 Mar 2022 10:07:53 +0000]
Add NNUE releases link to readme
TheYoBots [Tue, 15 Feb 2022 12:50:11 +0000]
Simplify releases workflow
Bajusz Tamás [Mon, 14 Feb 2022 11:26:05 +0000]
Bump pyffish version (#442)
Ada Joule [Sun, 13 Feb 2022 10:34:17 +0000]
Make castling through flying general illegal
Remove the illegality for pseudo-royal
Fabian Fichter [Sun, 13 Feb 2022 18:54:09 +0000]
Update reference bench
bench: 5903196
Ada Joule [Sun, 13 Feb 2022 14:46:27 +0000]
Atomic check exception (#440)
QueensGambit [Thu, 3 Feb 2022 19:19:34 +0000]
Bump version
Bajusz Tamás [Thu, 3 Feb 2022 09:41:12 +0000]
Update appveyor_python.yml to suport Python 3.10 (#435)
Fabian Fichter [Wed, 2 Feb 2022 19:50:35 +0000]
Fix SAN generation for demotions
And use more consistent uppercase conversion.
TheYoBots [Mon, 10 Jan 2022 06:46:45 +0000]
Create a workflow for releases
The build.yml file is renamed to release.yml and it Uploads both linux and windows binaries that can be published in Releases.
SriMethan [Sun, 9 Jan 2022 08:08:57 +0000]
Remove unnecessary parts in Funding.yml
Fabian Fichter [Sun, 2 Jan 2022 12:08:30 +0000]
Fix Reversi style piece flips
between_bb was redefined in an upstream merge,
which broke the implementation for Reversi/Othello.