Compatibility with the upcoming HDF5 1.12.1 and possibly 1.14 (:pr:`1875`).
H5T_BITFIELD types will now be cast to their
numpy.uint
equivalent by default (:issue:`1258`). This means that no knowledge of mixed type compound dataset schemas is required to read these types, and can simply be read as follows:arr = dset[:]
Alternatively, 8-bit bitfields can still be cast to booleans explicitly:
arr = dset.astype(numpy.bool_)[:]
Key types are validated when accessing groups, to give more helpful errors when a group is indexed like a dataset (:pr:`1856`).
A new :meth:`.Group.build_virtual_dataset` method acting as a context manager to assemble virtual datasets (:pr:`1905`).
If the source and target of a virtual dataset mapping have different numbers of points, an error should now be thrown when you make the mapping in the :class:`VirtualLayout`, rather than later when writing this into the file. This should make it easier to find the source of such errors.
- Linux wheels are now manylinux2010 rather than manylinux1
- The
default_file_mode
config option is deprecated, and setting it to values other than 'r' (for read-only mode) is no longer allowed. Pass the mode when creating a :class:`.File` object instead of setting a global default.
- Trying to open a file in append mode (
'a'
) should now give clearer error messages when the file exists but can't be opened (:pr:`1902`). - Protect :func:`h5py.h5f.get_obj_ids` against garbage collection invalidating HDF5 IDs while it is retrieving them (:issue:`1852`).
- Make file closing more robust, including when closing files while the interpreter is shutting down, by using lower-level code to close HDF5 IDs of objects inside the file (:issue:`1495`).