summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2022-12-28 21:14:04 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2022-12-28 21:14:04 (GMT)
commit3dcb0825ca2a6dc3d9b04c170a812446060b046d (patch)
treedeadff7e09a95257491b8c795fcb044c8305ffee
parentf42b64a349e6dff5aced5dcaf954830933221842 (diff)
parentc99e77f2396b403a456959275f65ca332accf74b (diff)
downloadhdf5-3dcb0825ca2a6dc3d9b04c170a812446060b046d.zip
hdf5-3dcb0825ca2a6dc3d9b04c170a812446060b046d.tar.gz
hdf5-3dcb0825ca2a6dc3d9b04c170a812446060b046d.tar.bz2
Merge branch 'hdf5_1_14_0' of https://github.com/HDFGroup/hdf5 into hdf5_1_14_0
-rw-r--r--release_docs/RELEASE.txt32
-rw-r--r--src/H5Ipublic.h14
-rw-r--r--src/H5VLpublic.h4
3 files changed, 42 insertions, 8 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 1ec7dfb..1d1a02f 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -543,6 +543,38 @@ New Features
Library:
--------
+ - Overhauled the Virtual Object Layer (VOL)
+
+ The virtual object layer (VOL) was added in HDF5 1.12.0 but the initial
+ implementation required API-breaking changes to better support optional
+ operations and pass-through VOL connectors. The original VOL API is
+ now considered deprecated and VOL users and connector authors should
+ target the 1.14 VOL API.
+
+ The specific changes are too extensive to document in a release note, so
+ VOL users and connector authors should consult the updated VOL connector
+ author's guide and the 1.12-1.14 VOL migration guide.
+
+ (DER - 2022/12/28)
+
+ - H5VLquery_optional() signature change
+
+ The last parameter of this API call has changed from a pointer to hbool_t
+ to a pointer to uint64_t. Due to the changes in how optional operations
+ are handled in the 1.14 VOL API, we cannot make the old API call work
+ with the new scheme, so there is no API compatibility macro for it.
+
+ (DER - 2022/12/28)
+
+ - H5I_free_t callback signature change
+
+ In order to support asynchronous operations and future IDs, the signature
+ of the H5I_free_t callback has been modified to take a second 'request'
+ parameter. Due to the nature of the internal library changes, no API
+ compatibility macro is available for this change.
+
+ (DER - 2022/12/28)
+
- Fix for CVE-2019-8396
Malformed HDF5 files may have truncated content which does not match
diff --git a/src/H5Ipublic.h b/src/H5Ipublic.h
index c0ad6be..d699c92 100644
--- a/src/H5Ipublic.h
+++ b/src/H5Ipublic.h
@@ -76,13 +76,15 @@ typedef int64_t hid_t;
#define H5I_INVALID_HID (-1)
/**
- * A function for freeing objects. This function will be called with an object
- * ID type number and a pointer to the object. The function should free the
- * object and return non-negative to indicate that the object
- * can be removed from the ID type. If the function returns negative
- * (failure) then the object will remain in the ID type.
+ * A function for freeing objects. This function will be called with a pointer
+ * to the object and a pointer to a pointer to the asynchronous request object.
+ * The function should free the object and return non-negative to indicate that
+ * the object can be removed from the ID type. If the function returns negative
+ * (failure) then the object will remain in the ID type. For asynchronous
+ * operations and handling the request parameter, see the HDF5 user guide and
+ * VOL connector author guide.
*/
-typedef herr_t (*H5I_free_t)(void *, void **);
+typedef herr_t (*H5I_free_t)(void *obj, void **request);
/**
* The type of a function to compare objects & keys
diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h
index c0a0e68..09b31af 100644
--- a/src/H5VLpublic.h
+++ b/src/H5VLpublic.h
@@ -401,7 +401,7 @@ H5_DLL herr_t H5VLunregister_connector(hid_t connector_id);
* \param[out] flags Operation flags
* \return \herr_t
*
- * \since 1.12.0
+ * \since 1.12.1
*/
H5_DLL herr_t H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, uint64_t *flags);
/**
@@ -413,7 +413,7 @@ H5_DLL herr_t H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_t
* \param[out] is_native Boolean determining whether object is a native VOL connector object
* \return \herr_t
*
- * \since 1.14.0
+ * \since 1.12.2
*/
H5_DLL herr_t H5VLobject_is_native(hid_t obj_id, hbool_t *is_native);