Bugfixes:
- Fixed regression, where releases were uploaded without the
py.typed
marker.
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 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 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.
Bugfixes:
chess.svg
: Restored SVG Tiny compatibility by splitting colors like#rrggbbaa
into a solid color and opacity.
See CHANGELOG-OLD.rst
for changes up to v1.0.0.