changelog
- Thu, 30 Jul 2026 19:17:38 +0200
- by Mike Becker <universe@uap-core.de> [Thu, 30 Jul 2026 19:17:38 +0200] rev 163
- major refactoring of rules API
- validate_move() no longer alters the game state (fixes #935)
- get_threats() now correctly only reports threats
while get_candidates() reports possible moves (fixes #959)
- qualify GameState and Move parameters as const where possible
- Thu, 30 Jul 2026 18:34:15 +0200
- by Mike Becker <universe@uap-core.de> [Thu, 30 Jul 2026 18:34:15 +0200] rev 162
- add dependency on fen.h for rules.c
- Thu, 30 Jul 2026 11:49:47 +0200
- by Mike Becker <universe@uap-core.de> [Thu, 30 Jul 2026 11:49:47 +0200] rev 161
- convert some macros to static inline functions
also fixes a theoretical memmory access bug in king_isblocked()
- Wed, 29 Jul 2026 13:45:51 +0200
- by Mike Becker <universe@uap-core.de> [Wed, 29 Jul 2026 13:45:51 +0200] rev 160
- refactor rules.h / rules.c
- add meaningful type aliases
- add more useful functions and macros
- increase safety when working with flags and nibbles
- Tue, 28 Jul 2026 13:44:10 +0200
- by Mike Becker <universe@uap-core.de> [Tue, 28 Jul 2026 13:44:10 +0200] rev 159
- add another game to test stalemate detection
relates to #947
- Tue, 28 Jul 2026 13:37:19 +0200
- by Mike Becker <universe@uap-core.de> [Tue, 28 Jul 2026 13:37:19 +0200] rev 158
- gamestate_cleanup() is now safe to be called multiple times
fixes #950
- Tue, 28 Jul 2026 12:58:49 +0200
- by Mike Becker <universe@uap-core.de> [Tue, 28 Jul 2026 12:58:49 +0200] rev 157
- add FEN history to the game state
relates to #872
- Fri, 24 Jul 2026 15:35:06 +0200
- by Mike Becker <universe@uap-core.de> [Fri, 24 Jul 2026 15:35:06 +0200] rev 156
- fix: wrong error code when king moves into check and missing auto-disambiguation when one of the candidate pieces is pinned
fixes #899 and fixes #932
- Fri, 24 Jul 2026 12:53:58 +0200
- by Mike Becker <universe@uap-core.de> [Fri, 24 Jul 2026 12:53:58 +0200] rev 155
- fix: disambiguation by row while capturing was not implemented
fixes #934
- Fri, 24 Jul 2026 12:44:42 +0200
- by Mike Becker <universe@uap-core.de> [Fri, 24 Jul 2026 12:44:42 +0200] rev 154
- rename INVALID_POSITION to PIECE_NOT_FOUND
because that is really what it is used for