v0.20.0 Release Notes#

Major Change#

  • Replaced Atari-Py dependency with ALE-Py and bumped all versions. This is a massive upgrade with many changes, please see the full explainer (@JesseFarebro)

  • Note that ALE-Py does not include ROMs. You can install ROMs in two lines of bash with AutoROM though (pip3 install autorom and then autorom), see https://github.com/PettingZoo-Team/AutoROM. This is the recommended approach for CI, etc.

Breaking changes and new features:#

  • Add RecordVideo wrapper, deprecate monitor wrapper in favor of it and RecordEpisodeStatistics wrapper (@vwxyzjn)

  • Dependencies used outside of environments (e.g. for wrappers) are now in gym[other] (@jkterry1)

  • Moved algorithmic and unused toy-text envs (guessing game, hotter colder, nchain, roulette, kellycoinflip) to third party repos (@jkterry1, @Rohan138)

  • Fixed flatten utility and flatdim in MultiDiscrete space (@tristandeleu)

  • Add __setitem__ to dict space (@jfpettit)

  • Large fixes to .contains method for box space (@FirefoxMetzger)

  • Made blackjack environment properly comply with Barto and Sutton book standard, bumped to v1 (@RedTachyon)

  • Added NormalizeObservation and NormalizeReward wrappers (@vwxyzjn)

  • Add __getitem__ and __len__ to MultiDiscrete space (@XuehaiPan)

  • Changed .shape to be a property of box space to prevent unexpected behaviors (@RedTachyon)

Bug fixes and upgrades#

  • Video recorder gracefully handles closing (@XuehaiPan)

  • Remaining unnecessary dependencies in setup.py are resolved (@jkterry1)

  • Minor acrobot performance improvements (@TuckerBMorgan)

  • Pendulum properly renders when 0 force is sent (@Olimoyo)

  • Make observations dtypes be consistent with observation space dtypes for all classic control envs and bipedal-walker (@RedTachyon)

  • Removed unused and long deprecated features in registration (@Rohan138)

  • Framestack wrapper now inherits from obswrapper (@jfpettit)

  • Seed method for spaces.Tuple and spaces.Dict now properly function, are fully stochastic, are fully featured and behave in the expected manner (@XuehaiPan, @RaghuSpaceRajan)

  • Replace time() with perf_counter() for better measurements of short duration (@zuoxingdong)

Full Changelog: https://github.com/openai/gym/compare/0.19.0…v0.20.0

Github Release: https://github.com/openai/gym/releases/tag/v0.20.0