summaryrefslogtreecommitdiffstats
path: root/release_docs/HISTORY-1_14.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release_docs/HISTORY-1_14.txt')
-rw-r--r--release_docs/HISTORY-1_14.txt524
1 files changed, 523 insertions, 1 deletions
diff --git a/release_docs/HISTORY-1_14.txt b/release_docs/HISTORY-1_14.txt
index 0c8d51d..a00b382 100644
--- a/release_docs/HISTORY-1_14.txt
+++ b/release_docs/HISTORY-1_14.txt
@@ -3,11 +3,534 @@ HDF5 History
This file contains development history of the HDF5 1.14 branch
+03. Release Information for hdf5-1.14.2
02. Release Information for hdf5-1.14.1
01. Release Information for hdf5-1.14.0
[Search on the string '%%%%' for section breaks of each release.]
+%%%%1.14.2%%%%
+
+HDF5 version 1.14.2 released on 2023-08-11
+================================================================================
+
+
+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.14.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.14.1
+- Platforms Tested
+- Known Problems
+- CMake vs. Autotools installations
+
+
+New Features
+============
+
+ Configuration:
+ -------------
+ - Updated HDF5 API tests CMake code to support VOL connectors
+
+ * Implemented support for fetching, building and testing HDF5
+ VOL connectors during the library build process and documented
+ the feature under doc/cmake-vols-fetchcontent.md
+
+ * Implemented the HDF5_TEST_API_INSTALL option that enables
+ installation of the HDF5 API tests on the system
+
+
+ Library:
+ --------
+ - Added support for in-place type conversion in most cases
+
+ In-place type conversion allows the library to perform type conversion
+ without an intermediate type conversion buffer. This can improve
+ performance by allowing I/O in a single operation over the entire
+ selection instead of being limited by the size of the intermediate buffer.
+ Implemented for I/O on contiguous and chunked datasets when the selection
+ is contiguous in memory and when the memory datatype is not smaller than
+ the file datatype.
+
+ - Changed selection I/O to be on by default when using the MPIO file driver
+
+ - Added support for selection I/O in the MPIO file driver
+
+ Previously, only vector I/O operations were supported. Support for
+ selection I/O should improve performance and reduce memory uses in some
+ cases.
+
+ - Change the error handling for a not found path in the find plugin process.
+
+ While attempting to load a plugin the HDF5 library will fail if one of the
+ directories in the plugin paths does not exist, even if there are more paths
+ to check. Instead of exiting the function with an error, just log the error
+ and continue processing the list of paths to check.
+
+
+ Parallel Library:
+ -----------------
+ -
+
+
+ Fortran Library:
+ ----------------
+ -
+
+
+ C++ Library:
+ ------------
+ -
+
+
+ Java Library:
+ -------------
+ -
+
+
+ Tools:
+ ------
+ -
+
+
+ High-Level APIs:
+ ----------------
+ -
+
+
+ C Packet Table API:
+ -------------------
+ -
+
+
+ Internal header file:
+ ---------------------
+ -
+
+
+ Documentation:
+ --------------
+ -
+
+
+Support for new platforms, languages and compilers
+==================================================
+ - Linux 5.14.21-cray_shasta_c
+ #1 SMP x86_64 GNU/Linux
+ (frontier)
+
+
+Bug Fixes since HDF5-1.14.1 release
+===================================
+ Library
+ -------
+ - Fixed bugs in selection I/O
+
+ Previously, the library could fail in some cases when performing selection
+ I/O with type conversion.
+
+ - Fixed CVE-2018-13867
+
+ A corrupt file containing an invalid local heap datablock address
+ could trigger an assert failure when the metadata cache attempted
+ to load the datablock from storage.
+
+ The local heap now verifies that the datablock address is valid
+ when the local heap header information is parsed.
+
+ - Fixed CVE-2018-11202
+
+ A malformed file could result in chunk index memory leaks. Under most
+ conditions (i.e., when the --enable-using-memchecker option is NOT
+ used), this would result in a small memory leak and and infinite loop
+ and abort when shutting down the library. The infinite loop would be
+ due to the "free list" package not being able to clear its resources
+ so the library couldn't shut down. When the "using a memory checker"
+ option is used, the free lists are disabled so there is just a memory
+ leak with no abort on library shutdown.
+
+ The chunk index resources are now correctly cleaned up when reading
+ misparsed files and valgrind confirms no memory leaks.
+
+ - Fixed an issue where an assert statement was converted to an
+ incorrect error check statement
+
+ An assert statement in the library dealing with undefined dataset data
+ fill values was converted to an improper error check that would always
+ trigger when a dataset's fill value was set to NULL (undefined). This
+ has now been fixed.
+
+ - Fixed an assertion failure when attempting to use the Subfiling IOC
+ VFD directly
+
+ The Subfiling feature makes use of two Virtual File Drivers, the
+ Subfiling VFD and the IOC (I/O Concentrator) VFD. The two VFDs are
+ intended to be stacked together such that the Subfiling VFD sits
+ "on top" of the IOC VFD and routes I/O requests through it; using the
+ IOC VFD alone is currently unsupported. The IOC VFD has been fixed so
+ that an error message is displayed in this situation rather than causing
+ an assertion failure.
+
+ - Fixed a potential bug when copying empty enum datatypes
+
+ Copying an empty enum datatype (including implicitly, as when an enum
+ is a part of a compound datatype) would fail in an assert in debug
+ mode and could fail in release mode depending on how the platform
+ handles undefined behavior regarding size 0 memory allocations and
+ using memcpy with a NULL src pointer.
+
+ The library is now more careful about using memory operations when
+ copying empty enum datatypes and will not error or raise an assert.
+
+ - Added an AAPL check to H5Acreate
+
+ A check was added to H5Acreate to ensure that a failure is correctly
+ returned when an invalid Attribute Access Property List is passed
+ in to the function. The HDF5 API tests were failing for certain
+ build types due to this condition not being checked previously.
+
+
+ Java Library
+ ------------
+ - Fixed switch case 'L' block missing a break statement.
+
+ The HDF5Array.arrayify method is missing a break statement in the case 'L': section
+ which causes it to fall through and throw an HDF5JavaException when attempting to
+ read an Array[Array[Long]].
+
+ The error was fixed by inserting a break statement at the end of the case 'L': sections.
+
+ Fixes GitHub issue #3056
+
+
+ Configuration
+ -------------
+ - Fixed a configuration issue that prevented building of the Subfiling VFD on macOS
+
+ Checks were added to the CMake and Autotools code to verify that CLOCK_MONOTONIC_COARSE,
+ PTHREAD_MUTEX_ADAPTIVE_NP and pthread_condattr_setclock() are available before attempting
+ to use them in Subfiling VFD-related utility code. Without these checks, attempting
+ to build the Subfiling VFD on macOS would fail.
+
+
+ Tools
+ -----
+ - Fixed an issue in h5repack for variable-length typed datasets
+
+ When repacking datasets into a new file, h5repack tries to determines whether
+ it can use H5Ocopy to copy each dataset into the new file, or if it needs to
+ manually re-create the dataset, then read data from the old dataset and write
+ it to the new dataset. H5repack was previously using H5Ocopy for datasets with
+ variable-length datatypes, but this can be problematic if the global heap
+ addresses involved do not match exactly between the old and new files. These
+ addresses could change for a variety of reasons, such as the command-line options
+ provided to h5repack, how h5repack allocates space in the repacked file, etc.
+ Since H5Ocopy does not currently perform any translation when these addresses
+ change, datasets that were repacked with H5Ocopy could become unreadable in the
+ new file. H5repack has been fixed to repack variable-length typed datasets without
+ using H5Ocopy to ensure that the new datasets always have the correct global heap
+ addresses.
+
+
+ Performance
+ -------------
+ -
+
+
+ Fortran API
+ -----------
+ -
+
+ High-Level Library
+ ------------------
+ -
+
+
+ Fortran High-Level APIs
+ -----------------------
+ -
+
+
+ Documentation
+ -------------
+ -
+
+
+ F90 APIs
+ --------
+ -
+
+
+ C++ APIs
+ --------
+ -
+
+
+ Testing
+ -------
+ - Fixed a testing failure in testphdf5 on Cray machines
+
+ On some Cray machines, what appears to be a bug in Cray MPICH was causing
+ calls to H5Fis_accessible to create a 0-byte file with strange Unix
+ permissions. This was causing an H5Fdelete file deletion test in the
+ testphdf5 program to fail due to a just-deleted HDF5 file appearing to
+ still be accessible on the file system. The issue in Cray MPICH has been
+ worked around for the time being by resetting the MPI_Info object on the
+ File Access Property List used to MPI_INFO_NULL before passing it to the
+ H5Fis_accessible call.
+
+ - A bug was fixed in the HDF5 API test random datatype generation code
+
+ A bug in the random datatype generation code could cause test failures
+ when trying to generate an enumeration datatype that has duplicated
+ name/value pairs in it. This has now been fixed.
+
+ - A bug was fixed in the HDF5 API test VOL connector registration checking code
+
+ The HDF5 API test code checks to see if the VOL connector specified by the
+ HDF5_VOL_CONNECTOR environment variable (if any) is registered with the library
+ before attempting to run tests with it so that testing can be skipped and an
+ error can be returned when a VOL connector fails to register successfully.
+ Previously, this code didn't account for VOL connectors that specify extra
+ configuration information in the HDF5_VOL_CONNECTOR environment variable and
+ would incorrectly report that the specified VOL connector isn't registered
+ due to including the configuration information as part of the VOL connector
+ name being checked for registration status. This has now been fixed.
+
+
+Platforms Tested
+===================
+
+ Linux 5.19.0-1023-aws GNU gcc, gfortran, g++
+ #24-Ubuntu SMP x86_64 GNU/Linux (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
+ Ubuntu 22.04 Ubuntu clang version 14.0.0-1ubuntu1
+ Intel(R) oneAPI DPC++/C++ Compiler 2023.1.0
+ ifort (IFORT) 2021.9.0 20230302
+ (cmake and autotools)
+
+ 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.14.21-cray_shasta_c cray-mpich/8.1.23
+ #1 SMP x86_64 GNU/Linux cce/15.0.0
+ (frontier) gcc/12.2.0
+ (cmake)
+
+ Linux 5.11.0-34-generic GNU gcc (GCC) 9.4.0-1ubuntu1
+ #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.4.0-1ubuntu1
+ Ubuntu 20.04 Ubuntu clang version 10.0.0-4ubuntu1
+ Intel(R) oneAPI DPC++/C++ Compiler 2023.1.0
+ ifort (IFORT) 2021.9.0 20230302
+ (cmake and autotools)
+
+ Linux 4.14.0-115.35.1.1chaos aue/openmpi/4.1.4-arm-22.1.0.12
+ #1 SMP aarch64 GNU/Linux Arm C/C++/Fortran Compiler version 22.1
+ (stria) (based on LLVM 13.0.1)
+ (cmake)
+
+ Linux 4.14.0-115.35.1.3chaos spectrum-mpi/rolling-release
+ #1 SMP ppc64le GNU/Linux clang 12.0.1
+ (vortex) GCC 8.3.1
+ XL 2021.09.22
+ (cmake)
+
+ 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-4.12.14-197.99-default cray-mpich/7.7.14
+ #1 SMP x86_64 GNU/Linux cce 12.0.3
+ (theta) GCC 11.2.0
+ llvm 9.0
+ Intel 19.1.2
+
+ 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 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 7.1(Hanzomon)
+ Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers
+ with NAG Fortran Compiler Release 7.1(Hanzomon)
+ MPICH 3.1.4 compiled with GCC 4.9.3
+ MPICH 3.3 compiled with GCC 7.2.0
+ OpenMPI 3.1.3 compiled with GCC 7.2.0 and 4.1.2
+ compiled with GCC 9.1.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86_64;
+ Versions 18.4.0 and 19.10-0
+ NVIDIA nvc, nvfortran and nvc++ 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.90.1.1chaos openmpi/4.1
+ #1 SMP x86_64 GNU/Linux GCC 7.2.0
+ (skybridge) Intel/19.1
+ (cmake)
+
+ Linux-3.10.0-1160.90.1.1chaos openmpi/4.1
+ #1 SMP x86_64 GNU/Linux GCC 7.2.0
+ (attaway) Intel/19.1
+ (cmake)
+
+ Linux-3.10.0-1160.90.1.1chaos openmpi-intel/4.1
+ #1 SMP x86_64 GNU/Linux Intel/19.1.2, 21.3.0 and 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
+
+ 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 2019 w/ clang 12.0.0
+ with MSVC-like command-line (C/C++ only - cmake)
+ Visual Studio 2019 w/ Intel C/C++ only 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 2023 (cmake)
+ Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake)
+
+
+Known Problems
+==============
+
+ 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.
+
+ Several tests currently fail on certain platforms:
+ MPI_TEST-t_bigio fails with spectrum-mpi on ppc64le platforms.
+
+ MPI_TEST-t_subfiling_vfd and MPI_TEST_EXAMPLES-ph5_subfiling fail with
+ cray-mpich on theta and with XL compilers on ppc64le platforms.
+
+ MPI_TEST_testphdf5_tldsc fails with cray-mpich 7.7 on theta.
+
+ 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 are avoided by not building
+the gif tool by default. Enable building the High-Level tools with these options:
+ autotools: --enable-hlgiftools
+ cmake: HDF5_BUILD_HL_GIF_TOOLS=ON
+
+
%%%%1.14.1%%%%
HDF5 version 1.14.1-2 released on 2023-05-11
@@ -740,7 +1263,6 @@ the gif tool by default. Enable building the High-Level tools with these options
autotools: --enable-hlgiftools
cmake: HDF5_BUILD_HL_GIF_TOOLS=ON
-
%%%%1.14.0%%%%