Skip to content

PettingZoo 1.24.0

Compare
Choose a tag to compare
@elliottower elliottower released this 22 Aug 16:12
· 72 commits to master since this release
ab6e543

PettingZoo 1.24.0 Release Notes:

This release includes support for Python 3.11, many updates to Classic environments (including updated Chess and Hanabi environment versions, and rendering for all RLCard envs), and many bugfixes, testing expansion, documentation updates.

We are also excited to announce 3 tutorials for Stable-Baselines3, updated RLlib tutorials (#1051), and an updated CleanRL multi-agent Atari tutorial including WandB and TensorBoard integration.

Co-released in order to make this release possible are SuperSuit 3.9.0 and Shimmy 1.2.0, fixing Stable-Baselines3 and OpenSpiel compatibility, respectively.

Breaking Changes

  • Python 3.7 is no longer supported, as it has reached end-of-life (link)
  • We have deprecated chess_v5 in favor of updated chess_v6
  • We have deprecated hanabi_v4 in favor of hanabi_v5

New Features and Improvements

  • Python 3.11 support (#1029)
  • Permit AgentIDs other than str (#1071)
    • It is now acceptable to use other types such as integers as AgentIDs
  • Add Stable-Baselines3 tutorial (#1015, #1017), with examples for:
  • Add updated CleanRL multi-agent Atari example (#1033)
    • Adapted to work with Gymnasium and current PettingZoo/SuperSuit
    • Full training script with CLI/logging and integration with WandB and TensorBoard
  • Update Chess to v6:
    • Add checks for insufficient material, 50-moves and 3-fold repetition (#997)
    • Fix to white perspective, fix observation bug, add documentation (#1004)
    • En passant represenation (see docstring) has been made consistent with Leela Chess Zero (#1004)
    • Update python-chess version from 1.7.0 to 1.9.4 (#1026)
  • Update Hanabi to v5:
    • Now depends on Shimmy's OpenSpielCompatibility wrapper (#948)
    • OpenSpiel is better tested, superior performance due to C++ implementation, and removes dependency on unmaintained Hanabi Learning Environment
    • First update in over 2 years, fixed a large number of issues and brought up to current code standards
  • Add rendering for Gin Rummy, Leduc Holdem, and Tic-Tac-Toe (#1054)
  • Adapt AssertOutOfBounds wrapper to work with all environments, rather than discrete only (#1046)
  • Add additional pre-commit hooks, doctests to match Gymnasium (#1012)

Bug Fixes

  • Fix Pistonball to only render if render_mode is not None (#1014)
  • Fix Connect Four not switching to next agent after termination (#1020)
  • Fix classic environments screen sizes, add type hints, fix pre-commit (#998)
  • Fix all environments to render at correct FPS, clean up pygame code (#999)
  • Fix SuperSuit integration for SB3 tutorials (#1031)
  • Update CleanRL tutorial requirements to most recent SuperSuit/PettingZoo versions (#1019)
  • Update RLlib tutorial requirements to most recent SuperSuit/PettingZoo versions by (#1018)
  • Fix typo in Waterworld documentation (#1058)

Documentation Updates

Contributors

This release includes contributions from: @elliottower, @DmytroIvasiuk, @jacob975, @dylwil3, @Jammf, @Bamboofungus, @BertrandDecoster, @murtazarang and @pimpale.

Many thanks to our contributors, as well as many past contributors who have made this possible. We would also like to thank everyone who has helped out with bug reports or feature suggestions, which are critical to our development. We are always welcoming new contributors, if you are interested please join our Discord server at https://discord.gg/nhvKkYa6qX

Full Changelog: 1.23.1...1.24.0