From 9dfcca0bbbe21ee5ac0db618c19290caaeb8dbc1 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 18 Aug 2022 08:35:21 -0500 Subject: Release updates (#2033) * Update HISTORy-1_13.txt and clean RELEASE.txt entries after 1.13.2 release. --- release_docs/HISTORY-1_13.txt | 556 ++++++++++++++++++++++++++++++++++++++++++ release_docs/RELEASE.txt | 244 +++++------------- 2 files changed, 611 insertions(+), 189 deletions(-) diff --git a/release_docs/HISTORY-1_13.txt b/release_docs/HISTORY-1_13.txt index 208b572..9a2f6e2 100644 --- a/release_docs/HISTORY-1_13.txt +++ b/release_docs/HISTORY-1_13.txt @@ -6,6 +6,7 @@ the develop branch 01. Release Information for hdf5-1.13.0 02. Release Information for hdf5-1.13.1 +03. Release Information for hdf5-1.13.2 [Search on the string '%%%%' for section breaks of each release.] @@ -2166,3 +2167,558 @@ 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.13.2%%%% + +HDF5 version 1.13.2 released on 2022-08-15 +================================================================================ + + +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.13.x release series +can be found at: + + https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide + +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.13.1 +- Platforms Tested +- Known Problems +- CMake vs. Autotools installations + + +New Features +============ + + Configuration: + ------------- + - 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) + + - 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) + + + Library: + -------- + - Onion VFD + + The onion VFD allows creating "versioned" HDF5 files. File open/close + operations after initial file creation will add changes to an external + "onion" file (.onion extension by default) instead of the original file. + Each written revision can be opened independently. + + To open a file with the onion VFD, use the H5Pset_fapl_onion() API call + (does not need to be used for the initial creation of the file). The + options for the H5FD_onion_fapl_info_t struct are described in H5FDonion.h. + + The H5FDonion_get_revision_count() API call can be used to query a file + to find out how many revisions have been created. + + (DER - 2022/08/02) + + - Subfiling VFD + + The HDF5 Subfiling VFD is a new MPI-based file driver that allows an + HDF5 application to distribute an HDF5 file across a collection of + "sub-files" in equal-sized data segment "stripes". I/O to the logical + HDF5 file is then directed to the appropriate "sub-file" according to + the Subfiling configuration and a system of I/O concentrators, which + are MPI ranks operating worker threads. + + By allowing a configurable stripe size, number of I/O concentrators and + method for selecting MPI ranks as I/O concentrators, the Subfiling VFD + aims to enable an HDF5 application to find a middle ground between the + single shared file and file-per-process approaches to parallel file I/O + for the particular machine the application is running on. In general, the + goal is to avoid some of the complexity of the file-per-process approach + while also minimizing the locking issues of the single shared file approach + on a parallel file system. + + Also included with the Subfiling VFD is a new h5fuse.sh script which + reads a Subfiling configuration file and then combines the various + sub-files back into a single HDF5 file. By default, the h5fuse.sh script + looks in the current directory for the Subfiling configuration file, + but can also be pointed to the configuration file with a command-line + option. + + The Subfiling VFD can be used by calling H5Pset_fapl_subfiling() on a + File Access Property List and using that FAPL for file operations. Note + that the Subfiling VFD currently has the following limitations: + + * Does not currently support HDF5 collective I/O, other than collective + metadata writes and reads as set by H5Pset_coll_metadata_write() and + H5Pset_all_coll_metadata_ops() + + * The Subfiling VFD should not currently be used with an HDF5 library + that has been built with thread-safety enabled. This can cause deadlocks + when failures occur due to interactions between the VFD's internal + threads and HDF5's global lock. + + (JTH - 2022/07/22) + + + Parallel Library: + ----------------- + - + + + Fortran Library: + ---------------- + - + + + C++ Library: + ------------ + - Added two new constructors to H5::H5File class + + Two new constructors were added to allow opening a file with non-default + access property list. + + + Java Library: + ------------- + - 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 - 2022/07/15) + + - 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 - 2022/07/15, GitHub #1787) + + - 1.10 References in containers were not displayed properly by h5dump. + + Ported 1.10 tools display function to provide ability to inspect and + display 1.10 reference data. + + (ADB - 2022/06/22) + + + High-Level APIs: + ---------------- + - + + + C Packet Table API: + ------------------- + - + + + Internal header file: + --------------------- + - All the #defines named H5FD_CTL__* were renamed to H5FD_CTL_*, i.e. the double underscore was reduced to a single underscore. + + + Documentation: + -------------- + - + + +Support for new platforms, languages and compilers +================================================== + - + + +Bug Fixes since HDF5-1.13.1 release +=================================== + Library + ------- + - The offset parameter in H5Dchunk_iter() is now scaled properly + + In earlier HDF5 1.13.x versions, the chunk offset was not scaled by the + chunk dimensions. This offset parameter in the callback now matches + that of H5Dget_chunk_info(). + + (@mkitti - 2022/08/06, GitHub #1419) + + - 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) + + + Java Library + ------------ + - + + + Configuration + ------------- + - + + + Tools + ----- + - + + + Performance + ------------- + - + + + Fortran API + ----------- + - h5open_f and h5close_f fixes + * Fixed it so both h5open_f and h5close_f can be called multiple times. + * Fixed an issue with open objects remaining after h5close_f was called. + * Added additional tests. + (MSB, 2022/04/19, HDFFV-11306) + + + High-Level Library + ------------------ + - + + + Fortran High-Level APIs + ----------------------- + - + + + Documentation + ------------- + - + + + F90 APIs + -------- + - + + + C++ APIs + -------- + - + + + Testing + ------- + - + + +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 5.3.18-150300-cray_shasta_c cray-mpich/8.1.16 + #1 SMP x86_64 GNU/Linux Cray clang 14.0.0 + (crusher) GCC 11.2.0 + (cmake) + + Linux 5.3.18-24-cray_shasta_c cray-mpich/8.1.12 + #1 SMP x86_64 GNU/Linux Cray clang 13.0.0 + (spock) AMD clang 13.0.0 + GCC 8.2.0, 11.2.0 + (cmake) + + Linux 4.14.0-115.35.1.1chaos openmpi 4.0.5 + #1 SMP aarch64 GNU/Linux GCC 9.2.0 (ARM-build-5) + (stria) GCC 7.2.0 (Spack GCC) + (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 16.1.1 + (cmake) + + 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 16.1.1.2 + (cmake) + + Linux-4.12.14-150.75-default cray-mpich/7.7.10 + #1 SMP x86_64 GNU/Linux GCC 7.3.0, 8.2.0 + (cori) Intel (R) Version 19.0.3.199 + (cmake) + + 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 + 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 + (autotools and cmake) + + Linux-3.10.0-1160.71.1.1chaos openmpi-4.0.0 + #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 + (quartz) GCC 7.3.0, 8.1.0 + Intel 16.0.4, 18.0.2, 19.0.4 + (cmake) + + Linux-3.10.0-1160.71.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.66.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.59.1.1chaos openmpi/4.1 + #1 SMP x86_64 GNU/Linux Intel/19.1 + (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: + 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. + + 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 cori and 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 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 diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index e83d193..aa9d444 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -36,7 +36,7 @@ CONTENTS - New Features - Support for new platforms and languages -- Bug Fixes since HDF5-1.13.1 +- Bug Fixes since HDF5-1.13.2 - Platforms Tested - Known Problems - CMake vs. Autotools installations @@ -47,83 +47,12 @@ New Features Configuration: ------------- - - 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) - - - 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) + - Library: -------- - - Subfiling VFD - - The HDF5 Subfiling VFD is a new MPI-based file driver that allows an - HDF5 application to distribute an HDF5 file across a collection of - "sub-files" in equal-sized data segment "stripes". I/O to the logical - HDF5 file is then directed to the appropriate "sub-file" according to - the Subfiling configuration and a system of I/O concentrators, which - are MPI ranks operating worker threads. - - By allowing a configurable stripe size, number of I/O concentrators and - method for selecting MPI ranks as I/O concentrators, the Subfiling VFD - aims to enable an HDF5 application to find a middle ground between the - single shared file and file-per-process approaches to parallel file I/O - for the particular machine the application is running on. In general, the - goal is to avoid some of the complexity of the file-per-process approach - while also minimizing the locking issues of the single shared file approach - on a parallel file system. - - Also included with the Subfiling VFD is a new h5fuse.sh script which - reads a Subfiling configuration file and then combines the various - sub-files back into a single HDF5 file. By default, the h5fuse.sh script - looks in the current directory for the Subfiling configuration file, - but can also be pointed to the configuration file with a command-line - option. - - The Subfiling VFD can be used by calling H5Pset_fapl_subfiling() on a - File Access Property List and using that FAPL for file operations. Note - that the Subfiling VFD currently has the following limitations: - - * Does not currently support HDF5 collective I/O, other than collective - metadata writes and reads as set by H5Pset_coll_metadata_write() and - H5Pset_all_coll_metadata_ops() - - * The Subfiling VFD should not currently be used with an HDF5 library - that has been built with thread-safety enabled. This can cause deadlocks - when failures occur due to interactions between the VFD's internal - threads and HDF5's global lock. - - (JTH - 2022/07/22) + - Parallel Library: @@ -138,85 +67,17 @@ New Features C++ Library: ------------ - - Added two new constructors to H5::H5File class - - Two new constructors were added to allow opening a file with non-default - access property list. + - Java Library: ------------- - - 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 - 2022/07/15) - - - 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 - 2022/07/15, GitHub #1787) - - - 1.10 References in containers were not displayed properly by h5dump. - - Ported 1.10 tools display function to provide ability to inspect and - display 1.10 reference data. - - (ADB - 2022/06/22) + - High-Level APIs: @@ -231,7 +92,7 @@ New Features Internal header file: --------------------- - - All the #defines named H5FD_CTL__* were renamed to H5FD_CTL_*, i.e. the double underscore was reduced to a single underscore. + - Documentation: @@ -244,7 +105,7 @@ Support for new platforms, languages and compilers - -Bug Fixes since HDF5-1.13.1 release +Bug Fixes since HDF5-1.13.2 release =================================== Library ------- @@ -257,27 +118,6 @@ Bug Fixes since HDF5-1.13.1 release (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) - Java Library ------------ @@ -301,11 +141,7 @@ Bug Fixes since HDF5-1.13.1 release Fortran API ----------- - - h5open_f and h5close_f fixes - * Fixed it so both h5open_f and h5close_f can be called multiple times. - * Fixed an issue with open objects remaining after h5close_f was called. - * Added additional tests. - (MSB, 2022/04/19, HDFFV-11306) + - High-Level Library @@ -341,9 +177,9 @@ Bug Fixes since HDF5-1.13.1 release Platforms Tested =================== - Linux 5.13.14-200.fc34 GNU gcc (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - Fedora34 clang version 12.0.1 (Fedora 12.0.1-1.fc34) + 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 @@ -351,15 +187,27 @@ Platforms Tested Ubuntu 20.04 Ubuntu clang version 10.0.0-4 (cmake and autotools) - Linux 5.8.0-63-generic GNU gcc (GCC) 10.3.0-1ubuntu1 - #71-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 10.3.0-1ubuntu1 - Ubuntu20.10 Ubuntu clang version 11.0.0-2 - (cmake and autotools) + Linux 5.3.18-150300-cray_shasta_c cray-mpich/8.1.16 + #1 SMP x86_64 GNU/Linux Cray clang 14.0.0 + (crusher) GCC 11.2.0 + (cmake) - Linux 5.3.18-22-default GNU gcc (SUSE Linux) 7.5.0 - #1 SMP x86_64 GNU/Linux GNU Fortran (SUSE Linux) 7.5.0 - SUSE15sp2 clang version 7.0.1 (tags/RELEASE_701/final 349238) - (cmake and autotools) + Linux 5.3.18-24-cray_shasta_c cray-mpich/8.1.12 + #1 SMP x86_64 GNU/Linux Cray clang 13.0.0 + (spock) AMD clang 13.0.0 + GCC 8.2.0, 11.2.0 + (cmake) + + Linux 4.14.0-115.35.1.1chaos openmpi 4.0.5 + #1 SMP aarch64 GNU/Linux GCC 9.2.0 (ARM-build-5) + (stria) GCC 7.2.0 (Spack GCC) + (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 16.1.1 + (cmake) Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release #1 SMP ppc64le GNU/Linux clang 8.0.1, 11.0.1 @@ -372,11 +220,6 @@ Platforms Tested (cori) Intel (R) Version 19.0.3.199 (cmake) - Linux-4.12.14-197.86-default cray-mpich/7.7.6 - # 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.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) @@ -400,12 +243,27 @@ Platforms Tested PGI C, Fortran, C++ for 64-bit target on x86_64; Version 19.10-0 + (autotools and cmake) Linux-3.10.0-1127.0.0.1chaos openmpi-4.0.0 #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 (quartz) GCC 7.3.0, 8.1.0 Intel 16.0.4, 18.0.2, 19.0.4 + Linux-3.10.0-1160.71.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.66.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.59.1.1chaos openmpi/4.1 + #1 SMP x86_64 GNU/Linux Intel/19.1 + (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 @@ -466,6 +324,14 @@ Known Problems 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 cori and 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. -- cgit v0.12