----------------------------
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!