What's new in h5py 2.8 ====================== This is the first release of the h5py 2.8 series. Note that the 2.8 series is the last series of h5py to support Python 2.6 and 3.3. Users should look to moving to Python 2.7 or (preferably) Python 3.4 or higher, as earlier releases are now outside of security support. API changes ----------- * Deprecation of ``h5t.available_ftypes``. This is no longer used internally and will be removed in the future. There is no replacement public API. See :issue:`926` for how to add addition floating point types to h5py. * Do not sort fields in compound types (:issue:`970` by James Tocknell). This is to account for changes in numpy 1.14. * Minimum required version of Cython is now 0.23. Features -------- * Allow registration of new file drivers (:issue:`956` by Joe Jevnik). * Add option to track object creation order to ``Group.create_group`` (:issue:`968` by Chen Yufei) Bug fixes --------- * Support slices with stop < start as empty slices (:issue:`924` by Joe Jevnik) * Avoid crashing the IPython auto-completer when missing key (:issue:`885`, :issue:`958` by James Tocknell). The auto-completer currently only works on older versions of IPython, see :issue:`1022` for what's needed to support newer versions of IPython/jupyter (PRs welcome!) * Set libver default to 'earliest' (a.k.a LIBVER_EARLIEST) as previously documented (:issue:`933`, :issue:`936` by James Tocknell) * Fix conflict between fletcher32 and szip compression when using the float64 dtype (:issue:`953`, :issue:`989`, by Paul Müller). * Update floating point type handling as flagged by numpy deprecation warning (:issue:`985`, by Eric Larson) * Allow ExternalLinks to use non-ASCII hdf5 paths (:issue:`333`, :issue:`952` by James Tocknell) * Prefer custom HDF5 over pkg-config/fallback paths when building/installing (:issue:`946`, :issue:`947` by Lars Viklund) * Fix compatibility with Python 3 in document generation (:issue:`921` by Ghislain Antony Vaillant) * Fix spelling and grammar in documentation (:issue:`931` by Michael V. DePalatis, :issue:`950` by Christian Sachs, :issue:`1015` by Mikhail) * Add minor changes to documentation in order to improve clarity and warn about potential problems (:issue:`528`, :issue:`783`, :issue:`829`, :issue:`849`, :issue:`911`, :issue:`959`, by James Tocknell) * Add license field to ``setup.py`` metadata (:issue:`999` by Nils Werner). * Use system encoding for errors, not utf-8 (:issue:`1016`, :issue:`1025` by James Tocknell) * Add ``write_direct`` to the documentation (:issue:`1028` by Sajid Ali and Thomas A Caswell) Wheels HDF5 Version ------------------- * Wheels uploaded to PyPI will now be built against the HDF5 1.10 series as opposed to the 1.8 series (h5py 2.8 is built against HDF5 1.10.2). CI/Testing improvements and fixes --------------------------------- There were a number of improvements to testing and CI systems of h5py, including running the CI against multiple versions of HDF5, improving reliability and speed of the CIs, and simplifying the tox file. See :issue:`857`, :issue:`894`, :issue:`922`, :issue:`954` and :issue:`962` by Thomas A Caswell and James Tocknell for more details. Other changes ------------- * Emphasise reading from HDF5 files rather than writing to files in Quickguide (:issue:`609`, :issue:`610` by Yu Feng). Note these changes were in the 2.5 branch, but never got merged into master. The h5py 2.8 release now actually includes these changes. * Use lazy-loading of run_tests to avoid strong dependency on unittest2 (:issue:`1013`, :issue:`1014` by Thomas VINCENT) * Correctly handle with multiple float types of the same size (:issue:`926` by James Tocknell) Acknowledgements and Thanks --------------------------- The h5py developers thank Nathan Goldbaum, Matthew Brett, and Christoph Gohlke for building the wheels that appear on PyPI.