# What’s new in h5py 3.10

## New features

- h5py now has pre-built packages for Python 3.12.

- Pre-built packages on Linux & Windows now bundle HDF5 version 1.14.2. Mac packages still contain HDF5 1.12.2 for now. You can still build h5py from source against a wider range of HDF5 versions.

- The read-only S3 file driver (‘ros3’) now accepts an AWS session token as part of the credentials (PR 2301). Pass `session_token` when opening a `File` (along with the other S3 parameters). This requires HDF5 1.14.2 or later, with the ROS3 feature built.

## Deprecations & removals

- Support for the HDF5 1.8 series was dropped, along with early 1.10 releases. The minimum required HDF5 version is now 1.10.4.

## Exposing HDF5 functions

- `H5Pget_fapl_ros3_token` & `H5Pset_fapl_ros3_token`

## Bug fixes

- Various nasty bugs when using nested compound and vlen data types have been fixed (PR 2134).

- Fixed an `OverflowError` in some cases when registering a filter with `h5z.register_filter()`, especially on 32-bit architectures (PR 2318).

- Sequential slicing/indexing operations on a `VirtualSource` object (e.g. `source[:10][::2]`) now raise an error, rather than giving incorrect results (PR 2280).

## Building h5py

- h5py now uses HDF5’s 1.10 compatibility mode at compile time rather than the 1.8 compatibility mode (PR 2320). This is normally transparent even if you’re building h5py from source.