Skip to content

Client 0.3.2

Latest

Choose a tag to compare

@chesslogic chesslogic released this 17 Jun 07:44

Fewer crashes. Big pawns.

  • Feature: Added fairy_chess_pawn_upgrades with pawn-sergeant generation support in Off, Pool, and Max modes.
  • Technical: Move hashes are now 64 bit.
    • This immediately allows us to populate a higher limit on distinct pieces, and may allow a wider variety of Directions among piece types.
    • Enables (non-generative) AI search, opening-book, killer/countermove, and transposition.
    • Note: Certain early crashes are to do with exploring unregistered Directions (e.g. a knight is 2,1 and 1,2; no piece moves 5,3).
  • Feature?: Improved crash and diagnostic reporting.
    • Failure text includes more board, history, and move context.
    • Centralized crash formatting.
    • Added GUI recoverable diagnostics to avoid ending certain sessions.
  • Bug fix: Hardened move generation and core make/unmake.
    • Previously could corrupt board state, or use garbage values due to an uninitialized MoveList cursor state.
    • Added move-generation context stack tracing and stronger MoveList reset/restart/iteration contracts.
    • Improved partial-make rollback.
  • Technical: Cleaned up client piece paths, item handling, location tracking, pawn setup/distribution, and mixed en-passant handling.
    • Extracted item randomization out of the handler, which is now more of a coordinator.
  • Technical: Added test coverage for fuzzed positions, crash repros, MoveList contracts, make/unmake safety, hash stability, and diagnostic formatting.

Full Changelog: v0.3.1...v0.3.2