|
| 1 | +What's new in h5py 3.9 |
| 2 | +====================== |
| 3 | + |
| 4 | +This version of h5py requires Python 3.8 or above. |
| 5 | + |
| 6 | +New features |
| 7 | +------------ |
| 8 | + |
| 9 | +* New ``out`` argument to :meth:`~h5py.h5d.DatasetID.read_direct_chunk` to allow passing |
| 10 | + the output buffer (:pr:`2232`). |
| 11 | +* The objects from :meth:`.Dataset.asstr` and :meth:`.Dataset.astype` now |
| 12 | + implement the ``__array__()`` method (:pr:`2269`). |
| 13 | + This speeds up access for functions that support it, such as ``np.asarray()``. |
| 14 | +* Validate key types when creating groups and attributes, giving better error |
| 15 | + messages when invalid types are used (:pr:`2266`). |
| 16 | + |
| 17 | +Deprecations & removals |
| 18 | +----------------------- |
| 19 | + |
| 20 | +* Using :meth:`.Dataset.astype` as a context manager has been removed, after |
| 21 | + being deprecated in h5py 3.6. Read data by slicing the returned object instead: |
| 22 | + ``dset.astype('f4')[:]``. |
| 23 | + |
| 24 | +Exposing HDF5 functions |
| 25 | +----------------------- |
| 26 | + |
| 27 | +* ``H5Pget_elink_acc_flags`` & ``H5Pset_elink_acc_flags`` as |
| 28 | + :meth:`h5py.h5p.PropLAID.get_elink_acc_flags` & :meth:`h5py.h5p.PropLAID.set_elink_acc_flags`: |
| 29 | + access the external link file access traversal flags in a link access property |
| 30 | + list (:pr:`2244`). |
| 31 | +* ``H5Zregister`` as :func:`h5py.h5z.register_filter`: register an HDF5 filter |
| 32 | + (:pr:`2229`). |
| 33 | + |
| 34 | +Bug fixes |
| 35 | +--------- |
| 36 | + |
| 37 | +* ``Group.__contains__`` and ``Group.get`` now use the default link access |
| 38 | + property list systematically (:pr:`2244`). |
| 39 | +* Removed various calls to the deprecated ``numpy.product`` function (:pr:`2242` |
| 40 | + & :pr:`2273`). |
| 41 | +* Fix the IPython tab-completion integration in IPython 8.12 (:pr:2256`). |
| 42 | +* Replacing attributes with :meth:`.AttributeManager.create` now deletes the old |
| 43 | + attributes before creating the new one, rather than using a temporary name |
| 44 | + and renaming the new attribute (:pr:`2274`). This should avoid some confusing |
| 45 | + bugs affecting attributes. However, failures creating an attribute are less |
| 46 | + likely to leave an existing attribute of the same name in place. To change an |
| 47 | + attribute value without changing its shape or dtype, use |
| 48 | + :meth:`~.AttributeManager.modify` instead. |
| 49 | + |
| 50 | +Building h5py |
| 51 | +------------- |
| 52 | + |
| 53 | +* When building with :ref:`parallel` support, the version of mpi4py used on |
| 54 | + various Python versions is increased to 3.1.1, fixing building with a newer |
| 55 | + setuptools (:pr:`2225`). |
| 56 | +* Some fixes towards compatibility with the upcoming Cython 3 (:pr:`2247`). |
0 commit comments