summaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--README.md2
-rw-r--r--c++/src/cpp_doc_config2
-rwxr-xr-xconfig/cmake/scripts/HDF5config.cmake4
-rw-r--r--config/lt_vers.am22
-rw-r--r--configure.ac2
-rw-r--r--java/test/TestH5.java2
-rw-r--r--release_docs/HISTORY-1_10.txt1141
-rw-r--r--release_docs/RELEASE.txt294
-rw-r--r--src/H5public.h6
-rw-r--r--tools/test/h5repack/testfiles/h5repack_layout.h5-plugin_version_test.ddl14
10 files changed, 1178 insertions, 311 deletions
diff --git a/README.md b/README.md
index abaa0fc..e2436af 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-HDF5 version 1.10.10-2 currently under development
+HDF5 version 1.10.11-1 currently under development
![HDF5 Logo](doxygen/img/HDF5.png)
diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config
index b167bf9..a70f11e 100644
--- a/c++/src/cpp_doc_config
+++ b/c++/src/cpp_doc_config
@@ -38,7 +38,7 @@ PROJECT_NAME =
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "1.10.10-2, currently under development"
+PROJECT_NUMBER = "1.10.11-1, currently under development"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/config/cmake/scripts/HDF5config.cmake b/config/cmake/scripts/HDF5config.cmake
index ed47247..e3f66e0 100755
--- a/config/cmake/scripts/HDF5config.cmake
+++ b/config/cmake/scripts/HDF5config.cmake
@@ -37,8 +37,8 @@ cmake_minimum_required (VERSION 3.12)
# CTEST_SOURCE_NAME - source folder
##############################################################################
-set (CTEST_SOURCE_VERSION "1.10.10")
-set (CTEST_SOURCE_VERSEXT "-2")
+set (CTEST_SOURCE_VERSION "1.10.11")
+set (CTEST_SOURCE_VERSEXT "-1")
##############################################################################
# handle input parameters to script.
diff --git a/config/lt_vers.am b/config/lt_vers.am
index 337a829..701f532 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -15,9 +15,9 @@
## See libtool versioning documentation online.
## After making changes, run bin/reconfigure to update other configure related
## files like Makefile.in.
-LT_VERS_INTERFACE = 106
-LT_VERS_REVISION = 2
-LT_VERS_AGE = 3
+LT_VERS_INTERFACE = 107
+LT_VERS_REVISION = 0
+LT_VERS_AGE = 4
## If the API changes *at all*, increment LT_VERS_INTERFACE and
## reset LT_VERS_REVISION to 0.
@@ -39,30 +39,30 @@ LT_VERS_AGE = 3
##
## Version numbers for wrapper shared library files.
LT_CXX_VERS_INTERFACE = 107
-LT_CXX_VERS_REVISION = 1
+LT_CXX_VERS_REVISION = 2
LT_CXX_VERS_AGE = 4
LT_F_VERS_INTERFACE = 103
-LT_F_VERS_REVISION = 2
+LT_F_VERS_REVISION = 3
LT_F_VERS_AGE = 1
LT_HL_VERS_INTERFACE = 101
-LT_HL_VERS_REVISION = 6
+LT_HL_VERS_REVISION = 7
LT_HL_VERS_AGE = 1
LT_HL_CXX_VERS_INTERFACE = 101
-LT_HL_CXX_VERS_REVISION = 7
+LT_HL_CXX_VERS_REVISION = 8
LT_HL_CXX_VERS_AGE = 1
LT_HL_F_VERS_INTERFACE = 100
-LT_HL_F_VERS_REVISION = 8
+LT_HL_F_VERS_REVISION = 9
LT_HL_F_VERS_AGE = 0
-LT_JAVA_VERS_INTERFACE = 106
+LT_JAVA_VERS_INTERFACE = 108
LT_JAVA_VERS_REVISION = 0
-LT_JAVA_VERS_AGE = 6
+LT_JAVA_VERS_AGE = 8
LT_TOOLS_VERS_INTERFACE = 102
-LT_TOOLS_VERS_REVISION = 2
+LT_TOOLS_VERS_REVISION = 3
LT_TOOLS_VERS_AGE = 0
diff --git a/configure.ac b/configure.ac
index 06d0178..e1849c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ AC_PREREQ([2.69])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
-AC_INIT([HDF5], [1.10.10-2], [help@hdfgroup.org])
+AC_INIT([HDF5], [1.10.11-1], [help@hdfgroup.org])
AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADERS([src/H5config.h])
diff --git a/java/test/TestH5.java b/java/test/TestH5.java
index d0ff2e0..016c471 100644
--- a/java/test/TestH5.java
+++ b/java/test/TestH5.java
@@ -350,7 +350,7 @@ public class TestH5 {
@Test
public void testH5check_version()
{
- int majnum = 1, minnum = 10, relnum = 10;
+ int majnum = 1, minnum = 10, relnum = 11;
try {
H5.H5check_version(majnum, minnum, relnum);
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
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 5223811..6ec3bc0 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.10.10-2 currently under development
+HDF5 version 1.10.11-1 currently under development
================================================================================
@@ -36,7 +36,7 @@ CONTENTS
- New Features
- Support for new platforms and languages
-- Bug Fixes since HDF5-1.10.9
+- Bug Fixes since HDF5-1.10.10
- Supported Platforms
- Tested Configuration Features Summary
- More Tested Platforms
@@ -49,78 +49,7 @@ 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:
@@ -145,78 +74,12 @@ New Features
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:
@@ -244,96 +107,11 @@ Support for new platforms, languages and compilers
-
-Bug Fixes since HDF5-1.10.9 release
+Bug Fixes since HDF5-1.10.10 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
@@ -343,62 +121,12 @@ Bug Fixes since HDF5-1.10.9 release
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
@@ -423,9 +151,7 @@ Bug Fixes since HDF5-1.10.9 release
Documentation
-------------
- - Doxygen updated with recent Fortran changes.
-
- (ADB - 2022/09/09)
+ -
F90 APIs
diff --git a/src/H5public.h b/src/H5public.h
index 07747de..d2c1f2e 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -138,15 +138,15 @@ extern "C" {
/**
* For tweaks, bug-fixes, or development
*/
-#define H5_VERS_RELEASE 10
+#define H5_VERS_RELEASE 11
/**
* For pre-releases like \c snap0. Empty string for official releases.
*/
-#define H5_VERS_SUBRELEASE "2"
+#define H5_VERS_SUBRELEASE "1"
/**
* Full version string
*/
-#define H5_VERS_INFO "HDF5 library version: 1.10.10-2"
+#define H5_VERS_INFO "HDF5 library version: 1.10.11-1"
#define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
diff --git a/tools/test/h5repack/testfiles/h5repack_layout.h5-plugin_version_test.ddl b/tools/test/h5repack/testfiles/h5repack_layout.h5-plugin_version_test.ddl
index 5b67a3a..1ec77e7 100644
--- a/tools/test/h5repack/testfiles/h5repack_layout.h5-plugin_version_test.ddl
+++ b/tools/test/h5repack/testfiles/h5repack_layout.h5-plugin_version_test.ddl
@@ -11,7 +11,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -33,7 +33,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -55,7 +55,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -77,7 +77,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -99,7 +99,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -121,7 +121,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {
@@ -143,7 +143,7 @@ GROUP "/" {
USER_DEFINED_FILTER {
FILTER_ID 260
COMMENT dynlib4
- PARAMS { 9 1 10 10 }
+ PARAMS { 9 1 10 11 }
}
}
FILLVALUE {