PettingZoo Versions Save

An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities

1.24.3

3 months ago

PettingZoo 1.24.3 Release Notes:

This is a minor release with some minor bugfixes, improvements, documentation updates. Most notably, we have added a state function to the multiwalker env, and fixed a bug causing wrappers to clear custom attributes from underlying environments, see https://github.com/Farama-Foundation/PettingZoo/pull/1140 for more information.

We have also added a dictionary, mapping from env name to env modules for each environment type, accessible as follows: from pettingzoo.mpe import mpe_environments. These mapping are combined to make a list of all environments: from pettingzoo.utils.all_modules import all_environments, both mappings containing keys such as mpe/simple_adversary_v3. For more information, see https://github.com/Farama-Foundation/PettingZoo/pull/1155

New Features and Improvements

Bug Fixes

Documentation Updates

Contributors

This release includes contributions from: @elliottower, @ffelten, @axelbr, @shahofblah, @helpingstar and @nicku-a

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: https://github.com/Farama-Foundation/PettingZoo/compare/1.24.2...1.24.3

1.24.2

6 months ago

PettingZoo 1.24.2 Release Notes:

This release includes three new tutorials from AgileRL, as well as a number of bugfixes, testing improvements, and documentation updates.

New Features and Improvements

Bug Fixes

Documentation Updates

Contributors

This release includes contributions from: @elliottower, @nicku-a, @mikepratt1, @xixinzhang, @umutucak, @jjshoots, @chrisyeh96, @Fernadoo, and @Kchour

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: https://github.com/Farama-Foundation/PettingZoo/compare/1.24.1...1.24.2

1.24.1

8 months ago

PettingZoo 1.24.1 Release Notes:

This is a hotfix release to fix compatibility issues with Shimmy, due to an unintentional typevar deletion.

Other changes include: minor fixes to the knights_archers_zombies environment, improved CI testing (including using pytest-xdist to utilize parallelization), and new documentation testing using pytest-markdown-docs, ensuring that every codeblock in our documentation runs successfully--including environment usage scripts.

Environment creation documentation has also improved and made more beginner-friendly. The Environment Creation Tutorial has also been renamed to Custom Environment Tutorial, to avoid confusion with the Getting Started section's Environment Creation page.

Bug Fixes

Documentation Updates

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.24.0...1.24.1

1.24.0

8 months ago

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 (https://github.com/Farama-Foundation/PettingZoo/pull/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

Bug Fixes

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: https://github.com/Farama-Foundation/PettingZoo/compare/1.23.1...1.24.0

1.23.1

11 months ago

PettingZoo 1.23.1 Release Notes:

This release is a small hotfix to fix compatibility issues with Shimmy and other small bugs.

Bug Fixes:

Documentation Updates:

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.23.0...1.23.1

1.23.0

1 year ago

PettingZoo 1.23.0 Release Notes:

This release finishes the process of standardizing the PettingZoo API to fully match Gymnasium. The deprecated env.seed() method has been removed in favor of env.reset(seed=seed), and the return_info argument from reset() has been removed—info is now always returned on reset.

New features include full support for serialization using Pickle, and updated testing: pickle tests, improved API test, and re-written seed test (matching Gymnasium). The library has also been updated to use pyproject.toml, to make installation more consistent and reliable, and to comply with PEP 621 standards.

This release includes significant documentation updates: full installation and usage examples for each environment type (Atari, Butterfly, Classic, MPE, SISL), 9+ new third-party-environments, new action masking documentation, new LangChain tutorial, updated CleanRL, Tianshou, and RLlib tutorials, and more.

Breaking Changes:

To ensure full consistency between the PettingZoo and Gymnasium API’s, the following changes have been made:

The deprecated environment seed() method has been fully removed.

  • To seed an environment, call env.reset(seed=0)

The return_info argument has been removed from the reset() function.

  • Calls toreset() will now always return observation and info.

New Features and Improvements

  • Action masking is now supported using either observation[action_mask] or info[action_mask], with documentation and examples (#953)
  • Replace setup.py with pyproject.toml (#875)
  • Remove return_info argument from reset() (#890)
  • Add type hinting for utils and base environments (#964)
  • Add aec_wrapper_fn to match parallel_wrapper_fn (#879)
  • Update SISL Waterworld environment to increase maximum acceleration, for smoother behavior (#882)
  • Update MPE simple_spread agent reward (#894), update all MPE envs to update position before velocity, matching the original paper (#970)

Bug Fixes:

  • Rename BaseParallelWraper to BaseParallelWrapper (fixed typo) (#876, #908)
  • Removed casting actions to int in parallel_to_aec conversion (#975)
  • Fix broken Tianshou tutorial and update dependencies (#980)
  • Fix an issue where MPE envs would render black screen when using the rgb_array mode (#874)
  • Fix failing CI tests in GitHub workflows (#886)
  • Fix minor linting issues with pre-commit hooks (#835)
  • Resolve a large number of pytest warnings (#897)
  • Remove unnecessary lines in MPE code (#891)
  • Update Tianshou and CleanRL tutorials to work with the new API changes (#984)

Documentation Updates:

  • Add full installation and usage examples for each environment type (#906)
  • Update Third-Party Environments with two new custom board game environments (gobblet-rl and cathedral-rl) (#907)
  • Add full documentation for wrappers (including Shimmy compatibility wrappers) (#904, #942)
  • Add LangChain tutorial (#979)
  • Updated EnvironmentCreation tutorial (#903, #972)
  • Updated Tianshou Tutorial (#980)
  • Update README with getting started information (#950)
  • Add installation instructions to Getting Started documentation page (#968)
  • Update docs contributing README (#883)
  • Update homepage to include video demonstrating environments, cleanup homepage text, add logo (#954, #960)

Full Changelog: 1.22.3...1.23.0

1.22.4

1 year ago

This release has been yanked due to breaking API changes. We are working hard to address this in the next release.

What's Changed

Bug Fixes:

Documentation Updates:

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.22.3...1.22.4

1.22.3

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.22.2...1.22.3

1.22.2

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.22.1...1.22.2

1.22.1

1 year ago

What's Changed

Full Changelog: https://github.com/Farama-Foundation/PettingZoo/compare/1.22.0...1.22.1