@@ -40,17 +40,31 @@ Work kind of in progress
4040
4141Next release
4242---------------------------------
43+ - numpy 2 compat (need pandapower for that)
44+ - automatic read from local dir also on windows !
45+ - TODO doc for the "new" feature of automatic "experimental_read_from_local_dir"
46+ - TODO bug on maintenance starting at midnight (they are not correctly handled in the observation)
47+ => cf script test_issue_616
48+ - TODO put the Grid2opEnvWrapper directly in grid2op as GymEnv
49+ - TODO faster gym_compat (especially for DiscreteActSpace and BoxGymObsSpace)
4350- TODO Notebook for tf_agents
4451- TODO Notebook for acme
4552- TODO Notebook using "keras rl" (see https://keras.io/examples/rl/ppo_cartpole/)
46- - TODO put the Grid2opEnvWrapper directly in grid2op as GymEnv
4753- TODO example for MCTS https://github.com/bwfbowen/muax et https://github.com/google-deepmind/mctx
4854- TODO jax everything that can be: create a simple env based on jax for topology manipulation, without
4955 redispatching or rules
5056- TODO backend in jax, maybe ?
51-
52-
53- [1.10.3] - 2024-xx-yy
57+ - TODO done and truncated properly handled in gym_compat module (when game over
58+ before the end it's probably truncated and not done)
59+ - TODO when reset, have an attribute "reset_infos" with some infos about the
60+ way reset was called.
61+ - TODO ForecastEnv in MaskedEnv ! (and obs.simulate there too !)
62+ - TODO finish the test in automatic_classes
63+ - TODO in multi-mix increase the reset options with the mix the user wants
64+ - TODO L2RPN scores as reward (sum loads after the game over and have it in the final reward)
65+ - TODO on CI: test only gym, only gymnasium and keep current test for both gym and gymnasium
66+
67+ [1.10.3] - 2024-07-yy
5468-------------------------
5569- TODO Automatic "experimental_read_from_local_dir"
5670
@@ -63,12 +77,63 @@ Next release
6377 use it (will likely have no effect). Prefer using `env.set_max_iter ` instead.
6478- [BREAKING] now the `runner.run() ` method only accept kwargs argument
6579 (because it should always have been like this)
80+ - [BREAKING] to improve pickle support and multi processing capabilities, the attribute
81+ `gym_env.observation_space._init_env ` and `gym_env.observation_space.initial_obs_space `
82+ have been deleted (for the `Dict ` space only, for the other spaces like the `Box ` they
83+ were not present in the first place)
84+ - [BREAKING] in the `GymEnv ` class now by default the underlying grid2op environment has no
85+ forecast anymore in an attempt to make this wrapper faster AND more easily pickle-able. You can
86+ retrieve the old behaviour by passing `gym_env = GymEnv(grid2op_env, with_forecast=True) `
6687- [FIXED] a bug in the `MultiFolder ` and `MultifolderWithCache ` leading to the wrong
6788 computation of `max_iter ` on some corner cases
89+ - [FIXED] the function `cleanup_action_space() ` did not work correctly when the "chronics_hander"
90+ was not initialized for some classes
91+ - [FIXED] the `_observationClass ` attribute of the "observation env" (used for simulate and forecasted env)
92+ is now an Observation and not an Action.
93+ - [FIXED] a bug when deep copying an "observation environment" (it changes its class)
94+ - [FIXED] issue on `seed ` and `MultifolderWithCache ` which caused
95+ https://github.com/rte-france/Grid2Op/issues/616
96+ - [FIXED] another issue with the seeding of `MultifolderWithCache `: the seed was not used
97+ correctly on the cache data when calling `chronics_handler.reset ` multiple times without
98+ any changes
99+ - [FIXED] `Backend ` now properly raise EnvError (grid2op exception) instead of previously
100+ `EnvironmentError ` (python default exception)
101+ - [FIXED] a bug in `PandaPowerBackend ` (missing attribute) causing directly
102+ https://github.com/rte-france/Grid2Op/issues/617
103+ - [FIXED] a bug in `Environment `: the thermal limit were used when loading the environment
104+ even before the "time series" are applied (and before the user defined thermal limits were set)
105+ which could lead to disconnected powerlines even before the initial step (t=0, when time
106+ series are loaded)
107+ - [FIXED] an issue with the "max_iter" for `FromNPY ` time series generator
108+ - [FIXED] a bug in `MultiMixEnvironment ` : a multi-mix could be created even if the underlying
109+ powergrids (for each mix) where not the same.
110+ - [FIXED] a bug in `generate_classes ` (experimental_read_from_local_dir) with alert data.
111+ - [FIXED] a bug in the `Runner ` when using multi processing on macos and windows OS: some non default
112+ parameters where not propagated in the "child" process (bug in `runner._ger_params `)
68113- [ADDED] possibility to skip some step when calling `env.reset(..., options={"init ts": ...}) `
69114- [ADDED] possibility to limit the duration of an episode with `env.reset(..., options={"max step": ...}) `
70115- [ADDED] possibility to specify the "reset_options" used in `env.reset ` when
71116 using the runner with `runner.run(..., reset_options=xxx) `
117+ - [ADDED] the argument `mp_context ` when building the runner to help pass a multiprocessing context in the
118+ grid2op `Runner `
119+ - [ADDED] the time series are now able to regenerate their "random" part
120+ even when "cached" thanks to the addition of the `regenerate_with_new_seed ` of the
121+ `GridValue ` class (in public API)
122+ - [ADDED] `MultifolderWithCache ` now supports `FromHandlers ` time series generator
123+ - [IMPROVED] more consistency in the way the classes are initialized at the creation of an environment
124+ - [IMPROVED] more consistency when an environment is copied (some attributes of the copied env were
125+ deep copied incorrectly)
126+ - [IMPROVED] Doc about the runner
127+ - [IMPROVED] the documentation on the `time series ` folder.
128+ - [IMPROVED] now the "maintenance from json" (*eg * the `JSONMaintenanceHandler ` or the
129+ `GridStateFromFileWithForecastsWithMaintenance `) can be customized with the day
130+ of the week where the maintenance happens (key `maintenance_day_of_week `)
131+ - [IMPROVED] in case of "`MultiMixEnvironment `" there is now only class generated for
132+ all the underlying mixes (instead of having one class per mixes)
133+ - [IMPROVED] the `EpisodeData ` have now explicitely a mode where they can be shared accross
134+ processes (using `fork ` at least), see `ep_data.make_serializable `
135+ - [IMPROVED] chronix2grid tests are now done independantly on the CI
136+
72137
73138[1.10.2] - 2024-05-27
74139-------------------------
@@ -861,7 +926,7 @@ Next release
861926 `Issue#185 <https://github.com/rte-france/Grid2Op/issues/185 >`_ )
862927- [IMPROVED] the seed of openAI gym for composed action space (see issue `https://github.com/openai/gym/issues/2166 `):
863928 in waiting for an official fix, grid2op will use the solution proposed there
864- https://github.com/openai/gym/issues/2166#issuecomment-803984619 )
929+ https://github.com/openai/gym/issues/2166#issuecomment-803984619
865930
866931[1.5.1] - 2021-04-15
867932-----------------------
0 commit comments