Recent Releases of minigrid

minigrid - Minigrid 2.5.0

Minigrid 2.5.0 Release Notes

In this release, we added support for Gymnasium 1.0.0 and NumPy 2.0.0+ and made many bug fixes.

New Features

  • Allow custom goal colors by @m-barker in https://github.com/Farama-Foundation/Minigrid/pull/451
  • Added support of Gymnasium to 1.0.0 and NumPy to 2.0.0+ by @BolunDai0216 in https://github.com/Farama-Foundation/Minigrid/pull/453

Bug Fixes

  • Fixed the issue when generating non-square DoorKey environments by @rbankosegger in https://github.com/Farama-Foundation/Minigrid/pull/429
  • Fixed the documentation env-id parameter by @turbotimon in https://github.com/Farama-Foundation/Minigrid/pull/430
  • Corrected the registered configuration for UnlockPickupEnv by @MarcSpeckmann in https://github.com/Farama-Foundation/Minigrid/pull/437
  • FixedFlatObsWrapper observation dtype by @pseudo-rnd-thoughts in https://github.com/Farama-Foundation/Minigrid/pull/435
  • Swapped the width and height in RGBImgObsWrapper @catanzaromj in https://github.com/Farama-Foundation/Minigrid/pull/445

Contributors

This release includes contributions from @VioIchigo, @rbankosegger, @turbotimon, @SimonOuellette35, @MarcSpeckmann, @pseudo-rnd-thoughts, @RaghuSpaceRajan, @jysdoran, @BolunDai0216, @catanzaromj, @m-barker

- Python
Published by BolunDai0216 over 1 year ago

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 https://github.com/Farama-Foundation/Minigrid/pull/371
  • Changes the observation method of RGBImgObsWrapper such that the agent field-of-view (FOV) highlight is rendered only when the underlying environment has this enabled with the highlight bool, by default is True. By @thesofakillers in https://github.com/Farama-Foundation/Minigrid/pull/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 https://github.com/Farama-Foundation/Minigrid/pull/381

Contributors

This release includes contributions from @ thesofakillers, @pseudo-rnd-thoughts, @BolunDai0216, @mansicer, @JupiLogy, @AdamJelley, @timoklein, @jysdoran, @mschweizer, and @Camel-light.

- Python
Published by BolunDai0216 about 2 years ago

minigrid - 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.

- Python
Published by BolunDai0216 over 2 years ago

minigrid - 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 https://github.com/Farama-Foundation/Minigrid/pull/345
  • Fix assertion error message in Grid.set() by @drmeerkat in https://github.com/Farama-Foundation/Minigrid/pull/347

New Features

  • Added Tutorial for Environment Creation by @BolunDai0216 in https://github.com/Farama-Foundation/Minigrid/pull/348
  • Added a stochastic action wrapper by @BolunDai0216 in https://github.com/Farama-Foundation/Minigrid/pull/355
  • Adds python 3.11 support and updates pygame to 2.4.0 by @pseudo-rnd-thoughts in https://github.com/Farama-Foundation/Minigrid/pull/361

Documentation changes

  • Update home page to use new style, add view code sphinx extension, update copyright and improve SEO by @mgoulao in https://github.com/Farama-Foundation/Minigrid/pull/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 https://github.com/Farama-Foundation/Minigrid/pull/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 https://github.com/Farama-Foundation/Minigrid/pull/359

Full Changelog: https://github.com/Farama-Foundation/Minigrid/compare/v2.2.1...v2.3.0

- Python
Published by pseudo-rnd-thoughts over 2 years ago

minigrid - 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 https://github.com/Farama-Foundation/Minigrid/pull/340

- Python
Published by BolunDai0216 almost 3 years ago

minigrid - 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. https://github.com/Farama-Foundation/Minigrid/pull/322
  • Since the class minigrid_env.MiniGridEnv.Actions is the same as minigrid.core.actions.Actions, to make the codebase cleaner, we have deleted the class minigrid_env.MiniGridEnv.Actions. This is a breaking change. For any code that relies on minigrid_env.MiniGridEnv.Actions, you can simply replace it with minigrid.core.actions.Actions. https://github.com/Farama-Foundation/Minigrid/pull/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. https://github.com/Farama-Foundation/Minigrid/pull/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, in GoToObjectEnv, there was an error in detecting whether the agent is next to the target. These issues have now been resolved. https://github.com/Farama-Foundation/Minigrid/pull/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. https://github.com/Farama-Foundation/Minigrid/pull/313
  • In the ObstructedMaze environments, the blocking ball placed by add_door may cover the box placed on the map by the previous add_door, causing the agent to be unable to open certain doors and complete the task. We have updated several of the ObstructedMaze environments to be always solvable and are registered as v1 versions of the environment. https://github.com/Farama-Foundation/Minigrid/pull/334

- Python
Published by BolunDai0216 almost 3 years ago

minigrid - Version 2.1.1

Bug Fixes and Documentation Updates

  • Added Docstrings to the BabyAI environments by @BolunDai0216 in https://github.com/Farama-Foundation/Minigrid/pull/302
  • Fixed entry point typo for MiniGrid-SimpleCrossingS11N5-v0 by @jbloomAus in https://github.com/Farama-Foundation/Minigrid/pull/306
  • Fixed not changing view size bug in ViewSizeWrapper @jbloomAus in https://github.com/Farama-Foundation/Minigrid/pull/305

