Releases: Farama-Foundation/Minigrid
Minigrid 2.4.0
Minigrid 2.4.0 Release Notes
In this release, we added new procedurally generated environments using the wave function collapse environment, the original BabyAI bot, and dynamically determined highlighting
in RGBImgObsWrapper
.
New Features
- Added procedural generation of environments using the Wave Function Collapse algorithm (adapted from this python implementation). By @jysdoran in #371
- Changes the
observation
method ofRGBImgObsWrapper
such that the agent field-of-view (FOV) highlight is rendered only when the underlying environment has this enabled with thehighlight
bool, by default is True. By @thesofakillers in #388 - Added the BabyAI bot from the original BabyAI repo: https://github.com/mila-iqia/babyai/blob/master/babyai/bot.py
This bot can be used to generate expert demonstrations in all BabyAI environments. By @thesofakillers in #381
Contributors
This release includes contributions from @ thesofakillers, @pseudo-rnd-thoughts, @BolunDai0216, @mansicer, @JupiLogy, @AdamJelley, @timoklein, @jysdoran, @mschweizer, and @Camel-light.
Minigrid 2.3.1
Minigrid 2.3.1 Release Notes
This release includes two new features:
- Added a new wrapper that prevents death in states like obstacles or lava, and gives an optional negative reward instead by @sparisi in #374
- Added a tutorial on how to train RL agent on Minigrid environments by @BolunDai0216 in #379
Contributors
This release includes contributions from: @mgoulao, @ertsiger, @BolunDai0216, @sparisi, @elliottower.
Minigrid 2.3.0
Minigrid 2.3.0 Release notes
New release with a couple of small changes that shouldn't affect users along with a new tutorial and python 3.11 support. Let us know if anything new breaks
Breaking changes
- Fix unintended observation space "image" size change in DictObservationWrapper by @jbloomAus in #345
- Fix assertion error message in Grid.set() by @drmeerkat in #347
New Features
- Added Tutorial for Environment Creation by @BolunDai0216 in #348
- Added a stochastic action wrapper by @BolunDai0216 in #355
- Adds python 3.11 support and updates pygame to 2.4.0 by @pseudo-rnd-thoughts in #361
Documentation changes
- Update home page to use new style, add view code sphinx extension, update copyright and improve SEO by @mgoulao in #352
- Adds DEIR: Efficient and Robust Exploration through Discriminative-Model-Based Episodic Intrinsic Rewards (U-Tokyo, Google Brain, IJCAI 2023) in publications by @alpc104 in #350
- Adds "Minimal Value-Equivalent Partial Models for Scalable and Robust Planning in Lifelong Reinforcement Learning" by Alver and Precup, CoLLAs 2023 to publications by @alversafa in #359
Full Changelog: v2.2.1...v2.3.0
Minigrid 2.2.1
Minigrid 2.2.1 Release Notes
This release is a minor bugfix:
- Change the default screen size from 1 to 640 by @BolunDai0216 in #340
Minigrid 2.2.0: added Pygame rendering support, fixed bug in wrappers and environments
Minigrid 2.2.0 Release Notes
In this release, we added support for rendering using Pygame, which improves the previously Matplotlib-based rendering procedure, this is a breaking change that removes minigrid.utils.window.Window
. A bug in the SymbolicObsWrapper that results in the wrong observation has been fixed. An error in the documentation regarding the reward function has been corrected. The ObstructedMaze
environments are now ensured to be solvable. The class minigrid_env.MiniGridEnv.Actions
is removed since it is the same as minigrid.core.actions.Actions
.
Bug Fixes and Documentation Updates
- For the
MiniGrid-DoorKey-6x6-v0
environment, a hidden variable determining the size was wrong at 5x5, this is updated to 6x6.
#322 - Since the class
minigrid_env.MiniGridEnv.Actions
is the same asminigrid.core.actions.Actions
, to make the codebase cleaner, we have deleted the classminigrid_env.MiniGridEnv.Actions
. This is a breaking change. For any code that relies onminigrid_env.MiniGridEnv.Actions
, you can simply replace it withminigrid.core.actions.Actions
.
#328 - In
SymbolicObsWrapper
, the grid that records the content of each tile is formatted as[x, y, item]
, which corresponds to[col, row, item]
, this causes a mismatch in the observation. This mismatch is now resolved.
#331 - The documentation for the rewards has previously incorrectly stated that the reward is 1 when the environment is solved, while it is actually
1 - 0.9 * (step_count / max_steps)
. Additionally, inGoToObjectEnv
, there was an error in detecting whether the agent is next to the target. These issues have now been resolved.
#333 - Previously Minigrid relied on a Matplotlib-based rendering backend. We have added a Pygame-based rendering backend that is faster and more consistent with other Farama libraries. As a result,
minigrid.utils.window.Window
has been removed.
#313 - In the
ObstructedMaze
environments, the blocking ball placed byadd_door
may cover the box placed on the map by the previousadd_door
, causing the agent to be unable to open certain doors and complete the task. We have updated several of theObstructedMaze
environments to be always solvable and are registered asv1
versions of the environment.
#334
Version 2.1.1
Bug Fixes and Documentation Updates
- Added Docstrings to the BabyAI environments by @BolunDai0216 in #302
- Fixed entry point typo for MiniGrid-SimpleCrossingS11N5-v0 by @jbloomAus in #306
- Fixed not changing view size bug in ViewSizeWrapper @jbloomAus in #305
Full Changelog: v2.1.0...v2.1.1
Version 2.1.0
What's Changed
- Added new BabyAI level environments. @saleml
- New documentation website at https://minigrid.farama.org/ @SiddarGu @mgoulao. @jjshoots
- Update security permissions for GitHub workflows. #252 @andrewtanJS
- Refactor
manual_control.py
. @MathisFederico - Fix issue with making all environments pickable #269. @MathisFederico
- Include
max_steps
argument in all of the environments. Fix #264. @rodrigodelazcano - Include agent's position in the
SymbolicObsWrapper
observation. Fix #278. @rodrigodelazcano
Type Hinting
- Add type hint to core API. @arjun-kg
- Improve type hint in
MinigridEnv
@micimize - Add
py.typed
marker to use minigrid's type annotations in external tooling such as mypy
New Publications
Version 2.0.0
This release transitions the repository dependency from gym
to gymnasium
. gymnasium
is a fork of OpenAI's Gym library by the maintainers, and is where future maintenance will occur going forward. gymnasium.farama.org
What's Changed
- Migration from
gym
togymnasium
v0.26. @rodrigodelazcano - Package name change from
gym_minigrid
tominigrid
. @rodrigodelazcano - Change file structure for better comprehension. @pseudo-rnd-thoughts . The new file structure looks as follows:
- Divide
minigrid.py
into sub-files for easier comprehension and keep them undercore
directory:actions.py
: class structure with the actions encodingsconstants.py
: constants in the environments such as object colorsgrid.py
: the grid classmission.py
: the mission space implementationroomgrid.py
: class for environments with roomsworld_object
: object classes (Wall, Ball, Goal, Floor, ...)
- New
utils
directory for rendering filesrendering.py
andwindow.py
- Divide
- Add automatic doc generation for website, available at https://farama-foundation.github.io/MiniGrid/. @SiddarGu
Minor Changes
- Change file name
minigrid.py
tominigrid_env.py
. Fixes issue #243 @rodrigodelazcano
Version 1.2.2
Deprecated package naming (gym_minigrid
-> minigrid
)
The PyPi package name for this repository will be changed in future releases and integration with Gymnasium. The new name will be minigrid
and installation will be done with pip install minigrid
instead of pip install gym_minigrid
.
This release adds a deprecation warning when importing or installing gym_minigrid
.
Version 1.2.1
Bug Fix
- Fix #232. Removed
new_step_api=True
argument inmanual_control.py
. Latest 1.2.0 MiniGrid release is not backward compatible with gym releases previous to v0.26. Thus every minigrid environment has a hard constraint on using new step API and the option to set the argumentnew_step_api=True
in the environments was removed. @rodrigodelazcano