Skip to content

Tags: niklasf/python-chess

Tags

v1.11.1

Toggle v1.11.1's commit message

Verified

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

Bugfixes:

* ``chess.engine``: Fix parsing of UCI options containing containing ``name``,
  ``type``, ``default``, ``min``, or ``max``, e.g., ``mini``.

v1.11.0

Toggle v1.11.0's commit message

Verified

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

Changes:

* Drop support for Python 3.7, which has reached its end of life.
* ``chess.engine.EventLoopPolicy`` is no longer needed and now merely an alias
  for the default event loop policy.
* If available and requested via ``setpgrp``, use ``process_group`` support
  from Python 3.11 for engine processes.
* No longer eagerly reject 8 piece positions in ``chess.syzygy``, so that
  some 8 piece positions with decisive captures can be probed successfully.
* The string wrapper returned by ``chess.svg`` functions now also implements
  ``_repr_html_``.
* Significant changes to ``chess.engine`` internals:
  ``chess.engine.BaseCommand`` methods other than the constructor no longer
  receive ``engine: Protocol``.
* Significant changes to board state internals: Subclasses of ``chess.Board``
  can no longer hook into board state recording/restoration and need to
  override relevant methods instead (``clear_stack``, ``copy``, ``root``,
  ``push``, ``pop``).

New features:

* Add ``chess.pgn.Game.time_control()`` and related data models.
* Add model ``sf16.1`` for ``chess.engine.Score.wdl()``, the new default.

Bugfixes:

* Fix unsolicited engine output may cause assertion errors with regard to
  command states.
* Fix handling of whitespace in UCI engine communication.
* For ``chess.Board.epd()`` and ``chess.Board.set_epd()``, require that EPD
  opcodes start with a letter.

v1.10.0

Toggle v1.10.0's commit message

Verified

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

New features:

* Use ``chess.engine.Opponent`` to send opponent information to engines.
* Inform engines about the game result using
  ``chess.engine.Protocol.send_game_result()``.
* Add ``chess.engine.Limit.clock_id``.
* Add ``chess.svg.board(..., borders=True)``.
* Avoid rendering background behind SVG boards to better support transparency.
* Add ``chess.pgn.BaseVisitor.begin_parse_san()``.
* Introduce new distance metrics ``chess.square_manhattan_distance()`` and
  ``chess.square_knight_distance()``.

Bugfixes:

* Fix ``chess.pgn.GameNode.eval()`` sometimes off by one centipawn.
* Fix handling of additional spaces between UCI option tokens.
* Handle implicit XBoard engine resignation via output like
  ``0-1 {White resigns}``.

Changes:

* Add model ``sf16`` for ``chess.engine.Score.wdl()``, the new default.
* Update ``lichess`` WDL model.
* Keep PGN headers that do not belong to the Seven Tag Roster in insertion
  order.
* Halve the number of open file descriptors maintained by tablebases
  and opening books.
* Reduce verbosity of logged ``chess.pgn`` errors.

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.