Skip to content

Tags: otobear/python-chess

Tags

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!

v1.4.0

Toggle v1.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.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.

v1.3.3

Toggle v1.3.3's commit message

Verified

This tag was signed with the committer’s verified signature.
niklasf Niklas Fiekas
python-chess v1.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")``.