Changelog¶
Notable changes to ProbingEnvironments. The format follows Keep a Changelog, and versions follow semantic versioning.
[Unreleased]¶
Internal¶
- Characterization pins (
tests/characterization/) record how every environment behaves today, through the API users and Ajax rely on. They keep the 0.7 refactor honest: a restructuring must leave them unchanged, and each deliberate behaviour change shows up as a pin difference with its own upgrade note here. No change to the package.
[0.6.0]¶
Upgrading from 0.5.1¶
A minor release, because these changes break code written for 0.5.1:
- gymnax 1.0 or newer is required. 0.5.1 required gymnax 0.0.9, so it
could not be installed next to gymnax 1.x, and its environments failed on
their first step under gymnax 1.0. Upgrade gymnax to
>=1.0. - The gymnax environments follow the gymnax 1.0 API.
env.stepreturns six values,(obs, state, reward, terminated, truncated, info), instead of five. Unpack the extra value, and bootstrap your value targets attruncatedsteps: a time limit is no longer folded intodone.- Environments implement
is_terminated(state, params)instead ofis_terminal. Rename it in your subclasses. get_obstakes(state, params=None, key=None). Add the two optional arguments to your overrides.- The gymnax
TwoChoiceMDPnever terminates. Its episodes now end only at the time limit, reported astruncated, so an agent should bootstrap there. - pytest is no longer installed with this package. It moved to the development dependencies; add it to your own if you relied on it.
- The Gymnasium environments draw from their own generator.
reset(seed=s)seedsenv.np_random, as Gymnasium specifies, instead of reseeding numpy's global generator, and a laterreset()continues that stream. Seeded start observations no longer match 0.5.1's, where only the first one depended on the seed. If your code relied onresetseedingnp.random, seed it yourself.
Added¶
- The
sb3extra:pip install "probing-environments[sb3]"installs Stable-Baselines3 for the premade adaptor. - A documentation site, versioned per release: https://yannberthelot.github.io/ProbingEnvironments/
Changed¶
jax,flaxandnumpyare declared as dependencies. The package imports them directly; before, they only arrived through gymnax.sixis declared: gymnax 1.0.1 imports it without declaring it, so a fresh install could not import the package.- Python 3.11 to 3.14 is supported; gymnax 1.0.1 supports Python below 3.15.
- The package is built with hatchling and versioned from git tags. Release
tags are now named
vX.Y.Z; earlier ones had nov.
Deprecated¶
probing_environments.adaptors.ajaxwarns on import and will be removed in 0.7.0. Ajax ships its own probe adaptor in its test suite.
Fixed¶
- A seeded run through the SB3 adaptor is reproducible. The Gymnasium environments reseeded numpy's global generator from OS entropy on every automatic reset, so each run differed and the README's PPO example failed about once in 50 runs.