summaryrefslogtreecommitdiffstats
path: root/release_docs/HISTORY-1_10.txt
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2023-04-07 12:49:26 (GMT)
committerGitHub <noreply@github.com>2023-04-07 12:49:26 (GMT)
commitbc2517b33d8bd5d23c2352d38b97a23d07c92833 (patch)
tree1276118ff271a7333e545379d5cb205011e04d40 /release_docs/HISTORY-1_10.txt
parent32bc1b911933891f78809366f55e892639f42a2d (diff)
downloadhdf5-bc2517b33d8bd5d23c2352d38b97a23d07c92833.zip
hdf5-bc2517b33d8bd5d23c2352d38b97a23d07c92833.tar.gz
hdf5-bc2517b33d8bd5d23c2352d38b97a23d07c92833.tar.bz2
Update HDF5 version after 1.10.10 release. (#2681)
* Update HDF5 version after 1.10.10 release. Update so numbers to match 1.10.10 release so numbers. Update HISTORY-1_10.txt. Clean RELEASE.txt entries. * Missed one version change.
Diffstat (limited to 'release_docs/HISTORY-1_10.txt')
-rw-r--r--release_docs/HISTORY-1_10.txt1141
1 files changed, 1141 insertions, 0 deletions
diff --git a/release_docs/HISTORY-1_10.txt b/release_docs/HISTORY-1_10.txt
index 9634832..b330775 100644
--- a/release_docs/HISTORY-1_10.txt
+++ b/release_docs/HISTORY-1_10.txt
@@ -3,6 +3,8 @@ HDF5 History
This file contains development history of the HDF5 1.10 branch
+12. Release Information for hdf5-1.10.10
+11. Release Information for hdf5-1.10.9
10. Release Information for hdf5-1.10.8
09. Release Information for hdf5-1.10.7
08. Release Information for hdf5-1.10.6
@@ -16,6 +18,1145 @@ This file contains development history of the HDF5 1.10 branch
[Search on the string '%%%%' for section breaks of each release.]
+%%%%1.10.10%%%%
+
+HDF5 version 1.10.10 released on 2023-03-31
+================================================================================
+
+
+INTRODUCTION
+============
+
+This document describes the differences between this release and the previous
+HDF5 release. It contains information on the platforms tested and known
+problems in this release. For more details check the HISTORY*.txt files in the
+HDF5 source.
+
+Note that documentation in the links below will be updated at the time of each
+final release.
+
+Links to HDF5 documentation can be found on The HDF5 web page:
+
+ https://portal.hdfgroup.org/display/HDF5/HDF5
+
+The official HDF5 releases can be obtained from:
+
+ https://www.hdfgroup.org/downloads/hdf5/
+
+Changes from release to release and new features in the HDF5-1.10.x release series
+can be found at:
+
+ https://portal.hdfgroup.org/display/HDF5/Release+Specific+Information
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms and Languages
+- Bug Fixes since HDF5-1.10.9
+- Platforms Tested
+- Known Problems
+- CMake vs. Autotools installations
+
+
+New Features
+============
+
+ Configuration:
+ -------------
+ - Removal of dmalloc support
+
+ The ability to build with dmalloc support has been removed along with
+ the following configure options:
+
+ Autotools:
+ --with-dmalloc=
+
+ CMake:
+ HDF5_ENABLE_USING_DMALLOC
+
+ (DER - 2023/03/17)
+
+ - Allow parallel and threadsafe to be built
+
+ In the past, we required --enable-unsupported (Autotools) or
+ ALLOW_UNSUPPORTED (CMake) in order to build the parallel library with
+ thread-safety support. The parallel, thread-safe library can now be
+ built without these options.
+
+ (DER - 2023/03/17)
+
+ - Added new option to build libaec and zlib inline with CMake.
+
+ Using the CMake FetchContent module, the external filters can populate
+ content at configure time via any method supported by the ExternalProject
+ module. Whereas ExternalProject_Add() downloads at build time, the
+ FetchContent module makes content available immediately, allowing the
+ configure step to use the content in commands like add_subdirectory(),
+ include() or file() operations.
+
+ The HDF options (and defaults) for using this are:
+ BUILD_SZIP_WITH_FETCHCONTENT:BOOL=OFF
+ LIBAEC_USE_LOCALCONTENT:BOOL=OFF
+ BUILD_ZLIB_WITH_FETCHCONTENT:BOOL=OFF
+ ZLIB_USE_LOCALCONTENT:BOOL=OFF
+
+ The CMake variables to control the path and file names:
+ LIBAEC_TGZ_ORIGPATH:STRING
+ LIBAEC_TGZ_ORIGNAME:STRING
+ ZLIB_TGZ_ORIGPATH:STRING
+ ZLIB_TGZ_ORIGNAME:STRING
+
+ See the CMakeFilters.cmake and config/cmake/cacheinit.cmake files for usage.
+
+ (ADB - 2023/02/21)
+
+ - Add new CMake configuration variable HDF5_USE_GNU_DIRS
+
+ HDF5_USE_GNU_DIRS (default OFF) selects the use of GNU Coding Standard install
+ directory variables by including the CMake module, GNUInstallDirs(see CMake
+ documentation for details). The HDF_DIR_PATHS macro in the HDFMacros.cmake file
+ sets various PATH variables for use during the build, test and install processes.
+ By default, the historical settings for these variables will be used.
+
+ (ADB - 2022/10/21, GH-2175, GH-1716)
+
+ - Correct the usage of CMAKE_Fortran_MODULE_DIRECTORY and where to
+ install Fortran mod files.
+
+ The Fortran modules files, ending in .mod are files describing a
+ Fortran 90 (and above) module API and ABI. These are not like C
+ header files describing an API, they are compiler dependent and
+ arch dependent, and not easily readable by a human being. They are
+ nevertheless searched for in the includes directories by gfortran
+ (in directories specified with -I).
+
+ Autotools configure uses the -fmoddir option to specify the folder.
+ CMake will use "mod" folder by default unless overridden by the CMake
+ variable; HDF5_INSTALL_MODULE_DIR.
+
+ (ADB - 2022/07/21)
+
+
+ Library:
+ --------
+ -
+
+
+ Parallel Library:
+ -----------------
+ -
+
+
+ Fortran Library:
+ ----------------
+ -
+
+
+ C++ Library:
+ ------------
+ -
+
+
+ Java Library:
+ -------------
+ - HDF5GroupInfo class has been deprecated.
+
+ This class assumes that an object can contain four values which uniquely identify an
+ object among those HDF5 files which are open. This is no longer valid in future
+ HDF5 releases.
+
+ (ADB - 2023/03/27)
+
+ - Added version of H5Rget_name to return the name as a Java string.
+
+ Other functions that get_name process the get_size then get the name
+ within the JNI implementation. Now H5Rget_name has a H5Rget_name_string.
+
+ (ADB - 2022/07/12)
+
+ - Added reference support to H5A and H5D read write vlen JNI functions.
+
+ Added the implementation to handle VL references as an Array of Lists
+ of byte arrays.
+
+ The JNI wrappers translate the Array of Lists to/from the hvl_t vlen
+ structures. The wrappers use the specified datatype arguments for the
+ List type translation, it is expected that the Java type is correct.
+
+ (ADB - 2022/07/11, HDFFV-11318)
+
+ - H5A and H5D read write vlen JNI functions were incorrect.
+
+ Corrected the vlen function implementations for the basic primitive types.
+ The VLStrings functions now correctly use the implementation that had been
+ the VL functions. (VLStrings functions did not have an implementation.)
+ The new VL functions implementation now expect an Array of Lists between
+ Java and the JNI wrapper.
+
+ The JNI wrappers translate the Array of Lists to/from the hvl_t vlen
+ structures. The wrappers use the specified datatype arguments for the
+ List type translation, it is expected that the Java type is correct.
+
+ (ADB - 2022/07/07, HDFFV-11310)
+
+ - H5A and H5D read write JNI functions had flawed vlen datatype check.
+
+ Adapted tools function for JNI utils file. This reduced multiple calls
+ to a single check and variable. The variable can then be used to call
+ the H5Treclaim function. Adjusted existing test and added new test.
+
+ (ADB - 2022/06/22)
+
+
+ Tools:
+ ------
+ - Building h5perf/h5perf_serial in "standalone mode" has been removed
+
+ Building h5perf separately from the library was added circa 2008
+ in HDF5 1.6.8. It's unclear what purpose this serves and the current
+ implementation is currently broken. The existing files require
+ H5private.h and the symbols we use to determine how the copied
+ platform-independence scheme should be used come from H5pubconf.h,
+ which may not match the compiler being used to build standalone h5perf.
+
+ Due to the maintenance overhead and lack of a clear use case, support
+ for building h5perf and h5perf_serial separately from the HDF5 library
+ has been removed.
+
+ (DER - 2023/03/20)
+
+ - The perf tool has been removed
+
+ The small `perf` tool didn't really do anything special and the name
+ conflicts with gnu's perf tool.
+
+ (DER - 2023/03/20, GitHub #1787)
+
+
+ High-Level APIs:
+ ----------------
+ -
+
+
+ C Packet Table API:
+ -------------------
+ -
+
+
+ Internal header file:
+ ---------------------
+ -
+
+
+ Documentation:
+ --------------
+ -
+
+
+Support for new platforms, languages and compilers
+==================================================
+ -
+
+
+Bug Fixes since HDF5-1.10.9 release
+===================================
+ Library
+ -------
+ - Fixed a memory corruption issue that can occur when reading
+ from a dataset using a hyperslab selection in the file
+ dataspace and a point selection in the memory dataspace
+
+ When reading from a dataset using a hyperslab selection in
+ the dataset's file dataspace and a point selection in the
+ dataset's memory dataspace where the file dataspace's "rank"
+ is greater than the memory dataspace's "rank", memory corruption
+ could occur due to an incorrect number of selection points
+ being copied when projecting the point selection onto the
+ hyperslab selection's dataspace.
+
+ (JTH - 2023/03/23)
+
+ - Fix CVE-2021-37501 / GHSA-rfgw-5vq3-wrjf
+
+ Check for overflow when calculating on-disk attribute data size.
+
+ A bogus hdf5 file may contain dataspace messages with sizes
+ which lead to the on-disk data sizes to exceed what is addressable.
+ When calculating the size, make sure, the multiplication does not
+ overflow.
+ The test case was crafted in a way that the overflow caused the
+ size to be 0.
+
+ (EFE - 2023/02/11 GH-2458)
+
+ - Fixed an issue with variable length attributes
+
+ Previously, if a variable length attribute was held open while its file
+ was opened through another handle, the same attribute was opened through
+ the second file handle, and the second file and attribute handles were
+ closed, attempting to write to the attribute through the first handle
+ would cause an error.
+
+ (NAF - 2022/10/24)
+
+ - Fixed an issue with hyperslab selections
+
+ Previously, when combining hyperslab selections, it was possible for the
+ library to produce an incorrect combined selection.
+
+ (NAF - 2022/09/25)
+
+ - Fixed an issue with attribute type conversion with compound datatypes
+
+ Previously, when performing type conversion for attribute I/O with a
+ compound datatype, the library would not fill the background buffer with
+ the contents of the destination, potentially causing data to be lost when
+ only writing to a subset of the compound fields.
+
+ (NAF - 2022/08/22, GitHub #2016)
+
+ - Modified H5Fstart_swmr_write() to preserve DAPL properties
+
+ Internally, H5Fstart_swmr_write() closes and reopens the file in question
+ as part of its process for making the file SWMR-safe. Previously, when
+ the library reopened the file it would simply use the default access
+ properties. Modified the library to instead save these properties and use
+ them when reopening the file.
+
+ (NAF - 2022/07/18, HDFFV-11308)
+
+ - Converted an assertion on (possibly corrupt) file contents to a normal
+ error check
+
+ Previously, the library contained an assertion check that a read superblock
+ doesn't contain a superblock extension message when the superblock
+ version < 2. When a corrupt HDF5 file is read, this assertion can be triggered
+ in debug builds of HDF5. In production builds, this situation could cause
+ either a library error or a crash, depending on the platform.
+
+ (JTH - 2022/07/08, HDFFV-11316, HDFFV-11317)
+
+ - Memory leak
+
+ A memory leak was observed with variable-length fill value in
+ H5O_fill_convert() function in H5Ofill.c. The leak is
+ manifested by running valgrind on test/set_extent.c.
+
+ Previously, fill->buf is used for datatype conversion
+ if it is large enough and the variable-length information
+ is therefore lost. A buffer is now allocated regardless
+ so that the element in fill->buf can later be reclaimed.
+
+ (VC - 2022/10/10, HDFFV-10840)
+
+
+ Java Library
+ ------------
+ -
+
+
+ Configuration
+ -------------
+ - Correct the CMake generated pkg-config file
+
+ The pkg-config file generated by CMake had the order and placement of the
+ libraries wrong. Also added support for debug library names.
+
+ Changed the order of Libs.private libraries so that dependencies come after
+ dependents. Did not move the compression libraries into Requires.private
+ because there was not a way to determine if the compression libraries had
+ supported pkconfig files. Still recommend that the CMake config file method
+ be used for building projects with CMake.
+
+ (ADB - 2023/02/16 GH-1546,GH-2259)
+
+ - Remove Javadoc generation
+
+ The use of doxygen now supersedes the requirement to build javadocs. We do not
+ have the resources to continue to support two documentation methods and have
+ chosen doxygen as our standard.
+
+ (ADB - 2022/12/19)
+
+ - Change the default for building the high-level tools
+
+ The gif2hdf5 and hdf2gif high-level tools are deprecated and will be removed
+ in a future release. The default build setting for them have been changed from enabled
+ to disabled. A user can enable the build of these tools if needed.
+ autotools: --enable-hlgiftools
+ cmake: HDF5_BUILD_HL_GIF_TOOLS=ON
+
+ (ADB - 2022/12/16)
+
+ - Change the settings of the *pc files to use the correct format
+
+ The pkg-config files generated by CMake uses incorrect syntax for the 'Requires'
+ settings. Changing the set to use 'lib-name = version' instead 'lib-name-version'
+ fixes the issue
+
+ (ADB - 2022/12/06 HDFFV-11355)
+
+ - Move MPI libraries link from PRIVATE to PUBLIC
+
+ The install dependencies were not including the need for MPI libraries when
+ an application or library was built with the C library. Also updated the
+ CMake target link command to use the newer style MPI::MPI_C link variable.
+
+ (ADB - 2022/20/27)
+
+
+ Tools
+ -----
+ - Fix h5repack to only print output when verbose option is selected
+
+ When timing option was added to h5repack, the check for verbose was
+ incorrectly implemented.
+
+ (ADB - 2022/12/02, GH #2270)
+
+
+ Performance
+ -------------
+ -
+
+
+ Fortran API
+ -----------
+ -
+
+
+ High-Level Library
+ ------------------
+ -
+
+
+ Fortran High-Level APIs
+ -----------------------
+ -
+
+
+ Documentation
+ -------------
+ - Doxygen updated with recent Fortran changes.
+
+ (ADB - 2022/09/09)
+
+
+ F90 APIs
+ --------
+ -
+
+
+ C++ APIs
+ --------
+ -
+
+
+ Testing
+ -------
+ -
+
+
+Support for New Platforms and Languages
+=======================================
+ - Added support for IBM Power 8 GNU/Linux 3.10.0 ppc64be with GCC 4.8.5,
+ xlc/xlC 13.1 and xlf 15.1
+ - Added support for Ubuntu 22.04 GNU/Linux5.15.0-1026-aws with GCC 11.3.0,
+ clang 14.0.0
+ - Added support for CentOS8 GNU/Linux 4.18.0-348.7.1.el8_5 with GCC 8.5.0,
+ clang 12.0.1
+ - Added support for macOS Apple M1 11.6 with Apple clang 12.0.5,
+ GNU Fortran 11.1.0, Intel icc/icpc/ifort 2021.3.0
+ - Added support for macOS Big Sur 11.3.1 with Apple clang 12.0.5,
+ GNU Fortran 10.2.0, Intel icc/icpc/ifort version 2021.2.0
+ - Added support for Visual Studio 2022 w/ clang 15.0.1
+ with MSVC-like command-line (C/C++ only - cmake),
+ Intel C/C++/Fortran oneAPI 2022 (cmake)
+
+
+Platforms Tested
+===================
+
+ Linux 5.15.0-1026-aws gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
+ #30-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
+ Ubuntu 22.04 Ubuntu clang version 14.0.0-1ubuntu1
+ (cmake and autotools)
+
+ Linux 5.13.0-1031-aws GNU gcc (GCC) 9.4.0-1ubuntu1
+ #35-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.4.0-1ubuntu1
+ Ubuntu 20.04 clang version 10.0.0-4ubuntu1
+ (cmake and autotools)
+
+ Linux 4.18.0-348.7.1.el8_5 gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
+ #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
+ CentOS8 clang version 12.0.1 (Red Hat 12.0.1)
+ (cmake and autotools)
+
+ Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release
+ #1 SMP ppc64le GNU/Linux clang 12.0.1, 14.0.5
+ (lassen) GCC 8.3.1
+ XL 16.1.1.2, 2021.09.22, 2022.08.05
+ (cmake)
+
+ Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+ (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (jelly/kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-39)
+ Versions 4.9.3, 5.3.0, 6.3.0, 7.2.0
+ 8.3.0, 9.1.0, 10.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 17.0.0.098 Build 20160721
+ MPICH 3.1.4 built with GCC 4.9.3, 3.3 built with GCC 7.2.0
+ OpenMPI 3.1.3, 4.0.0 compiled with GCC 7.2.0
+ NAG Fortran Compiler Release 7.0(Yurakuchho) Build 7011
+ NVIDIA C, Fortran, C++ for 64-bit target on
+ x86_64 Linux -tp haswell;
+ Version 22.5-0
+ (autotools and cmake)
+
+ Linux-3.10.0-1160.0.0.1chaos openmpi-4.1.2
+ #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1
+ (quartz) GCC 7.3.0, 8.1.0
+ Intel 19.0.4, 2022.2, oneapi.2022.2
+
+ Linux-3.10.0-1160.59.1.1chaos openmpi/4.1
+ #1 SMP x86_64 GNU/Linux Intel/19.1, 21.3.0, 22.2.0
+ (chama) (cmake)
+
+ macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11)
+ Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0
+ (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609
+
+ macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9)
+ Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0
+ (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228
+
+ macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4)
+ 64-bit gfortran GNU Fortran (GCC) 6.3.0
+ (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416
+
+ macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2)
+ 64-bit gfortran GNU Fortran (GCC) 7.4.0
+ (kite) Intel icc/icpc/ifort version 17.0.2
+
+ Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (osx1011test) Intel icc/icpc/ifort version 16.0.2
+
+ Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Versions 4.9.3, 5.3.0, 6.2.0
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake)
+ Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake)
+ Visual Studio 2019 w/ clang 12.0.0
+ with MSVC-like command-line (C/C++ only - cmake)
+ Visual Studio 2019 w/ Intel C/C++/Fortran oneAPI 2022 (cmake)
+ Visual Studio 2022 w/ clang 15.0.1
+ with MSVC-like command-line (C/C++ only - cmake)
+ Visual Studio 2022 w/ Intel C/C++/Fortran oneAPI 2022 (cmake)
+ Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake)
+
+
+Known Problems
+==============
+ The function prototype for H5Treclaim was mistakenly added to code for HDF5
+ 1.10.9; however no implementation code was added. This prototype has been
+ removed, resulting in a source incompatibility for shared library versions
+ between HDF5 versions 1.10.10 and 1.10.9, but not binary incompatibility
+ since the function was not implemented.
+
+ Setting a variable-length dataset fill value will leak the memory allocated
+ for the p field of the hvl_t struct. A fix is in progress for this.
+ HDFFV-10840
+
+ CMake files do not behave correctly with paths containing spaces.
+ Do not use spaces in paths because the required escaping for handling spaces
+ results in very complex and fragile build files.
+ ADB - 2019/05/07
+
+ At present, metadata cache images may not be generated by parallel
+ applications. Parallel applications can read files with metadata cache
+ images, but since this is a collective operation, a deadlock is possible
+ if one or more processes do not participate.
+
+ Two tests fail attempting collective writes with OpenMPI 3.0.0/GCC-7.2.0-2.29:
+ testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio)
+ t_shapesame (sscontig2)
+
+ CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA
+ issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler.
+
+ The subsetting option in ph5diff currently will fail and should be avoided.
+ The subsetting option works correctly in serial h5diff.
+
+ Known problems in previous releases can be found in the HISTORY*.txt files
+ in the HDF5 source. Please report any new problems found to
+ help@hdfgroup.org.
+
+
+CMake vs. Autotools installations
+=================================
+While both build systems produce similar results, there are differences.
+Each system produces the same set of folders on linux (only CMake works
+on standard Windows); bin, include, lib and share. Autotools places the
+COPYING and RELEASE.txt file in the root folder, CMake places them in
+the share folder.
+
+The bin folder contains the tools and the build scripts. Additionally, CMake
+creates dynamic versions of the tools with the suffix "-shared". Autotools
+installs one set of tools depending on the "--enable-shared" configuration
+option.
+ build scripts
+ -------------
+ Autotools: h5c++, h5cc, h5fc
+ CMake: h5c++, h5cc, h5hlc++, h5hlcc
+
+The include folder holds the header files and the fortran mod files. CMake
+places the fortran mod files into separate shared and static subfolders,
+while Autotools places one set of mod files into the include folder. Because
+CMake produces a tools library, the header files for tools will appear in
+the include folder.
+
+The lib folder contains the library files, and CMake adds the pkgconfig
+subfolder with the hdf5*.pc files used by the bin/build scripts created by
+the CMake build. CMake separates the C interface code from the fortran code by
+creating C-stub libraries for each Fortran library. In addition, only CMake
+installs the tools library. The names of the szip libraries are different
+between the build systems.
+
+The share folder will have the most differences because CMake builds include
+a number of CMake specific files for support of CMake's find_package and support
+for the HDF5 Examples CMake project.
+
+The issues with the gif tool are:
+ HDFFV-10592 CVE-2018-17433
+ HDFFV-10593 CVE-2018-17436
+ HDFFV-11048 CVE-2020-10809
+These CVE issues have not yet been addressed and can be avoided by not building
+the gif tool. Disable building the High-Level tools with these options:
+ autotools: --disable-hltools
+ cmake: HDF5_BUILD_HL_TOOLS=OFF
+
+
+
+%%%%1.10.9%%%%
+
+HDF5 version 1.10.9 released on 2022-05-25
+================================================================================
+
+
+INTRODUCTION
+============
+
+This document describes the differences between this release and the previous
+HDF5 release in the same series. It contains information on the platforms tested
+and known problems in this release. For more details check the HISTORY*.txt
+files in the HDF5 source.
+
+Note that documentation in the links below will be updated at the time of each
+final release.
+
+Links to HDF5 documentation can be found on The HDF5 web page:
+
+ https://portal.hdfgroup.org/display/HDF5/HDF5
+
+The official HDF5 releases can be obtained from:
+
+ https://www.hdfgroup.org/downloads/hdf5/
+
+Changes from Release to Release and New Features in the HDF5-1.10.x release series
+can be found at:
+
+ https://portal.hdfgroup.org/display/HDF5/Software+Changes+from+Release+to+Release+for+HDF5-1.10
+
+Please send any questions or comments to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.10.8
+- Platforms Tested
+- Known Problems
+- CMake vs. Autotools installations
+
+
+New Features
+============
+
+ Configuration:
+ -------------
+ - Added new option to the h5cc scripts produced by CMake.
+
+ Add -showconfig option to h5cc scripts to cat the
+ libhdf5-settings to the standard output.
+
+ (ADB - 2022/03/11)
+
+ - HDF5 memory allocation sanity checking is now off by default for
+ Autotools debug builds
+
+ HDF5 can be configured to perform sanity checking on internal memory
+ allocations by adding heap canaries to these allocations. However,
+ enabling this option can cause issues with external filter plugins
+ when working with (reallocating/freeing/allocating and passing back)
+ buffers.
+
+ Previously, this option was off by default for all CMake build types,
+ but only off by default for non-debug Autotools builds. Since debug
+ is the default build mode for HDF5 when built from source with
+ Autotools, this can result in surprising segfaults that don't occur
+ when an application is built against a release version of HDF5.
+ Therefore, this option is now off by default for all build types
+ across both CMake and Autotools.
+
+ (JTH - 2022/03/01)
+
+ - Refactored the utils folder.
+
+ Added subfolder test and moved the 'swmr_check_compat_vfd.c file'
+ from test into utils/test. Deleted the duplicate swmr_check_compat_vfd.c
+ file in hl/tools/h5watch folder. Also fixed vfd check options.
+
+ (ADB - 2021/10/18)
+
+ - Changed autotools and CMake configurations to derive both
+ compilation warnings-as-errors and warnings-only-warn configurations
+ from the same files, 'config/*/*error*'. Removed redundant files
+ 'config/*/*noerror*'.
+
+ (DCY - 2021/09/29)
+
+
+ Library:
+ --------
+ - Several improvements to parallel compression feature, including:
+
+ * Improved support for collective I/O (for both writes and reads)
+
+ * Significant reduction of memory usage for the feature as a whole
+
+ * Reduction of copying of application data buffers passed to H5Dwrite
+
+ * Addition of support for incremental file space allocation for filtered
+ datasets created in parallel. Incremental file space allocation is the
+ default for these types of datasets (early file space allocation is
+ also still supported), while early file space allocation is still the
+ default (and only supported allocation time) for unfiltered datasets
+ created in parallel. Incremental file space allocation should help with
+ parallel HDF5 applications that wish to use fill values on filtered
+ datasets, but would typically avoid doing so since dataset creation in
+ parallel would often take an excessive amount of time. Since these
+ datasets previously used early file space allocation, HDF5 would
+ allocate space for and write fill values to every chunk in the dataset
+ at creation time, leading to noticeable overhead. Instead, with
+ incremental file space allocation, allocation of file space for chunks
+ and writing of fill values to those chunks will be delayed until each
+ individual chunk is initially written to.
+
+ * Addition of support for HDF5's "don't filter partial edge chunks" flag
+ (https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS)
+
+ * Addition of proper support for HDF5 fill values with the feature
+
+ * Addition of 'H5_HAVE_PARALLEL_FILTERED_WRITES' macro to H5pubconf.h
+ so HDF5 applications can determine at compile-time whether the feature
+ is available
+
+ * Addition of simple examples (ph5_filtered_writes.c and
+ ph5_filtered_writes_no_sel.c) under examples directory to demonstrate
+ usage of the feature
+
+ * Improved coverage of regression testing for the feature
+
+ (JTH - 2022/2/23)
+
+ Fortran Library:
+ ----------------
+ - None
+
+
+ C++ Library:
+ ------------
+ - None
+
+
+ Java Library:
+ -------------
+ - None
+
+
+ Tools:
+ ------
+ - h5repack added an optional verbose value for reporting R/W timing.
+
+ In addition to adding timing capture around the read/write calls in
+ h5repack, added help text to indicate how to show timing for read/write;
+ -v N, --verbose=N Verbose mode, print object information.
+ N - is an integer greater than 1, 2 displays read/write timing
+ (ADB - 2022/04/01)
+
+
+ High-Level APIs:
+ ----------------
+ - None
+
+
+ C Packet Table API:
+ -------------------
+ - None
+
+
+ Internal header file:
+ ---------------------
+ - None
+
+
+ Documentation:
+ --------------
+ - None
+
+
+New platforms, languages and compilers tested
+==================================================
+ - macOS Apple M1 11.6 Darwin 20.6.0 arm64 with Apple clang version 12.0.5
+
+ - Fedora35 Linux 5.16.14-200.fc35 with GCC 11.2.1 and clang version 13.0.0
+
+
+Bug Fixes since HDF5-1.10.8 release
+===================================
+ Library
+ -------
+ - Fixed a metadata cache bug when resizing a pinned/protected cache entry
+
+ When resizing a pinned/protected cache entry, the metadata
+ cache code previously would wait until after resizing the
+ entry to attempt to log the newly-dirtied entry. This would
+ cause H5C_resize_entry to mark the entry as dirty and make
+ H5AC_resize_entry think that it doesn't need to add the
+ newly-dirtied entry to the dirty entries skiplist.
+
+ Thus, a subsequent H5AC__log_moved_entry would think it
+ needs to allocate a new entry for insertion into the dirty
+ entry skip list, since the entry doesn't exist on that list.
+ This causes an assertion failure, as the code to allocate a
+ new entry assumes that the entry is not dirty.
+
+ (JRM - 2022/02/28)
+
+ - Issue #1436 identified a problem with the H5_VERS_RELEASE check in the
+ H5check_version function.
+
+ Investigating the original fix, #812, we discovered some inconsistencies
+ with a new block added to check H5_VERS_RELEASE for incompatibilities.
+ This new block was not using the new warning text dealing with the
+ H5_VERS_RELEASE check and would cause the warning to be duplicated.
+
+ By removing the H5_VERS_RELEASE argument in the first check for
+ H5_VERS_MAJOR and H5_VERS_MINOR, the second check would only check
+ the H5_VERS_RELEASE for incompatible release versions. This adheres
+ to the statement that except for the develop branch, all release versions
+ in a major.minor maintenance branch should be compatible. The prerequisite
+ is that an application will not use any APIs not present in all release versions.
+
+ (ADB - 2022/03/11, #1438)
+
+ - Unified handling of collective metadata reads to correctly fix old bugs
+
+ Due to MPI-related issues occurring in HDF5 from mismanagement of the
+ status of collective metadata reads, they were forced to be disabled
+ during chunked dataset raw data I/O in the HDF5 1.10.5 release. This
+ wouldn't generally have affected application performance because HDF5
+ already disables collective metadata reads during chunk lookup, since
+ it is generally unlikely that the same chunks will be read by all MPI
+ ranks in the I/O operation. However, this was only a partial solution
+ that wasn't granular enough.
+
+ This change now unifies the handling of the file-global flag and the
+ API context-level flag for collective metadata reads in order to
+ simplify querying of the true status of collective metadata reads. Thus,
+ collective metadata reads are once again enabled for chunked dataset
+ raw data I/O, but manually controlled at places where some processing
+ occurs on MPI rank 0 only and would cause issues when collective
+ metadata reads are enabled.
+
+ (JTH - 2021/11/16, HDFFV-10501/HDFFV-10562)
+
+ - Fixed several potential MPI deadlocks in library failure conditions
+
+ In the parallel library, there were several places where MPI rank 0
+ could end up skipping past collective MPI operations when some failure
+ occurs in rank 0-specific processing. This would lead to deadlocks
+ where rank 0 completes an operation while other ranks wait in the
+ collective operation. These places have been rewritten to have rank 0
+ push an error and try to cleanup after the failure, then continue to
+ participate in the collective operation to the best of its ability.
+
+ (JTH - 2021/11/09)
+
+ - Fixed an issue with collective metadata reads being permanently disabled
+ after a dataset chunk lookup operation. This would usually cause a
+ mismatched MPI_Bcast and MPI_ERR_TRUNCATE issue in the library for
+ simple cases of H5Dcreate() -> H5Dwrite() -> H5Dcreate().
+
+ (JTH - 2021/11/08, HDFFV-11090)
+
+ Java Library
+ ------------
+ - None
+
+
+ Configuration
+ -------------
+ - Reworked corrected path searched by CMake find_package command
+
+ The install path for cmake find_package files had been changed to use
+ "share/cmake"
+ for all platforms. However setting the HDF5_ROOT variable failed to locate
+ the configuration files. The build variable HDF5_INSTALL_CMAKE_DIR is now
+ set to the <INSTALL_DIR>/cmake folder. The location of the configuration
+ files can still be specified by the "HDF5_DIR" variable.
+
+ (ADB - 2022/03/11)
+
+
+ Tools
+ -----
+ - None
+
+
+ Fortran API
+ -----------
+ - None
+
+
+ High-Level Library
+ ------------------
+ - Fixed HL_test_packet, test for packet table vlen of vlen.
+
+ Incorrect length assignment.
+
+ (ADB - 2021/10/14)
+
+
+ Fortran High-Level APIs
+ -----------------------
+ - None
+
+
+ Documentation
+ -------------
+ - None
+
+
+ F90 APIs
+ --------
+ - None
+
+
+ C++ APIs
+ --------
+ - None
+
+
+ Testing
+ -------
+ - None
+
+
+Platforms Tested
+===================
+
+ Linux 5.16.14-200.fc35 GNU gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
+ #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
+ Fedora35 clang version 13.0.0 (Fedora 13.0.0-3.fc35)
+ (cmake and autotools)
+
+ Linux 5.11.0-34-generic GNU gcc (GCC) 9.3.0-17ubuntu1
+ #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.3.0-17ubuntu1
+ Ubuntu 20.04 Ubuntu clang version 10.0.0-4
+ (cmake and autotools)
+
+ Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release
+ #1 SMP ppc64le GNU/Linux clang 8.0.1, 11.0.1
+ (lassen) GCC 7.3.1
+ XL 2019.02.07
+ (cmake)
+
+ Linux-5.3.18-24.96-default cray-mpich/7.7.19
+ #1 SMP x86_64 GNU/Linux GCC 8.3.0, 11.2.0
+ (cori) Intel (R) Version 19.1.3.304
+ (cmake)
+
+ Linux-4.12.14-197.86-default cray-mpich/7.7.16
+ # 1SMP x86_64 GNU/Linux GCC 7.3.0, 9.3.0, 10.2.0
+ (mutrino) Intel (R) Version 17.0.4, 18.0.5, 19.1.3
+ (cmake)
+
+ Linux 3.10.0-1160.49.1.1chaos openmpi-intel/4.1
+ #1 SMP x86_64 GNU/Linux Intel (R) Version 18.0.5, 19.1.2
+ (chama)
+
+ Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+ #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+ Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
+
+ Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4)
+ (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0,
+ Version 7.2.0, Version 8.3.0, Version 9.1.0
+ Version 10.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 17.0.0.098 Build 20160721
+ GNU C (gcc) and C++ (g++) 4.8.5 compilers
+ with NAG Fortran Compiler Release 6.1(Tozai)
+ Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers
+ with NAG Fortran Compiler Release 6.1(Tozai)
+ MPICH 3.1.4 compiled with GCC 4.9.3
+ MPICH 3.3 compiled with GCC 7.2.0
+ OpenMPI 2.1.6 compiled with icc 18.0.1
+ OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86_64;
+ Version 19.10-0
+
+ Linux-3.10.0-1160.53.1.1chaos openmpi-4.1.2
+ #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1
+ (quartz) GCC 8.3.1, 10.2.1
+ Intel 16.0.4, 18.0.2, 19.0.4
+
+ macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11)
+ Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0
+ (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 20210609
+
+ macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9)
+ Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0
+ (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228
+
+ macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4)
+ 64-bit gfortran GNU Fortran (GCC) 6.3.0
+ (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416
+
+ macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2)
+ 64-bit gfortran GNU Fortran (GCC) 7.4.0
+ (kite) Intel icc/icpc/ifort version 17.0.2
+
+ Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (osx1011test) Intel icc/icpc/ifort version 16.0.2
+
+ Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ Centos6 Version 4.4.7 20120313
+ (platypus) Version 4.9.3, 5.3.0, 6.2.0
+ MPICH 3.1.4 compiled with GCC 4.9.3
+ PGI C, Fortran, C++ for 64-bit target on
+ x86_64;
+ Version 19.10-0
+
+ Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake)
+ Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake)
+ Visual Studio 2019 w/ clang 12.0.0
+ with MSVC-like command-line (C/C++ only - cmake)
+ Visual Studio 2019
+ w/ Intel C/C++/Fortran oneAPI 2021(cmake)
+ Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake)
+
+
+Known Problems
+==============
+ Setting a variable-length dataset fill value will leak the memory allocated
+ for the p field of the hvl_t struct. A fix is in progress for this.
+ HDFFV-10840
+
+ CMake files do not behave correctly with paths containing spaces.
+ Do not use spaces in paths because the required escaping for handling spaces
+ results in very complex and fragile build files.
+ ADB - 2019/05/07
+
+ At present, metadata cache images may not be generated by parallel
+ applications. Parallel applications can read files with metadata cache
+ images, but since this is a collective operation, a deadlock is possible
+ if one or more processes do not participate.
+
+ CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA
+ issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler.
+
+ The subsetting option in ph5diff currently will fail and should be avoided.
+ The subsetting option works correctly in serial h5diff.
+
+ Known problems in previous releases can be found in the HISTORY*.txt files
+ in the HDF5 source. Please report any new problems found to
+ help@hdfgroup.org.
+
+
+CMake vs. Autotools installations
+=================================
+While both build systems produce similar results, there are differences.
+Each system produces the same set of folders on linux (only CMake works
+on standard Windows); bin, include, lib and share. Autotools places the
+COPYING and RELEASE.txt file in the root folder, CMake places them in
+the share folder.
+
+The bin folder contains the tools and the build scripts. Additionally, CMake
+creates dynamic versions of the tools with the suffix "-shared". Autotools
+installs one set of tools depending on the "--enable-shared" configuration
+option.
+ build scripts
+ -------------
+ Autotools: h5c++, h5cc, h5fc
+ CMake: h5c++, h5cc, h5hlc++, h5hlcc
+
+The include folder holds the header files and the fortran mod files. CMake
+places the fortran mod files into separate shared and static subfolders,
+while Autotools places one set of mod files into the include folder. Because
+CMake produces a tools library, the header files for tools will appear in
+the include folder.
+
+The lib folder contains the library files, and CMake adds the pkgconfig
+subfolder with the hdf5*.pc files used by the bin/build scripts created by
+the CMake build. CMake separates the C interface code from the fortran code by
+creating C-stub libraries for each Fortran library. In addition, only CMake
+installs the tools library. The names of the szip libraries are different
+between the build systems.
+
+The share folder will have the most differences because CMake builds include
+a number of CMake specific files for support of CMake's find_package and support
+for the HDF5 Examples CMake project.
+
+The issues with the gif tool are:
+ HDFFV-10592 CVE-2018-17433
+ HDFFV-10593 CVE-2018-17436
+ HDFFV-11048 CVE-2020-10809
+These CVE issues have not yet been addressed and can be avoided by not building
+the gif tool. Disable building the High-Level tools with these options:
+ autotools: --disable-hltools
+ cmake: HDF5_BUILD_HL_TOOLS=OFF
+
+
+
%%%%1.10.8%%%%
HDF5 version 1.10.8 released on 2021-10-22