Files
hdf5/doxygen/dox/sw_changes_1.14.dox
T
Scot Breitenfeld a46a399230 Fixes the "multiple @param documentation sections" doxygen warnings (#6195)
Addresses the "multiple @ param documentation sections" warnings are caused by the interaction of three things:

1. MACRO_EXPANSION = YES with EXPAND_ONLY_PREDEF = NO in Doxyfile.in

2. Versioned API macros in H5version.h like:

\def documentation in APIVersions.dox like:

3. \def H5Tarray_create \api_vers_2{H5Tarray_create,H5Tarray_create1,H5Tarray_create2}

Because Doxygen expands all macros, it sees H5Tarray_create as an alias for H5Tarray_create1. It then associates documentation from both the \def block (for the macro) and the function's own doc block (with \param entries) with the same function — resulting in "multiple @ param documentation sections."

* Update Doxygen version from 1.16.0 to 1.16.1

Use Doxygen 1.16.1 for all platforms. This version includes the latest
bug fixes and improvements while maintaining compatibility with our
documentation format.

* Fix Windows Doxygen installation for version 1.16.1

Handle different Windows binary naming conventions across Doxygen versions:
- 1.16.1 uses: doxygen-VERSION.windows.x64.bin.zip
- 1.16.0 uses: doxygen-VERSION.x64.bin.zip

Try the newer naming convention first, then fall back to the older one
if the download fails. This ensures compatibility across versions.

* Use ssciwr/doxygen-install in setup-doxygen action

Replace direct installation of official Doxygen binaries with
ssciwr/doxygen-install action. This avoids Java documentation parsing
errors that occur with official binaries but not with distribution
builds.

The setup-doxygen action now serves as a thin wrapper around
ssciwr/doxygen-install@f13be16c83 (v1),
using commit hash for security and reproducibility.

* Remove redundant version specification from workflows

The setup-doxygen action already has a default version (1.16.1),
so explicit version specification in workflows is unnecessary.
This follows DRY principles and makes version updates simpler.
2026-02-12 10:45:17 -06:00

263 lines
19 KiB
Plaintext

/** \page rel_spec_114_change Release Software Changes for HDF5 1.14
*
* Navigate back: \ref index "Main" / \ref release_specific_info / \ref rel_spec_114
* <hr>
\section sec_rel_spec_114_change Software Changes from Release to Release in HDF5 1.14
\subsection subsec_rel_spec_114_change_compat API Compatibility
See \ref api-compat-macros for details on using HDF5 version 1.14 with previous releases.
\li <a href="https://\RELURL/v1_14/v1_14_6/downloads/hdf5-1.14.6.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.6 versus Release 1.14.5</a>
\li <a href="https://\RELURL/v1_14/v1_14_5/downloads/hdf5-1.14.5.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.5 versus Release 1.14.4</a>
\li <a href="https://\RELURL/v1_14/v1_14_4/downloads/hdf5-1.14.4-3.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.4 versus Release 1.14.3</a>
\li <a href="https://\RELURL/v1_14/v1_14_3/downloads/hdf5-1.14.3.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.3 versus Release 1.14.2</a>]
\li <a href="https://\RELURL/v1_14/v1_14_2/downloads/hdf5-1.14.2.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.2 versus Release 1.14.1</a>]
\li <a href="https://\RELURL/v1_14/v1_14_1/downloads/hdf5-1.14.1.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.1 versus Release 1.14.0</a>]
\li <a href="https://\RELURL/v1_14/v1_14_0/downloads/hdf5-1.14.0.html.abi.reports.tar.gz">Compatibility reports for Release 1.14.0 versus Release 1.12.2</a>]
This page provides information on the changes that a maintenance developer needs to
be aware of between successive releases of HDF5, such as:
\li New or changed features or tools
\li Syntax and behavioral changes in the existing application programming interface (the API)
\li Certain types of changes in configuration or build processes
\li 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.
\li \ref subsec_rel_spec_114_change_6versus5
\li \ref subsec_rel_spec_114_change_5versus4
\li \ref subsec_rel_spec_114_change_4versus3
\li \ref subsec_rel_spec_114_change_3versus2
\li \ref subsec_rel_spec_114_change_2versus1
\li \ref subsec_rel_spec_114_change_1versus0
\li \ref subsec_rel_spec_114_change_0versus12_2
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 in each release section and can be found at the top level of
the HDF5 source code tree in the release_docs directory.
\subsection subsec_rel_spec_114_change_6versus5 Release 1.14.6 versus Release 1.14.5
\subsubsection subsubsec_rel_spec_114_change_6versus5_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_6/downloads/compat_report/hdf5-1.14.6-hdf5_compat_report.html">C API Compatibility report for Release 1.14.6 versus Release 1.14.5</a>
\li <a href="https://\RELURL/v1_14/v1_14_6/downloads/compat_report/hdf5-1.14.6-hdf5_cpp_compat_report.html">C++ API Compatibility report for Release 1.14.6 versus Release 1.14.5</a>
\li <a href="https://\RELURL/v1_14/v1_14_6/downloads/compat_report/hdf5-1.14.6-hdf5_hl_compat_report.html">High-Level API Compatibility report for Release 1.14.6 versus Release 1.14.5</a>
\li <a href="https://\RELURL/v1_14/v1_14_6/downloads/compat_report/hdf5-1.14.6-java_compat_report.html">Java API Compatibility report for Release 1.14.6 versus Release 1.14.5</a>
\subsection subsec_rel_spec_114_change_5versus4 Release 1.14.5 versus Release 1.14.4
\subsubsection subsubsec_rel_spec_114_change_5versus4_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_5/downloads/compat_report/hdf5-1.14.5-hdf5_compat_report.html">C API Compatibility report for Release 1.14.5 versus Release 1.14.4</a>
\li <a href="https://\RELURL/v1_14/v1_14_5/downloads/compat_report/hdf5-1.14.5-hdf5_cpp_compat_report.html">C++ API Compatibility report for Release 1.14.5 versus Release 1.14.4</a>
\li <a href="https://\RELURL/v1_14/v1_14_5/downloads/compat_report/hdf5-1.14.5-hdf5_hl_compat_report.html">High-Level API Compatibility report for Release 1.14.5 versus Release 1.14.4</a>
\li <a href="https://\RELURL/v1_14/v1_14_5/downloads/compat_report/hdf5-1.14.5-java_compat_report.html">Java API Compatibility report for Release 1.14.5 versus Release 1.14.4</a>
Following are the new APIs/macros introduced in HDF5-1.14.5.
<h4>In the C Interface (main library)</h4>
\li #H5Eis_paused - Check if pushing errors on an error stack is paused
\li #H5Epause_stack - Pause pushing errors on an error stack
\li #H5Eresume_stack - Resume pushing errors on an error stack
\subsection subsec_rel_spec_114_change_4versus3 Release 1.14.4 versus Release 1.14.3
\subsubsection subsubsec_rel_spec_114_change_4versus3_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_4/downloads/compat_report/hdf5-1.14.4-3-hdf5_compat_report.html">C API Compatibility report for Release 1.14.4 versus Release 1.14.3</a>
\li <a href="https://\RELURL/v1_14/v1_14_4/downloads/compat_report/hdf5-1.14.4-3-hdf5_cpp_compat_report.html">C++ API Compatibility report for Release 1.14.4 versus Release 1.14.3</a>
\li <a href="https://\RELURL/v1_14/v1_14_4/downloads/compat_report/hdf5-1.14.4-3-hdf5_hl_compat_report.html">High-Level API Compatibility report for Release 1.14.4 versus Release 1.14.3</a>
\li <a href="https://\RELURL/v1_14/v1_14_4/downloads/compat_report/hdf5-1.14.4-3-java_compat_report.html">Java API Compatibility report for Release 1.14.4 versus Release 1.14.3</a>
Following are the new APIs/macros introduced in HDF5-1.14.4.
<h4>In the C Interface (main library)</h4>
\li #H5Pget_relax_file_integrity_checks - Retrieves relaxed file integrity check flags
\li #H5Pset_relax_file_integrity_checks - Relaxes certain file integrity checks
<h4>Macro</h4>
\li #H5T_IEEE_F16BE - 16-bit big-endian IEEE floating-point numbers
\li #H5T_IEEE_F16LE - 16-bit little-endian IEEE floating-point numbers
\li #H5T_NATIVE_FLOAT16 - C-style <code>_Float16</code>
\subsection subsec_rel_spec_114_change_3versus2 Release 1.14.3 versus Release 1.14.2
This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.14.2 to Release 1.14.3.
\subsubsection subsubsec_rel_spec_114_change_3versus2_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_3/downloads/compat_report/hdf5-1.14.2-vs-hdf5-1.14.3-interface_compatibility_report.html">High-Level API Compatibility report for Release 1.14.3 versus Release 1.14.2</a>
\li <a href="https://\RELURL/v1_14/v1_14_3/downloads/compat_report/hdf5-1.14.2-vs-hdf5-1.14.3-java-interface_compatibility_report.html">Java API Compatibility report for Release 1.14.3 versus Release 1.14.2</a>
Following are the new APIs introduced in HDF5-1.14.3.
<h4>In the C Interface (main library)</h4>
\li #H5Pget_actual_selection_io_mode - Retrieves the type(s) of I/O performed on raw data
<h4>In the Fortran Interface</h4>
\li `h5get_free_list_sizes_f` - Gets the current size of the free lists used to manage memory
\li \ref h5d::h5dwrite_chunk_f - Writes a raw data chunk from a buffer directly to a dataset in a file
\li \ref h5d::h5dread_chunk_f - Reads a raw data chunk directly from a dataset in a file into a buffer
\li `h5fget_info_f` - Retrieves global file information
\li \ref h5l::h5lvisit_f - Recursively visits all links starting from a specified group
\li `h5lvisit_by_name_f` - Recursively visits all links starting from a specified group
\li \ref h5p::h5pget_no_selection_io_cause_f - Retrieves the cause for not performing selection or vector I/O on the last parallel I/O call
\li \ref h5p::h5pget_mpio_no_collective_cause_f - Retrieves local and global causes that broke collective I/O on the last parallel I/O call
\li `h5sselect_shape_same_f` - Checks if two selections are the same shape
\li `h5sselect_intersect_block_f` - Checks if current selection intersects with a block
\li \ref h5p::h5pget_file_space_page_size_f - Gets the file space page size for a file creation property list
\li \ref h5p::h5pset_file_space_page_size_f - Sets the file space page size for a file creation property list
\li \ref h5p::h5pget_file_space_strategy_f - Gets the file space handling strategy and persisting free-space values for a file creation property list
\li `h5pset_file_space_strategy_f` - Sets the file space handling strategy and persisting free-space values for a file creation property list
In addition, there are other new Fortran functions including the Fortran async APIs
and the Fortran VOL capability definitions.
\subsection subsec_rel_spec_114_change_2versus1 Release 1.14.2 versus Release 1.14.1
This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.14.1 to Release 1.14.2.
\subsubsection subsubsec_rel_spec_114_change_2versus1_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_2/downloads/compat_report/hdf5-1.14.1-2-vs-hdf5-1.14.2-interface_compatibility_report.html">High-Level API Compatibility report for Release 1.14.2 versus Release 1.14.1</a>
\li <a href="https://\RELURL/v1_14/v1_14_2/downloads/compat_report/hdf5-1.14.1-vs-hdf5-1.14.2-java-interface_compatibility_report.html">Java API Compatibility report for Release 1.14.2 versus Release 1.14.1</a>
Following are the new APIs introduced in HDF5-1.14.2.
<h4>In the C Interface (main library)</h4>
\li #H5FDread_from_selection - Performs a series of scalar reads.
\li #H5FDread_vector_from_selection - Performs a vector read if vector reads are supported, or a series of scalar reads, otherwise.
\li #H5FDwrite_from_selection - Performs a series of scalar writes.
\li #H5FDwrite_vector_from_selection - Performs a vector write if vector writes are supported, or a series of scalar writes, otherwise.
\li #H5Pget_fapl_ros3\_token - Returns session/security token of the ros3 file access property list
\li #H5Pset_fapl_ros3\_token - Modifies the file access property list to use the H5FD_ROS3 driver
\subsection subsec_rel_spec_114_change_1versus0 Release 1.14.1 versus Release 1.14.0
This section lists interface-level changes and other user-visible changes in behavior in the
transition from HDF5 Release 1.14.0 to Release 1.14.1.
\subsubsection subsubsec_rel_spec_114_change_1versus0_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_1/downloads/compat_report/hdf5-1.14.0-vs-hdf5-1.14.1-interface_compatibility_report.html">High-Level API Compatibility report for Release 1.14.1 versus Release 1.14.0</a>
\li <a href="https://\RELURL/v1_14/v1_14_1/downloads/compat_report/hdf5-1.14.0-vs-hdf5-1.14.1-java-interface_compatibility_report.html">Java API Compatibility report for Release 1.14.1 versus Release 1.14.0</a>
Following are the new APIs introduced in HDF5-1.14.1.
<h4>In the C Interface (main library)</h4>
\li #H5Pget_modify_write_buf - Retrieves the "modify write buffer" property
\li #H5Pget_no_selection_io_cause - Retrieves the cause for not performing selection or vector I/O on the last parallel I/O call
\li #H5Pget_selection_io - Retrieves the selection I/O mode
\li #H5Pset_modify_write_buf - Allows the library to modify the contents of the write buffer
\li #H5Pset_selection_io - Sets the selection I/O mode
<h4>In the Fortran Interface</h4>
\li \ref h5p::h5pget_modify_write_buf_f - Retrieves the "modify write buffer" property
\li \ref h5p::h5pget_selection_io_f - Retrieves the selection I/O mode
\li \ref h5p::h5pset_modify_write_buf_f - Allows the library to modify the contents of the write buffer
\li \ref h5p::h5pset_selection_io_f - Sets the selection I/O mode
\subsection subsec_rel_spec_114_change_0versus12_2 Release 1.14.0 versus Release 1.12.2
HDF5 version 1.14.0 introduces the following new features:
\li Asynchronous I/O operations
\li New tools h5dwalk and h5delete
\li Subfiling VFD
\li Onion VFD
\li Multi Dataset I/O
Users might find these names familiar already and that is because they were introduced in the
experimental series 1.13.
In addition, this version provides many new C APIs and other user-visible changes in behavior
in the transition from HDF5 Release 1.12.2 to Release 1.14.0. HDF5 1.14.0 adds no new API calls
that require use of the API Compatibility Macros for the main library. Some calls have been
removed or have had their signature change, however.
\subsubsection subsubsec_rel_spec_114_change_0versus12_2_new New and Changed Functions, Classes, Subroutines, Wrappers, and Macros
\li <a href="https://\RELURL/v1_14/v1_14_0/downloads/compat_report/hdf5-1.12.2-vs-hdf5-1.14.0-interface_compatibility_report.html">High-Level API Compatibility report for Release 1.14.0 versus Release 1.12.2</a>
\li <a href="https://\RELURL/v1_14/v1_14_0/downloads/compat_report/hdf5-1.12.2-vs-hdf5-1.14.0-java-interface_compatibility_report.html">Java API Compatibility report for Release 1.14.0 versus Release 1.12.2</a>
<h4>In the C Interface (main library)</h4>
Following are the new APIs introduced in HDF5-1.14.0.
\li #H5Aclose_async - Asynchronous version of #H5Aclose
\li #H5Acreate_async - Asynchronous version of #H5Acreate
\li #H5Acreate_by_name_async - Asynchronous version of #H5Acreate_by_name
\li #H5Aexists_async - Asynchronous version of #H5Aexists
\li #H5Aexists_by_name_async - Asynchronous version of #H5Aexists_by_name
\li #H5Aopen_async - Asynchronous version of #H5Aopen
\li #H5Aopen_by_idx_async - Asynchronous version of #H5Aopen_by_idx
\li #H5Aopen_by_name_async - Asynchronous version of #H5Aopen_by_name
\li #H5Aread_async - Asynchronous version of #H5Aread
\li #H5Arename_async - Asynchronous version of #H5Arename
\li #H5Arename_by_name_async - Asynchronous version of #H5Arename_by_name
\li #H5Awrite_async - Asynchronous version of #H5Awrite
\li #H5Dchunk_iter - Iterate over all chunks of a chunked dataset
\li #H5Dclose_async - Asynchronous version of #H5Dclose
\li #H5Dcreate_async - Asynchronous version of #H5Dcreate
\li #H5Dget_space_async - Asynchronous version of #H5Dget_space
\li #H5Dopen_async - Asynchronous version of #H5Dopen
\li #H5Dread_async - Asynchronous version of #H5Dread
\li #H5Dread_multi - Reads raw data from a set of datasets into the provided buffers
\li #H5Dread_multi_async - Asynchronous version of #H5Dread_multi
\li #H5Dset_extent_async - Asynchronous version of #H5Dset_extent
\li #H5Dwrite_async - Asynchronous version of #H5Dwrite
\li #H5Dwrite_multi - Writes raw data from a set buffers to a set of datasets
\li #H5Dwrite_multi_async - Asynchronous version of #H5Dwrite_multi
\li #H5Eappend_stack - Appends one error stack to another, optionally closing the source stack
\li #H5EScancel - Attempt to cancel operations in an event set
\li #H5ESclose - Terminates access to an event set
\li #H5EScreate - Creates an event set
\li #H5ESfree_err_info - Convenience routine to free an array of #H5ES_err_info_t structs
\li #H5ESget_count - Retrieves number of events in an event set
\li #H5ESget_err_count - Retrieves the number of failed operations
\li #H5ESget_err_info - Retrieves information about failed operations
\li #H5ESget_err_status] - Checks for failed operations
\li #H5ESget_op_counter - Retrieves the accumulative operation counter for an event set
\li #H5ESregister_complete_func - Registers a callback to invoke when an operation completes within an event set
\li #H5ESregister_insert_func - Registers a callback to invoke when a new operation is inserted into
\li #H5ESwait - Waits for operations in event set to complete
\li #H5FDonion_get_revision_count - Gets the number of revisions
\li #H5Pget_fapl_onion - Gets the onion info from the file access property list
\li #H5Pset_fapl_onion - Sets the onion info for the file access property list
\li #H5Fclose_async - Asynchronous version of #H5Fclose
\li #H5Fcreate_async - Asynchronous version of #H5Fcreate
\li #H5Fflush_async - Asynchronous version of #H5Fflush
\li #H5Fopen_async - Asynchronous version of #H5Fopen
\li #H5Freopen_async - Asynchronous version of #H5Freopen
\li #H5Gclose_async - Asynchronous version of #H5Gclose
\li #H5Gcreate_async - Asynchronous version of #H5Gcreate
\li #H5Gget_info_async - Asynchronous version of #H5Gget_info
\li #H5Gget_info_by_idx_async - Asynchronous version of #H5Gget_info_by_idx
\li #H5Gget_info_by_name_async - Asynchronous version of #H5Gget_info_by_name
\li #H5Gopen_async - Asynchronous version of #H5Gopen
\li #H5Iregister_future - Registers a "future" object under a type and returns an ID for it
\li #H5Lcreate_hard_async - Asynchronous version of #H5Lcreate_hard
\li #H5Lcreate_soft_async - Asynchronous version of #H5Lcreate_soft
\li #H5Ldelete_async - Asynchronous version of #H5Ldelete
\li #H5Ldelete_by_idx_async - Asynchronous version of #H5Ldelete_by_idx
\li #H5Lexists_async - Asynchronous version of #H5Lexists
\li #H5Literate_async - Asynchronous version of #H5Literate
\li #H5Oclose_async - Asynchronous version of #H5Oclose
\li #H5Ocopy_async - Asynchronous version of #H5Ocopy
\li #H5Oflush_async - Asynchronous version of #H5Oflush
\li #H5Oget_info_by_name_async - Asynchronous version of #H5Oget_info_by_name
\li #H5Oopen_async - Asynchronous version of #H5Oopen
\li #H5Oopen_by_idx_async - Asynchronous version of #H5Oopen_by_idx
\li #H5Orefresh_async - Asynchronous version of #H5Orefresh
\li #H5Pget_driver_config_str - Retrieves a string representation of the configuration for the driver set on the given FAPL
\li #H5Pget_vol_cap_flags - Query the capability flags for the VOL connector that will be used with this file access property list (FAPL)
\li #H5Pset_dataset_io_hyperslab_selection - Sets a hyperslab file selection for a dataset I/O operation
\li #H5Pset_driver_by_name - Sets a file driver according to a given driver name
\li #H5Pset_driver_by_value - Sets a file driver according to a given driver value (ID)
\li #H5atclose - Registers a callback for the library to invoke when it's closing
\li #H5is_library_terminating - Checks whether the HDF5 library is closing
\li #H5Ropen_attr_async - Asynchronous version of #H5Ropen_attr
\li #H5Ropen_object_async - Asynchronous version of #H5Ropen_object
\li #H5Ropen_region_async - Asynchronous version of #H5Ropen_region
\li #H5Tclose_async - Asynchronous version of #H5Tclose
\li #H5Tcommit_async - Asynchronous version of #H5Tcommit2
\li #H5Topen_async - Asynchronous version of #H5Topen2
*
* <hr>
* Navigate back: \ref index "Main" / \ref release_specific_info / \ref rel_spec_114
*/