v0.29.0
pseudo-rnd-thoughts
released this
14 Jul 22:25
·
272 commits
to main
since this release
v0.29.0 Release notes
We finally have a software citation for Gymnasium with the plan to release an associated paper after v1.0, thank you to all the contributors over the last 3 years who have made helped Gym and Gymnasium (#590)
@misc{towers_gymnasium_2023,
title = {Gymnasium},
url = {https://zenodo.org/record/8127025},
abstract = {An API standard for single-agent reinforcement learning environments, with popular reference environments and related utilities (formerly Gym)},
urldate = {2023-07-08},
publisher = {Zenodo},
author = {Towers, Mark and Terry, Jordan K. and Kwiatkowski, Ariel and Balis, John U. and Cola, Gianluca de and Deleu, Tristan and Goulão, Manuel and Kallinteris, Andreas and KG, Arjun and Krimmel, Markus and Perez-Vicente, Rodrigo and Pierré, Andrea and Schulhoff, Sander and Tai, Jun Jet and Shen, Andrew Tan Jin and Younis, Omar G.},
month = mar,
year = {2023},
doi = {10.5281/zenodo.8127026},
}
Gymnasium has a conda package, conda install gymnasium
. Thanks to @ChristofKaufmann for completing this
Breaking Changes
- Drop support for Python 3.7 which has reached its end of life support by @Kallinteris-Andreas in #573
- Update MuJoCo Hopper & Walker2D models to work with MuJoCo >= 2.3.3 by @Kallinteris-Andreas in #589
- Add deprecation warnings to several features which will be removed in v1.0:
Wrapper.__get_attr__
,gymnasium.make(..., autoreset=True)
,gymnasium.make(..., apply_api_compatibility=True)
,Env.reward_range
andgymnasium.vector.make
. For their proposed replacement, see #535 - Raise error for
Box
bounds oflow > high
,low == inf
andhigh == -inf
by @jjshoots in #495 - Add dtype testing for NumPy Arrays in
data_equivalence()
by @pseudo-rnd-thoughts in #515 - Remove Jumpy from gymnasium wrappers as it was partially implemented with limited testing and usage by @pseudo-rnd-thoughts in #548
- Update project require for
jax>=0.4
by @charraut in #373
New Features
- Remove the restrictions on pygame version,
pygame>=2.1.3
by @pseudo-rnd-thoughts in #558 - Adding
start
parameter toMultiDiscrete
space, similar to theDiscrete(..., start)
parameter by @Rayerdyne in #557 - Adds testing to
check_env
that closing a closed environment doesn't raise an error by @pseudo-rnd-thoughts in #564 - On initialisation
wrapper.RecordVideo
throws an error if the environment has an invalid render mode(None, "human", "ansi")
by @robertoschiavone in #580 - Add
MaxAndSkipObservation
wrapper by @LucasAlegre in #561 - Add
check_environments_match
function for checking if two environments are identical by @Kallinteris-Andreas in #576 - Add performance debugging utilities,
utils/performance.py
by @Kallinteris-Andreas in #583 - Added Jax based cliff walking environment by @balisujohn in #407
- MuJoCo
- Add support for relative paths with
xml_file
arguments by @Kallinteris-Andreas in #536 - Add support for environments to specify
info
inreset
by @Kallinteris-Andreas in #540 - Remove requirement of environments defining
metadata["render_fps"]
, the value is determined on__init__
usingdt
by @Kallinteris-Andreas in #525
- Add support for relative paths with
- Experimental
- Add deprecated wrapper error in
gymnasium.experimental.wrappers
by @charraut in #341 - Add
fps
argument toRecordVideoV0
for custom fps value that overrides an environment's internalrender_fps
value by @younik in #503 - Add experimental vector wrappers for lambda observation, action and reward wrappers by @pseudo-rnd-thoughts in #444
- Add deprecated wrapper error in
Bug Fixes
- Fix
spaces.Dict.keys()
askey in keys
was False by @pseudo-rnd-thoughts in #608 - Updates the action space of
wrappers.RescaleAction
based on the bounds by @mmcaulif in #569 - Remove warnings in the passive environment checker for infinite Box bounds by @pseudo-rnd-thoughts in #435
- Revert Lunar Lander Observation space change by @alexdlukens in #512
- Fix URL links in
check_env
by @robertoschiavone in #554 - Update
shimmy[gym]
toshimmy[gym-v21]
orshimmy[gym-v26]
by @elliottower in #433 - Fix several issues within the experimental vector environment and wrappers by @pseudo-rnd-thoughts in #516
- Video recorder wrapper
- Fix
VideoRecorder
onreset
to emptyrecorded_frames
rather thanframes
by @voidflight in #518 - Remove
Env.close
inVideoRecorder.close
by @qgallouedec in #533 - Fix
VideoRecorder
andRecordVideoV0
to moveimport moviepy
such that__del__
doesn't raiseAttributeErrors
by @pseudo-rnd-thoughts in #553
- Fix
- Mujoco
- Remove Hopper-v4's old render API func by @Kallinteris-Andreas in #588
- Fix TypeError when closing rendering by @sonelu in (#440)
- Fix the wrong
nstep
in_step_mujoco_simulation
function ofMujocoEnv
by @xuanhien070594 in #424 - Allow a different number of actuator control from the action space by @reginald-mclean in #604
Documentation Updates
- Allow users to view source code of referenced objects on the website by @pseudo-rnd-thoughts in #497
- Update website homepage by @elliottower in #482
- Make atari documentation consistent by @pseudo-rnd-thoughts in #418 and add missing descriptions by @dylwil3 in #510
- Add third party envs: safety gymnasium, pyflyt, Gym-Trading-Env, stable-retro, DACBench, gym-cellular-automata by @elliottower, @stefanbschneider, @ClementPerroud, @jjshoots, @MatPoliquin, and @robertoschiavone in #450, #451, #474, #487, #529, #538, #581
- Update MuJoCo documentation for all environments and base mujoco environment by @Kallinteris-Andreas in #524, #522
- Update CartPole reward documentation to clarify different maximum rewards for v0 and v1 by @robertoschiavone in #429
- Clarify Frozen lake time limit for
FrozenLake4x4
andFrozenLake8x8
environments by @yaniv-peretz in #459 - Typo in the documentation for single_observation_space by @kvrban in #491
- Fix the rendering of warnings on the website by @helpingstar in #520
Full Changelog: v0.28.1...v0.29.0