Changelog for python-chess¶
New in v1.2.1¶
The primary location for the published package is now https://pypi.org/project/chess/. Thanks to Kristian Glass for transferring the namespace.
The old https://pypi.org/project/python-chess/ will remain an alias that installs the package from the new location as a dependency (as recommended by PEP423).
New in v1.2.0¶
New features:
Added
chess.Board.ply().Added
chess.pgn.GameNode.ply()andchess.pgn.GameNode.turn().Added
chess.engine.PovWdl,chess.engine.Wdl, and conversions from scores:chess.engine.PovScore.wdl(),chess.engine.Score.wdl().Added
chess.engine.Score.score(*, mate_score: int) -> intoverload.
Changes:
The
PovScorereturned bychess.pgn.GameNode.eval()is now always relative to the side to move. The ambiguity around[%eval #0]has been resolved toMate(-0). This makes sense, given that the authors of the specification probably had standard chess in mind (where a game-ending move is always a loss for the opponent). Previously, this would be parsed asNone.Typed
chess.engine.InfoDict["wdl"]as the newchess.engine.PovWdl, rather thanTuple[int, int, int]. The new type is backwards compatible, but it is recommended to use its documented fields and methods instead.Removed
chess.engine.PovScore.__str__(). String representation falls back to__repr__.The
en_passantparameter ofchess.Board.fen()andchess.Board.epd()is now typed asLiteral["legal", "fen", "xfen"]rather thanstr.
New in v1.1.0¶
New features:
Added
chess.svg.board(..., orientation). This is a more idiomatic way to set the board orientation thanflipped.Added
chess.svg.Arrow.pgn()andchess.svg.Arrow.from_pgn().
Changes:
Further relaxed
chess.Board.parse_san(). Now accepts fully specified moves likee2e4, even if that is not a pawn move, castling notation with zeros, null moves in UCI notation, and null moves in XBoard notation.
New in v1.0.1¶
Bugfixes:
chess.svg: Restored SVG Tiny compatibility by splitting colors like#rrggbbaainto a solid color and opacity.
New in v1.0.0¶
See CHANGELOG-OLD.rst for changes up to v1.0.0.