What's new in h5py 3.12 ======================= New features ------------ * h5py now has pre-built packages for Python 3.13. * However, h5py is not yet compatible with the new free-threading mode; we're tracking work on that in issue :issue:`2475`. Breaking changes ---------------- * Support for Python 3.8 was dropped (:pr:`2471`). Python 3.9 or newer is required to build or install h5py 3.12. * The minimum supported version of HDF5 was increased to 1.10.6 (:pr:`2486`). If you need h5py on HDF5 1.10.4 or .5, please use h5py 3.11. * The fill time for chunked storage was previously set to ``h5d.FILL_TIME_ALLOC``. Now this the default comes from HDF5, which uses ``h5d.FILL_TIME_IFSET`` (equivalent to ``fill_time='ifset'``) (:pr:`2463`). Please use ``fill_time='alloc'`` if the change is a problem for you. Exposing HDF5 functions ----------------------- * Expose fill time option in dataset creation property list via the ``fill_time`` parameter in :meth:`~.Group.create_dataset` (:pr:`2463`). Bug fixes --------- * Fix an error where native float16 support is not available (:pr:`2422`). * Fixed values of ``H5F_close_degree_t`` enum (:pr:`2433`). * External links are now accessed with libhdf5's default access properties (:pr:`2433`). * Fix the iteration order for the root group in a file with creation order tracked (:pr:`2410`). * Fixed some deprecation warnings from NumPy (:pr:`2416`). Building h5py ------------- * Require a newer version of mpi4py for Python 3.12 (:pr:`2418`). * The test suite is now configured to fail on unexpected warnings (:pr:`2428`). * The generated Cython wrapper code (``defs.*`` & ``_hdf5.pxd``) is now specific to the version of HDF5 it's building for. If the version of HDF5 has changed, ``api_gen.py`` should be run automatically to recreate this (:pr:`2479`, :pr:`2480`). * Various PRs modernising & cleaning up old Cython code, see the `3.12 milestone on Github `_ for details. 3.12.1 bug fix release ---------------------- * Fix bundling HDF5 DLLs in pre-built packages for Windows (:pr:`2507`).