To better support OpenMPI, all MPI-1 API calls were replaced by MPI-2 equivalents.

Support was added for cross compiling with CMake on HPC machines.

A new option was added to enable/disable using pread/pwrite in place of read/write in the sec2, log, and core VFDs:Autotools: --enable-preadwrite
CMake: HDF5_ENABLE_PREADWRITE

The ability to minimize dataset object headers was added. New APIs (for C, Fortran, and Java) were introduced to support this feature. See: H5Fget_dset_no_attrs_hint, H5Fset_dset_no_attrs_hint, H5Pget_dset_no_attrs_hint and H5Pset_dset_no_attrs_hint.

The macros for the H5Oget_info and H5Ovisit APIs were removed and 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. API compatibility for maintenance releases was broken in HDF5-1.10.3 (and 1.10.4) when these macros were introduced, and this change corrects that.

To improve performance, the default behavior changed when reading a contiguous dataset collectively in its entirety by all processes.

Several bugs were fixed, including CVE vulnerability issues, as well as hanging issues with collective metadata reads during chunked dataset I/O, found in netCDF-4.