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) -> int
overload.
Changes:
The
PovScore
returned 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_passant
parameter 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#rrggbbaa
into a solid color and opacity.
New in v1.0.0¶
See CHANGELOG-OLD.rst
for changes up to v1.0.0.