What's new in h5py 2.7 ====================== Python 3.2 is no longer supported --------------------------------- ``h5py`` 2.7 drops Python 3.2 support, and testing is not longer performed on Python 3.2. The latest versions of ``pip``, ``virtualenv``, ``setuptools`` and ``numpy`` do not support Python 3.2, and dropping 3.2 allows both ``u`` and ``b`` prefixes to be used for strings. A clean up of some of the legacy code was done in :pr:`675` by Andrew Collette. Additionally, support for Python 2.6 is soon to be dropped for ``pip`` (See https://github.com/pypa/pip/issues/3955) and ``setuptools`` (See https://github.com/pypa/setuptools/issues/878), and ``numpy`` has dropped Python 2.6 also in the latest release. While ``h5py`` has not dropped Python 2.6 this release, users are strongly encouraged to move to Python 2.7 where possible. Improved testing support ------------------------ There has been a major increase in the number of configurations ``h5py`` is automatically tested in, with Windows CI support added via Appveyor (:pr:`795`, :pr:`798`, :pr:`799` and :pr:`801` by James Tocknell) and testing of minimum requirements to ensure we still satisfy them (:pr:`703` by James Tocknell). Additionally, ``tox`` was used to ensure that we don't run tests on Python versions which our dependencies have dropped or do not support (:pr:`662`, :pr:`700` and :pr:`733`). Thanks to to the Appveyor support, unicode tests were made more robust (:pr:`788`, :pr:`800` and :pr:`804` by James Tocknell). Finally, other tests were improved or added where needed (:pr:`724` by Matthew Brett, :pr:`789`, :pr:`794` and :pr:`802` by James Tocknell). Improved python compatibility ----------------------------- The ``ipython``/``jupyter`` completion support now has Python 3 support (:pr:`715` by Joseph Kleinhenz). ``h5py`` now supports ``pathlib`` filenames (:pr:`716` by James Tocknell). Documentation improvements -------------------------- An update to the installation instructions and some whitespace cleanup was done in :pr:`808` by Thomas A Caswell, and mistake in the quickstart was fixed by Joydeep Bhattacharjee in :pr:`708`. setup.py improvements --------------------- Support for detecting the version of HDF5 via ``pkgconfig`` was added by Axel Huebl in :pr:`734`, and support for specifying the path to MPI-supported HDF5 was added by Axel Huebl in :pr:`721`. ``h5py's`` classifiers were updated to include supported python version and interpreters in :pr:`811` by James Tocknell. Support for additional HDF5 features added ------------------------------------------ Low-level support for `HDF5 Direct Chunk Write`_ was added in :pr:`691` by Simon Gregor Ebner. Minimal support for `HDF5 File Image Operations`_ was added by Andrea Bedini in :pr:`680`. Ideas and opinions for further support for both `HDF5 Direct Chunk Write`_ and `HDF5 File Image Operations`_ are welcome. High-level support for reading and writing null dataspaces was added in :pr:`664` by James Tocknell. Improvements to type system --------------------------- Reading and writing of compound datatypes has improved, with support for different orderings and alignments (:pr:`701` by Jonah Bernhard, :pr:`702` by Caleb Morse :pr:`738` by @smutch, :pr:`765` by Nathan Goldbaum and :pr:`793` by James Tocknell). Support for reading extended precision and non-standard floating point numbers has also been added (:pr:`749`, :pr:`812` by Thomas A Caswell, :pr:`787` by James Tocknell and :pr:`781` by Martin Raspaud). Finally, compatibility improvements to ``Cython`` annotations of HDF5 types were added in :pr:`692` and :pr:`693` by Aleksandar Jelenak. Other changes ------------- * Fix deprecation of ``-`` for ``numpy`` boolean arrays (:pr:`683` by James Tocknell) * Check for duplicates in fancy index validation (:pr:`739` by Sam Toyer) * Avoid potential race condition (:pr:`754` by James Tocknell) * Fix inconsistency when slicing with ``numpy.array`` of shape ``(1,)`` (:pr:`772` by Artsiom) * Use ``size_t`` to store Python object id (:pr:`773` by Christoph Gohlke) * Avoid errors when the Python GC runs during ``nonlocal_close()`` (:pr:`776` by Antoine Pitrou) * Move from ``six.PY3`` to ``six.PY2`` (:pr:`686` by James Tocknell) .. _`HDF5 Direct Chunk Write` : https://support.hdfgroup.org/HDF5/doc/Advanced/DirectChunkWrite/ .. _`HDF5 File Image Operations` : https://support.hdfgroup.org/HDF5/doc/Advanced/FileImageOperations/HDF5FileImageOperations.pdf Acknowledgements ----------------