- Support for NumPy 2.x.
- Various bug fixes.
- New
AsyncConnectionclass that allows users to make asynchronous requests viaasyncio. - Add optional
metadataargument tocreate_secure_channel_and_connect. - Expose error status details in
DmEnvRpcErrorexception. - Improvements and fixes related to type hints, in particular hints relating to NumPy.
- Add utility functions for packing/unpacking custom request/responses.
- Remove support for Python 3.7, now that it has reached EOL.
- Add optional
strictargument to dictionary flattening. - Relax flattening of create/join world settings, so that users can pass already flattened settings.
- Support for nested create/join world settings in
dm_env_adaptorhelper functions. - Support scalar min/max bounds for array actions in compliance tests.
- Allow
DmEnvAdaptorto be closable multiple times. - Cleaned up various type hints, specifically removing deprecated NumPy type aliases.
- Bug fixes.
- Pass all additional keyword arguments through to
DmEnvAdaptorwhen using create/join helper functions. - Bug fixes and cleanup.
- Fixed Catch human agent example, raised in this GitHub issue.
- Fixed bug when attempting to pack an empty array as a particular dtype.
- Minor cleanup.
- Removed support for Python 3.6
- Updated compliance tests to support wider range of environments.
- Fixed bug with packing large
np.uint64scalars. - Various PyType fixes.
WARNING: This release removes support for some previously deprecated fields.
This may mean that scalar bounds for older environments are no longer readable.
Users are advised to either revert to an older version, or re-build their
environments to use the newer, multi-dimensional TensorSpec.Value fields.
- Removed scalar
TensorSpec.Valuefields, which were marked as deprecated in v1.0.1. These have been superseded by array variants, which can be used for scalar bounds by creating a single element array. - Removed deprecated Property request/responses. These are now provided through the optional Property extension.
- Refactored
Connectionto expose message packing utilities.
tensor_spec.bounds()no longer broadcasts scalar bounds.- Fixed bug where
rewardanddiscountwere inadvertently included in the observations when usingdm_env_adaptor, without explicitly requesting these as observations.
- Better support for string specs in
dm_env_adaptor. - Improved Python type annotations.
- Check that the server has returned the correct response in
dm_env_rpc.Connectionclass. - Added
create_worldhelper function todm_env_adaptor.
- Better support for variable sized tensors.
- Support for packing/unpacking tensors that use
Anyprotobuf messages. - Bug fixes.
- Support for property descriptions.
- New utility functions for creating a Connection instance from a server address.
- DmEnvAdaptor helper functions for creating and joining worlds.
- Additional compliance tests for resetting.
- Support for optional DmEnvAdaptor extensions.
- Removed portpicker dependency, instead relying on gRPC port picking functionality.
- Changed property extension API to be more amenable to being used as an extension object for DmEnvAdaptor.
- Explicitly support nested tensors by the use of a period character in the
TensorSpecname to indicate a level of nesting. Updateddm_envadaptor to flatten/unflattten actions and observations. - Increased minimum Python version to 3.6.
- Moved property request/responses to its own extension. This supersedes the previous property requests, which have been marked as deprecated. These requests will be removed in a future version of dm_env_rpc.
- Speed improvements for packing and unpacking byte arrays in Python.
- Support for per-element min/max values. This supersedes the existing scalar fields, which have been marked as deprecated. These fields will be be removed in a future version of dm_env_rpc.
- Initial set of compliance tests that environment authors can use to better ensure their implementations adhere to the protocol specification.
- Support for
dm_envDiscreteArray specs.
dm_env_rpcEnvironmentResponseerrors in Python are now raised as a custom,DmEnvRpcErrorexception.
- Initial release.
- Updated minimum requirements for Python and protobuf.
- Initial beta release