Gymnasium v1.3.0
This release brings a new Taxi environment version, a new RepeatAction wrapper, and a range of bug fixes across vector environments and wrappers.
Core Changes
- The
Taxienvironment has been updated tov4to correct theis_rainyimplementation, which previously did not behave as documented by @pseudo-rnd-thoughts (#1561) pygamehas been replaced withpygame-ce, unlocking Python 3.14 compatibility. The drop-in replacement preserves the existing rendering behaviour by @mwydmuch (#1512)- Added
RepeatActionwrapper that repeats a given action for a fixed number of steps, useful for frame-skipping and coarser control loops by @Lidang-Jiang (#1553) - Optimised
Box.__init__to reduce overhead through lazy evaluation of variables by @pseudo-rnd-thoughts (#1529) - Fix vector
RecordVideowrapper to remove memory leaks across episodes by @JonahFSD (#1527) - Fix Vector
NormalizeRewardwrapper to work identically as the non-vectorized version by @JonahFSD (#1526)
Bug Fixes
- Removed the
VectorEnvdestructor, which was causingVectorEnv.close()to be called unintentionally by @TimSchneider42 (#1522) - Fixed
NormalizeObservationvectorized wrapper to override theobservation_spaceand afloat32cast by @JonahFSD (#1528) - Fixed
RenderFrame's typing by @jorenham (#1560) - Fixed A2C tutorial's entropy computation when a scalar (rather than tensor) is passed to the loss function by @epoint95 (#1524)
Third-Party Environments
10 new community environments have been added to the third-party environments list, including a new Cybersecurity environments section.
Full Changelog: v1.2.3...v1.3.0