From 727aef5922706318209910d82b0be261b3eccbf0 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jun 2023 11:13:07 +0100 Subject: [PATCH 1/4] bumped version to 3.9.0 --- docs/conf.py | 2 +- h5py/version.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index a23ca0092..133f8d26b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -62,7 +62,7 @@ # built documents. # # The full version, including alpha/beta/rc tags. -release = '3.8.0' +release = '3.9.0' # The short X.Y version. version = '.'.join(release.split('.')[:2]) diff --git a/h5py/version.py b/h5py/version.py index 7af093e2f..ce7488f31 100644 --- a/h5py/version.py +++ b/h5py/version.py @@ -23,7 +23,7 @@ hdf5_built_version_tuple = _h5.HDF5_VERSION_COMPILED_AGAINST -version_tuple = _H5PY_VERSION_CLS(3, 8, 0, None, None, None) +version_tuple = _H5PY_VERSION_CLS(3, 9, 0, None, None, None) version = "{0.major:d}.{0.minor:d}.{0.bugfix:d}".format(version_tuple) if version_tuple.pre is not None: diff --git a/setup.py b/setup.py index 9da8e5965..dbf525bc8 100755 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ import setup_build, setup_configure -VERSION = '3.8.0' +VERSION = '3.9.0' # these are required to use h5py From 3c06362421314b0e398ba31d3f6424c50262fe33 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jun 2023 11:13:29 +0100 Subject: [PATCH 2/4] Updated CHANGELOG for 3.9.0 --- docs/whatsnew/3.9.0.rst | 28 +++++++++++++++++++ news/datasetid_read_chunk_out_argument.rst | 29 -------------------- news/dunder_array_to_wrappers.rst | 30 --------------------- news/fix-2233.rst | 29 -------------------- news/h5p_elink_acc_flags.rst | 30 --------------------- news/h5z_register_filter.rst | 29 -------------------- news/rm-astype-ctx.rst | 31 ---------------------- 7 files changed, 28 insertions(+), 178 deletions(-) create mode 100644 docs/whatsnew/3.9.0.rst delete mode 100644 news/datasetid_read_chunk_out_argument.rst delete mode 100644 news/dunder_array_to_wrappers.rst delete mode 100644 news/fix-2233.rst delete mode 100644 news/h5p_elink_acc_flags.rst delete mode 100644 news/h5z_register_filter.rst delete mode 100644 news/rm-astype-ctx.rst diff --git a/docs/whatsnew/3.9.0.rst b/docs/whatsnew/3.9.0.rst new file mode 100644 index 000000000..ceadbdb78 --- /dev/null +++ b/docs/whatsnew/3.9.0.rst @@ -0,0 +1,28 @@ +New features +------------ + +* New ``out`` argument to :func:`h5d.read_direct_chunk` to allow passing the output buffer. +* `AsStrWrapper` and `AstypeWrapper` now implement the `__array__()` method. + This speeds up access for functions that support it, such as `np.asarray()`. +* Validate key types when creating groups and attributes +* Low-level ``h5z.register_filter`` function that allows to register a HDF5 filter. + +Deprecations +------------ + +* Using :meth:Dataset.astype` as a context manager has been removed, after being + deprecated in h5py 3.6. Read data by slicing the returned object instead: + ``dset.astype('f4')[:]``. + +Exposing HDF5 functions +----------------------- + +* ``H5Pset_elink_acc_flags``: function that allows to set the external link traversal file access flag in a link access property list. +* ``H5Pget_elink_acc_flags``: function that retrieves the external link traversal file access flag from the specified link access property list. +* ``H5Zregister`` + +Bug fixes +--------- + +* ``Group.__contains__`` and ``Group.get`` now use the default link access property list systematically. + diff --git a/news/datasetid_read_chunk_out_argument.rst b/news/datasetid_read_chunk_out_argument.rst deleted file mode 100644 index 973abaff4..000000000 --- a/news/datasetid_read_chunk_out_argument.rst +++ /dev/null @@ -1,29 +0,0 @@ -New features ------------- - -* New ``out`` argument to :func:`h5d.read_direct_chunk` to allow passing the output buffer. - -Deprecations ------------- - -* - -Exposing HDF5 functions ------------------------ - -* - -Bug fixes ---------- - -* - -Building h5py -------------- - -* - -Development ------------ - -* diff --git a/news/dunder_array_to_wrappers.rst b/news/dunder_array_to_wrappers.rst deleted file mode 100644 index ed6244383..000000000 --- a/news/dunder_array_to_wrappers.rst +++ /dev/null @@ -1,30 +0,0 @@ -New features ------------- - -* `AsStrWrapper` and `AstypeWrapper` now implement the `__array__()` method. - This speeds up access for functions that support it, such as `np.asarray()`. - -Deprecations ------------- - -* - -Exposing HDF5 functions ------------------------ - -* - -Bug fixes ---------- - -* - -Building h5py -------------- - -* - -Development ------------ - -* diff --git a/news/fix-2233.rst b/news/fix-2233.rst deleted file mode 100644 index e79ce4600..000000000 --- a/news/fix-2233.rst +++ /dev/null @@ -1,29 +0,0 @@ -New features ------------- - -* Validate key types when creating groups and attributes - -Deprecations ------------- - -* - -Exposing HDF5 functions ------------------------ - -* - -Bug fixes ---------- - -* - -Building h5py -------------- - -* - -Development ------------ - -* diff --git a/news/h5p_elink_acc_flags.rst b/news/h5p_elink_acc_flags.rst deleted file mode 100644 index c5ac3ecdf..000000000 --- a/news/h5p_elink_acc_flags.rst +++ /dev/null @@ -1,30 +0,0 @@ -New features ------------- - -* - -Deprecations ------------- - -* - -Exposing HDF5 functions ------------------------ - -* ``H5Pset_elink_acc_flags``: function that allows to set the external link traversal file access flag in a link access property list. -* ``H5Pget_elink_acc_flags``: function that retrieves the external link traversal file access flag from the specified link access property list. - -Bug fixes ---------- - -* ``Group.__contains__`` and ``Group.get`` now use the default link access property list systematically. - -Building h5py -------------- - -* - -Development ------------ - -* diff --git a/news/h5z_register_filter.rst b/news/h5z_register_filter.rst deleted file mode 100644 index d515f2fe4..000000000 --- a/news/h5z_register_filter.rst +++ /dev/null @@ -1,29 +0,0 @@ -New features ------------- - -* Low-level ``h5z.register_filter`` function that allows to register a HDF5 filter. - -Deprecations ------------- - -* - -Exposing HDF5 functions ------------------------ - -* ``H5Zregister`` - -Bug fixes ---------- - -* - -Building h5py -------------- - -* - -Development ------------ - -* diff --git a/news/rm-astype-ctx.rst b/news/rm-astype-ctx.rst deleted file mode 100644 index ecb87ed3c..000000000 --- a/news/rm-astype-ctx.rst +++ /dev/null @@ -1,31 +0,0 @@ -New features ------------- - -* - -Deprecations ------------- - -* Using :meth:Dataset.astype` as a context manager has been removed, after being - deprecated in h5py 3.6. Read data by slicing the returned object instead: - ``dset.astype('f4')[:]``. - -Exposing HDF5 functions ------------------------ - -* - -Bug fixes ---------- - -* - -Building h5py -------------- - -* - -Development ------------ - -* From fc95dda8e858a34d16b1db107068c64b8a34e078 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jun 2023 11:14:24 +0100 Subject: [PATCH 3/4] Rename 3.9.rst, add to index --- docs/whatsnew/{3.9.0.rst => 3.9.rst} | 0 docs/whatsnew/index.rst | 1 + 2 files changed, 1 insertion(+) rename docs/whatsnew/{3.9.0.rst => 3.9.rst} (100%) diff --git a/docs/whatsnew/3.9.0.rst b/docs/whatsnew/3.9.rst similarity index 100% rename from docs/whatsnew/3.9.0.rst rename to docs/whatsnew/3.9.rst diff --git a/docs/whatsnew/index.rst b/docs/whatsnew/index.rst index 35485adb1..547a1212b 100644 --- a/docs/whatsnew/index.rst +++ b/docs/whatsnew/index.rst @@ -8,6 +8,7 @@ These document the changes between minor (or major) versions of h5py. .. toctree:: + 3.9 3.8 3.7 3.6 From 01422a485d1928331b9170bdaa4b26186a4e691f Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jun 2023 11:46:40 +0100 Subject: [PATCH 4/4] Manually clean up release notes --- docs/whatsnew/3.9.rst | 56 ++++++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/docs/whatsnew/3.9.rst b/docs/whatsnew/3.9.rst index ceadbdb78..bdaf9b60e 100644 --- a/docs/whatsnew/3.9.rst +++ b/docs/whatsnew/3.9.rst @@ -1,28 +1,56 @@ +What's new in h5py 3.9 +====================== + +This version of h5py requires Python 3.8 or above. + New features ------------ -* New ``out`` argument to :func:`h5d.read_direct_chunk` to allow passing the output buffer. -* `AsStrWrapper` and `AstypeWrapper` now implement the `__array__()` method. - This speeds up access for functions that support it, such as `np.asarray()`. -* Validate key types when creating groups and attributes -* Low-level ``h5z.register_filter`` function that allows to register a HDF5 filter. +* New ``out`` argument to :meth:`~h5py.h5d.DatasetID.read_direct_chunk` to allow passing + the output buffer (:pr:`2232`). +* The objects from :meth:`.Dataset.asstr` and :meth:`.Dataset.astype` now + implement the ``__array__()`` method (:pr:`2269`). + This speeds up access for functions that support it, such as ``np.asarray()``. +* Validate key types when creating groups and attributes, giving better error + messages when invalid types are used (:pr:`2266`). -Deprecations ------------- +Deprecations & removals +----------------------- -* Using :meth:Dataset.astype` as a context manager has been removed, after being - deprecated in h5py 3.6. Read data by slicing the returned object instead: +* Using :meth:`.Dataset.astype` as a context manager has been removed, after + being deprecated in h5py 3.6. Read data by slicing the returned object instead: ``dset.astype('f4')[:]``. Exposing HDF5 functions ----------------------- -* ``H5Pset_elink_acc_flags``: function that allows to set the external link traversal file access flag in a link access property list. -* ``H5Pget_elink_acc_flags``: function that retrieves the external link traversal file access flag from the specified link access property list. -* ``H5Zregister`` +* ``H5Pget_elink_acc_flags`` & ``H5Pset_elink_acc_flags`` as + :meth:`h5py.h5p.PropLAID.get_elink_acc_flags` & :meth:`h5py.h5p.PropLAID.set_elink_acc_flags`: + access the external link file access traversal flags in a link access property + list (:pr:`2244`). +* ``H5Zregister`` as :func:`h5py.h5z.register_filter`: register an HDF5 filter + (:pr:`2229`). Bug fixes --------- -* ``Group.__contains__`` and ``Group.get`` now use the default link access property list systematically. - +* ``Group.__contains__`` and ``Group.get`` now use the default link access + property list systematically (:pr:`2244`). +* Removed various calls to the deprecated ``numpy.product`` function (:pr:`2242` + & :pr:`2273`). +* Fix the IPython tab-completion integration in IPython 8.12 (:pr:2256`). +* Replacing attributes with :meth:`.AttributeManager.create` now deletes the old + attributes before creating the new one, rather than using a temporary name + and renaming the new attribute (:pr:`2274`). This should avoid some confusing + bugs affecting attributes. However, failures creating an attribute are less + likely to leave an existing attribute of the same name in place. To change an + attribute value without changing its shape or dtype, use + :meth:`~.AttributeManager.modify` instead. + +Building h5py +------------- + +* When building with :ref:`parallel` support, the version of mpi4py used on + various Python versions is increased to 3.1.1, fixing building with a newer + setuptools (:pr:`2225`). +* Some fixes towards compatibility with the upcoming Cython 3 (:pr:`2247`).