Skip to content

python-chess v0.4.0

Compare
Choose a tag to compare
@niklasf niklasf released this 19 Aug 13:58
· 3399 commits to master since this release

New in this release:

  • Introduce can_claim_draw(), can_claim_fifty_moves() and
    can_claim_threefold_repitition().
  • Since the first of July 2014 a game is also over (even without claim by one
    of the players) if there were 75 moves without a pawn move or capture or
    a fivefold repitition. Let is_game_over() respect that. Introduce
    is_seventyfive_moves() and is_fivefold_repitition(). Other means of
    ending a game take precedence.
  • Threefold repitition checking requires efficient hashing of positions
    to build the table. So performance improvements were needed there. The
    default polyglot compatible zobrist hashes are now built incrementally.
  • Fix low level rotation operations l90(), l45() and r45(). There was
    no problem in core because correct versions of the functions were inlined.
  • Fix equality and inequality operators for Bitboard, Move and Piece.
    Also make them robust against comparisons with incompatible types.
  • Provide equality and inequality operators for SquareSet and
    polyglot.Entry.
  • Fix return values of incremental arithmetical operations for SquareSet.
  • Make polyglot.Entry a collections.namedtuple.
  • Determine and improve test coverage.
  • Minor coding style fixes.