Skip to content

Tags: solft/python-chess

Tags

v1.9.4

Toggle v1.9.4's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.9.4

Bugfixes:

* Fix ``PovScore.wdl()`` ignored ``model`` and ``ply`` parameters.
* ``chess.syzygy``: Check that board matches tablebase variant.

New features:

* Add model ``sf15.1`` for ``chess.engine.Score.wdl()``.
* Raise more specific exceptions: ``chess.IllegalMoveError``,
  ``chess.AmbiguousMoveError``, and ``chess.InvalidMoveError``.

v1.9.3

Toggle v1.9.3's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.9.3

Bugfixes:

* Fix some valid characters were not accepted in PGN tag names.

Changes:

* Skip over syntactically invalid PGN tags.
* Detect Antichess insufficient material with two opposing knights.

New features:

* Add ``chess.Board.unicode(..., orientation=chess.WHITE)``.

v1.9.2

Toggle v1.9.2's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.9.2

Bugfixes:

* Fix recursive Crazyhouse move generation sometimes failing with
  with ``RuntimeError``.
* Fix rendering of black pawn SVG on dark background.

New features:

* Add ``chess.engine.AnalysisResult.would_block()``.

v1.9.1

Toggle v1.9.1's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.9.1

Bugfixes:

* Reject pawn capture SAN if the original file is not specified, e.g.,
  ``d5`` will no longer match ``cxd5``.

Changes:

* Tweak handling of whitespace in PGN comments: When parsing, any leading
  and trailing whitespace (beyond one space) is preserved. When joining
  multiple PGN comments, they are now separated with a space instead of a
  newline character. When removing annotations from comments, leftover
  whitespace is avoided.

New features:

* Add model ``sf15`` for ``chess.engine.Score.wdl()``.

v1.9.0

Toggle v1.9.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.9.0

Bugfixes:

* Expand position validation to detect check conflicting with en passant
  square.

New features:

* Add ``chess.svg.board(..., fill=...)``.
* Let ``chess.svg.board()`` add ASCII board as description of SVG.
* Add hint when engine process dies due to illegal instruction.

v1.8.0

Toggle v1.8.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.8.0

Bugfixes:

* Fix ``SquareSet.issuperset()`` and ``SquareSet.issubset()`` by swapping
  their respective implementations.

New features:

* Read and write PGN comments like ``[%emt 0:05:21]``.

v1.7.0

Toggle v1.7.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.7.0

New features:

* Added new models for ``chess.engine.Score.wdl()``: ``sf`` (the new default)
  and ``sf14``.
* Added ``chess.Board.piece_map()``.

Bugfixes:

* ``chess.pgn``: Fix skipping with nested variations.
* ``chess.svg``: Make check gradient compatible with QtSvg.

v1.6.1

Toggle v1.6.1's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.6.1

Bugfixes:

* Make ``chess.engine.SimpleEngine.play(..., draw_offered=True)`` available.
  Previously only added for ``chess.engine.Protocol``.

v1.6.0

Toggle v1.6.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.6.0

New features:

* Allow offering a draw to XBoard engines using
  ``chess.engine.Protocol.play(..., draw_offered=True)``.
* Now detects insufficient material in Horde. Thanks @stevepapazis!

Changes:

* ``chess.engine.popen_engine(..., setpgrp=True)`` on Windows now merges
  ``CREATE_NEW_PROCESS_GROUP`` into ``creationflags`` instead of overriding.
  On Unix it now uses ``start_new_session`` instead of calling ``setpgrp`` in
  ``preexec_fn``.
* Declare that ``chess.svg`` produces SVG Tiny 1.2, and prepare SVG 2 forwards
  compatibility.

Bugfixes:

* Fix slightly off-center pawns in ``chess.svg``.
* Fix typing error in Python 3.10 (due to added ``int.bit_count``).

v1.5.0

Toggle v1.5.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.5.0

Bugfixes:

* Fixed typing of ``chess.pgn.Mainline.__reversed__()``. It is now a generator,
  and ``chess.pgn.ReverseMainline`` has been **removed**.
  This is a breaking change but a required bugfix.
* Implement UCI **ponderhit** for consecutive calls to
  ``chess.engine.Protocol.play(..., ponder=True)``. Previously, the pondering
  search was always stopped and restarted.
* Provide the full move stack, not just the position, for UCI pondering.
* Fixed XBoard level in sudden death games.
* Ignore trailing space after ponder move sent by UCI engine.
  Previously, such a move would be rejected.
* Prevent cancelling engine commands after they have already been cancelled or
  completed. Some internals (``chess.engine.BaseCommand``) have been changed to
  accomplish this.

New features:

* Added ``chess.Board.outcome()``.
* Implement and accept usermove feature for XBoard engines.

Special thanks to @MarkZH for many of the engine related changes in this
release!