Full Changelog: https://github.com/Farama-Foundation/minigrid/compare/v2.1.0...v2.1.1

- Python
Published by pseudo-rnd-thoughts about 3 years ago

minigrid - 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 https://github.com/Farama-Foundation/Minigrid/issues/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

- Python
Published by rodrigodelazcano over 3 years ago

minigrid - 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 to gymnasium v0.26. @rodrigodelazcano
  • Package name change from gym_minigrid to minigrid. @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 under core directory:
      • actions.py: class structure with the actions encodings
      • constants.py: constants in the environments such as object colors
      • grid.py: the grid class
      • mission.py: the mission space implementation
      • roomgrid.py: class for environments with rooms
      • world_object: object classes (Wall, Ball, Goal, Floor, ...)
    • New utils directory for rendering files rendering.py and window.py
  • Add automatic doc generation for website, available at https://farama-foundation.github.io/MiniGrid/. @SiddarGu

Minor Changes

  • Change file name minigrid.py to minigrid_env.py. Fixes issue #243 @rodrigodelazcano

- Python
Published by rodrigodelazcano over 3 years ago

minigrid - 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.

- Python
Published by rodrigodelazcano over 3 years ago

minigrid - Version 1.2.1

Bug Fix

  • Fix #232. Removed new_step_api=True argument in manual_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 argument new_step_api=True in the environments was removed. @rodrigodelazcano

- Python
Published by rodrigodelazcano over 3 years ago

minigrid - Version 1.2.0

Release notes for v1.2.0

The changes in this release allow for compatibility with the latest Gym release v0.26. For more information on the API changes in Gym v0.26 see the release notes in https://github.com/openai/gym/releases.

Previous Gym versions such as v0.22, v0.23, v0.24, and v0.25 are no longer compatible.

The aim of this version is primarily bug fixing, if you find that this does not work, please make an issue or put a message on the Gym discord server in the gym-minigrid channel (https://discord.gg/nHg2JRN489).

If you are interested in working on gym-minigrid then message PseudoRnd or Rodridelaz on discord.

Major Changes

  • Support of new step API. The Env.step function returns 5 values instead of 4 previously (observations, reward, termination, truncation, info). . @saleml
  • Support of new reset API. The Env.reset function returns two values (obs and info). @rodrigodelazcano
  • Support of new rendering API. More information about the rendering API can be found in this blog post @rodrigodelazcano
  • Add new test files for window.py, benchmark.py and manual_control.py under test_scripts.py.@saleml

Minor Changes

- Python
Published by rodrigodelazcano over 3 years ago

minigrid - Version 1.1.0

This release is compatible with Gym versions, v0.22, v0.23, v0.24 and v0.25. Incompatible Gym version with v0.21 due to Env.reset(seed)

The aim of this version is primarily bug fixing, if you find that this does not work, please make an issue or put a message on the Gym discord server in the gym-minigrid channel (https://discord.gg/nHg2JRN489).

If you are interested in working on gym-minigrid then message me on discord, PseudoRnd

Changes

  • Removes compatibility with python 3.6 due to python foundation no longer supporting it @rodrigodelazcano
  • Moved benchmark.py and manual_control.py to gym_minigrid folder @rodrigodelazcano
  • Added MissionSpace that is similar to the Gym Text space to specify the space for all environments @rodrigodelazcano
  • Fixed benchmark.py and manual_control.py to work @rodrigodelazcano
  • Updated the metadata keys of environment “render.mode” to “render_mode” and “render.fps” to “render_fps” @saleml #194
  • Fixed the wrappers that updated the environment observation space rather than the wrapper observation space @saleml #194
  • Added wrapper DictObservationSpaceWrapper for changing the mission text to an embedding array. @saleml #194
  • Added support for setting a custom max_steps value in door key environment @zeionara #193
  • Removed all cases of from XYZ import * and from .XYZ import ABC in favor of absolute imports. This could cause issues for users that use from gym_minigrid import * @pseudo-rnd-thoughts #201
  • Rename environments and files for consistency and removed unnecessary environment classes in favor of kwargs in gym.make @pseudo-rnd-thoughts #202
    • BlockedUnlockPickup -> BlockedUnlockPickupEnv
    • KeyCorridor -> KeyCorridorEnv
    • LockedRoom -> LockedRoomEnv and Room -> LockedRoom (this is as multiroom also contains a Room to prevent conflict changed both of their names)
    • Room -> MultiRoom in multiroom.py
    • playground_v0.py -> playground and PlaygroundV0 -> PlaygroundEnv
    • Unlock -> UnlockEnv
    • UnlockPickup -> UnlockPickupEnv
  • Added minimal type checking with pyright @rodrigodelazcano
  • Register environments with entrypoint @rodrigodelazcano ```python # Old import gymminigrid import gym env = gym.make('MiniGrid-PutNear-6x6-N2-v0') # or import gym env = gym.make('gymminigrid:MiniGrid-PutNear-6x6-N2-v0')

New

import gym env = gym.make('MiniGrid-PutNear-6x6-N2-v0') `` - FixedFlatObsWrapperto contain “,” and increase thenumCharCodes=28` @saleml #207

- Python
Published by pseudo-rnd-thoughts over 3 years ago