Skip to content

Tags: charudatta10/python-chess

Tags

v0.27.3

Toggle v0.27.3's commit message

Verified

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

Changes:

* `XBoardProtocol` will no longer raise an exception when the engine resigned.
  Instead it sets a new flag `PlayResult.resigned`. `resigned` and
  `draw_offered` are keyword-only arguments.
* Renamed `chess.pgn.{Game,Header,Board}Creator` to
  `{Game,Headers,Board}Builder`. Aliases kept in place.

Bugfixes:

* Make `XBoardProtocol` robust against engines that send a move after claiming
  a draw or resigning. Thanks @pascalgeo.
* `XBoardProtocol` no longer ignores `Hint:` sent by the engine.
* Fix handling of illegal moves in `XBoardProtocol`.
* Fix exception when engine is shut down while pondering.
* Fix unhandled internal exception and file descriptor leak when engine
  initialization fails.
* Fix `HordeBoard.status()` when black pieces are on the first rank.
  Thanks @Wisling.

New features:

* Added `chess.pgn.Game.builder()`, `chess.pgn.Headers.builder()` and
  `chess.pgn.GameNode.dangling_node()` to simplify subclassing `GameNode`.
* `EngineProtocol.communicate()` is now also available in the synchronous API.

v0.27.2

Toggle v0.27.2's commit message

Verified

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

Bugfixes:

* `chess.engine.XBoardProtocol.play()` was searching 100 times longer than
  intended when using `chess.engine.Limit.time`, and searching 100 times more
  nodes than intended when using `chess.engine.Limit.nodes`. Thanks @pascalgeo.

v0.27.1

Toggle v0.27.1's commit message

Verified

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

Bugfixes:

* `chess.engine.XBoardProtocol.play()` was raising `KeyError` when using time
  controls with increment or remaining moves.

v0.27.0

Toggle v0.27.0's commit message

Verified

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

This is the second **release candidate for python-chess 1.0**. If you see the
need for breaking changes, please speak up now!

Bugfixes:

* `EngineProtocol.analyse(*, multipv)` was not passing this argument to the
  engine and therefore only returned the first principal variation.
  Thanks @svangordon.
* `chess.svg.board(*, squares)`: The X symbol on selected squares is now more
  visible when it overlaps pieces.

Changes:

* **FEN/EPD parsing is now more relaxed**: Incomplete FENs and EPDs are
  completed with reasonable defaults (`w - - 0 1`). The EPD parser accepts
  fields with moves in UCI notation (for example the technically invalid
  `bm g1f3` instead of `bm Nf3`).
* The PGN parser now skips games with invalid FEN headers and variations after
  an illegal move (after handling the error as usual).

New features:

* Added `Board.is_repetition(count=3)`.
* Document that `chess.engine.EngineProtocol` is compatible with
  AsyncSSH 1.16.0.

v0.26.0

Toggle v0.26.0's commit message

Verified

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

This is the first **release candidate for python-chess 1.0**. If you see the
need for breaking changes, please speak up now!

Changes:

* `chess.engine` **is now stable and replaces**
  `chess.uci` **and** `chess.xboard`.
* Advanced: `EngineProtocol.initialize()` is now public for use with custom
  transports.
* Removed `__ne__` implementations (not required since Python 3).
* Assorted documentation and coding-style improvements.

New features:

* Check insufficient material for a specific side:
  `board.has_insufficient_material(color)`.
* Copy boards with limited stack depth: `board.copy(stack=depth)`.

Bugfixes:

* Properly handle delayed engine errors, for example unsupported options.

v0.25.1

Toggle v0.25.1's commit message

Verified

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

Bugfixes:

* `chess.engine` did not correctly handle Windows-style line endings.
  Thanks @Bstylestuff.

v0.25.0

Toggle v0.25.0's commit message

Verified

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

New features:

* This release introduces a new **experimental API for chess engine
  communication**, `chess.engine`, based on `asyncio`. It is intended to
  eventually replace `chess.uci` and `chess.xboard`.

Bugfixes:

* Fixed race condition in LRU-cache of open Syzygy tables. The LRU-cache is
  enabled by default (*max_fds*).
* Fix deprecation warning and unclosed file in setup.py.
  Thanks Mickaël Schoentgen.

Changes:

* `chess.pgn.read_game()` now ignores BOM at the start of the stream.
* Removed deprecated items.

v0.24.2

Toggle v0.24.2's commit message

Verified

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

Bugfixes:

* `CrazyhouseBoard.root()` and `ThreeCheckBoard.root()` were not returning the
  correct pockets and number of remaining checks, respectively. Thanks @gbtami.
* `chess.pgn.skip_game()` now correctly skips PGN comments that contain
  line-breaks and PGN header tag notation.

Changes:

* Renamed `chess.pgn.GameModelCreator` to `GameCreator`. Alias kept in place
  and will be removed in a future release.
* Renamed `chess.engine` to `chess._engine`. Use re-exports from `chess.uci`
  or `chess.xboard`.
* Renamed `Board.stack` to `Board._stack`. Do not use this directly.
* Improved memory usage: `Board.legal_moves` and `Board.pseudo_legal_moves`
  no longer create reference cycles. PGN visitors can manage headers
  themselves.
* Removed previously deprecated items.

Features:

* Added `chess.pgn.BaseVisitor.visit_board()` and `chess.pgn.BoardCreator`.

v0.24.1

Toggle v0.24.1's commit message

Verified

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

Bugfixes:

* Fix `chess.Board.set_epd()` and `chess.Board.from_epd()` with semicolon
  in string operand. Thanks @jdart1.
* `chess.pgn.GameNode.uci()` was always raising an exception.
  Also included in v0.24.0.

v0.23.11

Toggle v0.23.11's commit message

Verified

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

Bugfixes:

* `chess.pgn.GameNode.uci()` was always raising an exception.
* Fix `chess.Board.set_epd()` and `chess.Board.from_epd()` with semicolon
  in string operand. Thanks @jdart1.