![]() |
HDF5 Last Updated on 2026-07-28
The HDF5 Field Guide
|
Navigate back: Main / Release Specific Information / Release Specific Information for HDF5 1.10
For a description of the major new features that were introduced, please see New Features in HDF5 Release 1.10.
This page provides information on the changes that a maintenance developer needs to be aware of between successive releases of HDF5, such as:
Note that bug fixes and performance enhancements in the C library are automatically picked up by the C++, Fortran, and Java libraries.
The following information is included below.
See [API Compatibility Reports for 1.10]() for information regarding compatibility with previous releases.
Not all HDF5-1.10 releases are compatible. Users should NOT be using 1.10 releases prior to HDF5-1.10.3. See the compatibility matrix below for details on compatibility between 1.10 releases:
| Release | 1.10.5+ | 1.10.4 | 1.10.3 | 1.10.2 | 1.10.1 | 1.10.0-patch1 | 1.10.0 |
|---|---|---|---|---|---|---|---|
| 1.10.5+ | . | Yes | Yes | No | No | No | No |
| 1.10.4 | Yes | . | Yes | No | No | No | No |
| 1.10.3 | Yes | Yes | . | No | No | No | No |
| 1.10.2 | No | No | No | . | No | No | No |
The following images show how performance has changed from release to release.
|
|
The release notes also list changes made to the library, but these notes tend to be more at a more detail-oriented level. The release notes may include new features, bugs fixed, supported configuration features, platforms on which the library has been tested, and known problems. The release note files are listed below and can be found at the top level of the HDF5 source code tree in the release_docs directory.
| Filename | Description |
|---|---|
| Release Notes | Technical notes regarding the current release of the HDF5 library (RELEASE.txt in the source code) |
| HISTORY-1_10.txt | Release information for all HDF5-1.10 releases |
| HISTORY-1_8_0-1_10_0.txt | Development history between the HDF5-1.8.0 and HDF5-1.10.0 releases |
| HISTORY-1_8.txt | Release information for HDF5-1.8.0 through HDF5-1.8.21 releases |
| HISTORY-1_0-1_8_0_rc3.txt | Technical notes starting with HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code prior to the HDF5-1.8.0 release) |
One Java wrapper was added:
See the [API compatibility report between 1.10.8 and 1.10.9]() for information regarding compatibility with the previous release.
One C++ wrapper was added:
DataSet::operator=See the [API compatibility report between 1.10.7 and 1.10.8]() for information regarding compatibility with the previous release.
The following are new C functions in this release:
The following C++ wrappers were added:
FileAccPropList::getFileLocking - See H5Pget_file_locking for details FileAccPropList::setFileLocking - See H5Pset_file_locking for detailsSee the [API compatibility report between 1.10.7 and 1.10.8]() for information regarding compatibility with the previous release.
The following are new C functions in this release:
The following C++ wrappers were added:
LinkCreatPropList::getCreateIntermediateGroup() const - See H5Pget_create_intermediate_group LinkCreatPropList::setCreateIntermediateGroup(bool crt_intmd_group) const - See H5Pset_create_intermediate_groupSee the [API compatibility report between 1.10.7 and 1.10.8]() for information regarding compatibility with the previous release.
The following are new C functions in this release:
The following changed in this release:
In 1.10.3 the original functions were versioned to H5Oget_info*1 and H5Ovisit*1 and the macros H5Oget_info* and H5Ovisit* were created. This broke the API compatibility for a maintenance release. In HDF5-1.10.5, the macros introduced in HDF5-1.10.3 were removed. The H5Oget_info*1 and H5Ovisit*1 APIs were copied to H5Oget_Info* and H5Ovisit*. As an example, H5Oget_info and H5Oget_info1 are identical in this release.
The following C++ wrapper was added:
H5Object::visit() - Wrapper for the C API H5Ovisit2. Recursively visit elements reachable from an HDF5 object and perform a common set of operations across all of those elements.The following Fortran wrappers were added or changed:
h5fget_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See H5Fget_dset_no_attrs_hint. h5fset_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See H5Fset_dset_no_attrs_hint. h5pget_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See H5Pget_dset_no_attrs_hint. h5pset_dset_no_attrs_hint_f - Wrappers for the dataset object header minimization calls. See H5Pset_dset_no_attrs_hint. The following Fortran utility function was added:
h5gmtime - converts (C) time_t structure to Fortran DATE AND TIME storage formatA new Fortran derived type was added:
The following Java wrappers were added or changed:
See the [API compatibility report between 1.10.5 and 1.10.2/1.10.3/1.10.4]() for details.
See the [API compatibility report between 1.10.4 and 1.10.3]() for details.
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
The following are new C functions in this release:
The following C functions were deprecated in this release:
Several C++ wrappers were added or modified to provide additional support. See the API Compatibility Report for details.
See the [API compatibility report between 1.10.4 and 1.10.3]() for details.
This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.10.1 to Release 1.10.2.
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
The following are new C functions in this release:
The following C functions changed in this release:
The following new C function was added to this release:
The following C++ wrappers were added:
These were also added:
Class LinkCreatPropList for link create property listOverloaded functions:
H5Location::createGroup to take a link creation property listSee the API Compatibility report for complete details.
The following Java wrappers were added:
See the Release.txt file for details.
New options were added to the h5clear utility:
--filesize - Print the file's EOA and EOF --increment=C - Set the file's EOA to the maximum of (EOA, EOF) + C for the file C is >= 0; C is optional and will default to 1M when not setA new option was added to h5diff
--enable-error-stack - Enable the error stackSee the [API compatibility report between 1.10.4 and 1.10.3]() for details.
This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.10.0 (and HDF5-1.10.0-patch1) to Release 1.10.1.
Several new features are introduced in HDF5 Release 1.10.1.
The following features are described and documented in New Features in HDF5 Release 1.10. Each new feature in 1.10.1 is listed below along with the associated C functions:
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
The following new C functions were added:
New member functions were added to provide const versions. For example, these methods,
ArrayType::getArrayDims ( hsize_t* dims ) const ArrayType::getArrayNDims ( ) constreplace these:
ArrayType::getArrayDims(hsize_t* dims) ArrayType::getArrayNDims()Several functions were moved to other classes. For example, this method,
H5Location::openDataSet (char const* name) constreplaces:
CommonFG::openDataSet (char const* name) constPLEASE review the Compatibility report below for complete information on the C++ changes in this release.
See the [API compatibility report between 1.10.1 and 1.10.0-patch1]() for details.
This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.16 to Release 1.10.0.
Changed Type
Several new features are introduced in HDF5 Release 1.10.0.
More substantial lists follow, including new and modified C functions and Fortran subroutines.
The following features are described and documented in New Features in HDF5 Release 1.10.0. On this page, we list each feature and its associated C functions and Fortran wrappers.
h5pset_coll_metadata_write_f - Establishes I/O mode property setting, collective or independent, for metadata writes. h5pget_coll_metadata_write_f - Retrieves I/O mode property setting for metadata writes. h5pset_all_coll_metadata_ops_f - Establishes I/O mode, collective or independent, for metadata read operations. h5pget_all_coll_metadata_ops_f - Retrieves I/O mode for metadata read operations.The following tool has been modified to preserve or modify file freepace information appropriately when processing files employing the VDS feature:
h5pset_virtual_f - Sets the mapping between virtual and source datasets. h5pget_virtual_count_f - Retrieves the number of mappings for the virtual dataset. h5pget_virtual_vspace_f - Retrieves a dataspace identifier for the selection within the virtual dataset used in the mapping. h5pget_virtual_srcspace_f - Retrieves a dataspace identifier for the selection within the source dataset used in the mapping. h5pget_virtual_dsetname_f - Retrieves the name of a source dataset used in the mapping. h5pget_virtual_filename_f - Retrieves the filename of a source dataset used in the mapping. h5pset_virtual_printf_gap_f - Sets maximum number of missing source files and/or datasets with printf-style names when getting the extent of an unlimited virtual dataset. h5pget_virtual_printf_gap_f - Returns maximum number of missing source files and/or datasets with printf-style names when getting the extent for an unlimited virtual dataset. h5pset_virtual_view_f - Sets the view of the virtual dataset to include or exclude missing mapped elements. h5pget_virtual_view_f - Retrieves the view of a virtual dataset.h5sis_regular_hyperslab_f - Determines whether a hyperslab selection is regular. h5sget_regular_hyperslab_f - Retrieves a regular hyperslab selection.The following pre-exising functions have been modified to understand virtual datasets.
h5pset_layout_f - Specifies the layout to be used for a dataset. Virtual dataset, H5D_VIRTUAL, has been added to the list of layouts available through this function. h5pget_layout_f - Retrieves the layout in use for a dataset. Virtual dataset, H5D_VIRTUAL, has been added to the list of layouts.These functions enable the user to specify the locations of external files. (These functions are not yet documented as of the time of release for 1.10.0.)
The following new functions appear in HDF5 Release 1.10.0 but are not yet documented:
New and Changed Elements of the Packet Table (H5PT) High-level API
Replacement functions:
New functions:
Two accessor functions have been added.
Overloaded constructor
An overloaded constructor has been added.
Accessor wrappers
Two accessor wrappers are added to class PacketTable.
Other wrappers
Overloaded functions:
Where a member functions has a char* as an argument, an overloaded functions has been added to provide the const char* argument. The existing version will be deprecated in a future release.
Configure option:
--enable-javaCMake option:
-DHDF5_BUILD_JAVA:BOOL=ONPrior to the 1.10.x series, the HDF5 Java tools were built from an independent repository and were not as fully integrated with HDF5. were built from an independent repository and were not as fully integrated with HDF5.
Package Hierarchy Change
A number of new APIs have been added in the Java interface, including APIs for the VDS and SWMR features.
See API Compatibility Macros for details on the following.
A new v18 flag was added enabling the building of HDF5 such that the default API is compatible with the HDF5 Release 1.8.x API:
--with-default-api-version=v18Two functions and a struct have been converted to a versioned form in this release. Compatibility macros have been created for each.
Autotools configuration has been extensively reworked and autotool's handling of large file support has been overhauled in this release.
See the following sections in RELEASE.txt:
RELEASE.txt can be found in the release_docs/ subdirectory at the root level of the HDF5 code distribution.
[Compatibility report for Release 1.10.0 versus Release 1.8.16]()
Comments regarding the report
In the C interface, the hid_t change from 32-bit to 64-bit was made in order to address a performance problem that arose when the library "ran out" of valid object identifiers to issue and thus needed to employ an expensive algorithm to find previously issued identifiers that could be re-issued. This problem is avoided by switching the size of the hid_t type to 64-bit integers instead of 32-bit integers in order to make the pool of available integers significantly larger. (H5E_major_t and H5E_minor_t are aliased to hid_t which is why they changed size as well). (An alternate solution to this problem was applied in release HDF5 1.8.5 but this is the cleaner/preferred solution and had to wait until 1.10.0 to be included).
hbool_t will now be defined as a Bool type when configure determines that it's available.
Public structs that have members of type hid_t or hbool_t are affected by the above changes accordingly.
The H5Fget_info function was renamed due to the introduction of a newer version of the function which returns additional information. The H5Rdereference function was renamed due to the introduction of a newer version of the function which allows a data access property list to be passed in. Both changes are accompanied with compatibility macros, so while existing code will need to be recompiled in order to use the newer library version, these functions do not need to be changed in application code using them provided that the API Compatibility Macros are configured appropriately.
Navigate back: Main / Release Specific Information / Release Specific Information for HDF5 1.10