Chess

Latest version: v1.11.1

Safety actively analyzes 685670 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

1.4.0

-----------------------------

New features:

* Let ``chess.pgn.GameNode.eval()`` accept PGN comments like
``[%eval 2.5,11]``, meaning 250 centipawns at depth 11.
Use ``chess.pgn.GameNode.eval_depth()`` and
``chess.pgn.GameNode.set_eval(..., depth)`` to get and set the depth.
* Read and write PGN comments with millisecond precision like
``[%clk 1:23:45.678]``.

Changes:

* Recover from invalid UTF-8 sent by an UCI engine, by ignoring that
(and only that) line.

1.3.3

-----------------------------

Bugfixes:

* Fixed unintended collisions and optimized ``chess.Piece.__hash__()``.
* Fixed false-positive ``chess.STATUS_IMPOSSIBLE_CHECK`` if checkers are
aligned with other king.

Changes:

* Also detect ``chess.STATUS_IMPOSSIBLE_CHECK`` if checker is aligned with
en passant square and king.

New features:

* Implemented Lichess winning chance model for ``chess.engine.Score``:
``score.wdl(model="lichess")``.

1.3.2

-----------------------------

Bugfixes:

* Added a new reason for ``board.status()`` to be invalid:
``chess.STATUS_IMPOSSIBLE_CHECK``. This detects positions where two sliding
pieces are giving check while also being aligned with the king
on the same rank, file, or diagonal. Such positions are impossible to reach,
break Stockfish, and maybe other engines.

1.3.1

----------------------------

Bugfixes:

* ``chess.pgn.read_game()`` now properly detects variant games with Chess960
castling rights (as well as mislabeled Standard Chess960 games). Previously,
all castling moves in such games were rejected.

1.3.0

----------------------------

Changes:

* Introduced ``chess.pgn.ChildNode``, a subclass of ``chess.pgn.GameNode``
for all nodes other than the root node, and converted ``chess.pgn.GameNode``
to an abstract base class. This improves ergonomics in typed code.

The change is backwards compatible if using only documented features.
However, a notable undocumented feature is the ability to create dangling
nodes. This is no longer possible. If you have been using this for
subclassing, override ``GameNode.add_variation()`` instead of
``GameNode.dangling_node()``. It is now the only method that creates child
nodes.

Bugfixes:

* Removed broken ``weakref``-based caching in ``chess.pgn.GameNode.board()``.

New features:

* Added ``chess.pgn.GameNode.next()``.

1.2.9

Bugfixes:
* Fixed drag and drop problems. After using a sniping tool during drag and drop, the latter would become buggy.


chess (development version)

* `install_chess()` must use Python 3.9.
* Fixed printing issue on MacOS
* Added `fish_move()` to have Stockfish play a move
* Added `fish_configure()` to startup Stockfish engine
* Added `{stockfish}` dependency
* Improved options for `install_chess()`

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.