Tags: otobear/python-chess
Tags
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()``.
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.
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.
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``).
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!
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.
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")``.
PreviousNext