diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c807e755938..29e586620e7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -19,7 +19,7 @@ CMakeTests.* @byrnHDF @derobins /doc/ @gnuoyd @jrmainzer -/examples/ @lrknox @derobins @bljhdf +/examples/ @lrknox @derobins @bmribler /fortran/ @brtnfld @epourmal @@ -29,7 +29,7 @@ CMakeTests.* @byrnHDF @derobins /m4/ @lrknox @derobins -/release_docs/ @lrknox @bljhdf @byrnHDF +/release_docs/ @lrknox @bmribler @byrnHDF /src/ @jhendersonHDF @derobins @fortnern @qkoziol @soumagne @vchoi-hdfgroup @jrmainzer diff --git a/c++/test/CMakeVFDTests.cmake b/c++/test/CMakeVFDTests.cmake index 3b555ed7da1..360d14e3351 100644 --- a/c++/test/CMakeVFDTests.cmake +++ b/c++/test/CMakeVFDTests.cmake @@ -26,7 +26,7 @@ set (VFD_LIST family ) -if (DIRECT_VFD) +if (H5_HAVE_DIRECT) set (VFD_LIST ${VFD_LIST} direct) endif () diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 0f71efcf7c8..e4083437dac 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -131,7 +131,7 @@ New Features To do so, set CMAKE_OSX_ARCHITECTURES="x86_64;arm64" - (SAM - 2021/02/07, https://github.com/HDFGroup/hdf5/issues/311) + (SAM - 2021/02/07, github-311) - Added a configure-time option to control certain compiler warnings diagnostics @@ -226,7 +226,7 @@ New Features CMake target is 'doxygen' for all available doxygen targets CMake target is 'hdf5lib_doc' for the src subdirectory - (ADB - 2020/11/13) + (ADB - 2020/11/13, HDFFV-11243) - CMake option to use MSVC naming conventions with MinGW @@ -646,6 +646,15 @@ Bug Fixes since HDF5-1.12.0 release (BMR - 2021/05/12, HDFFV-11223) + - Fixed CVE-2019-9151 + + h5repack generated a segfault when an invalid memory read occurred on + a corrupted file. + + The issue is now fixed. h5repack produces an error instead of segfault. + + (BMR - 2021/05/04, HDFFV-10718) + - Fixed CVE-2018-11206 The tool h5dump produced a segfault when the size of a fill value @@ -854,6 +863,13 @@ Bug Fixes since HDF5-1.12.0 release (ADB - 2021/06/03) + - Move emscripten flag to compile flags + + The emscripten flag, -O0, was removed from target_link_libraries command + to the correct target_compile_options command. + + (ADB - 2021/04/26 HDFFV-11083) + - Remove arbitrary warning flag groups from CMake builds The arbitrary groups were created to reduce the quantity of warnings being @@ -890,6 +906,20 @@ Bug Fixes since HDF5-1.12.0 release (DER - 2021/01/07, HDFFV-11201) + - Add missing ENV variable line to hdfoptions.cmake file + + Using the build options to use system SZIP/ZLIB libraries need to also + specify the library root directory. Setting the {library}_ROOT ENV + variable was added to the hdfoptions.cmake file. + + (ADB - 2020/10/19 HDFFV-11108) + + - Fixed removal of Java lib files by "make uninstall" + + "make uninstall" was not removing 5 Java files from the lib directory. + + (LRK - 2020/08/24, HDFFV-10811) + - Stopped addition of szip header and include directory path for incompatible libsz @@ -901,6 +931,7 @@ Bug Fixes since HDF5-1.12.0 release (LRK - 2020/08/17, HDFFV-10830) + Tools ----- - Changed how h5dump and h5ls identify long double. @@ -912,7 +943,7 @@ Bug Fixes since HDF5-1.12.0 release also show the number of bits for precision. These files are also used in the java tests. - (ADB - 2021/03/24, HDFFV-11229) + (ADB - 2021/03/24, HDFFV-11229,HDFFV-11113) - Fixed tools argument parsing. @@ -923,6 +954,58 @@ Bug Fixes since HDF5-1.12.0 release (ADB - 2021/01/19, HDFFV-11106) + - Fixed a bug with h5repack ignoring the "-q" and "-z" command-line options + + h5repack uses the -q and -z command-line options to specify the indexing + options for objects in the file when repacking. Previously, h5repack + would simply ignore any setting from these options. This has been fixed + so that h5repack will correctly interpret the following settings: + + -q "name" : Sort objects by name order + -q "creation_order" : Sort objects by link creation order + -z "ascending" : Sort objects by ascending name/link creation order + -z "descending" : Sort objects by descending name/link creation order + + (JTH - 2020/04/16, HDFFV-11030) + + - The tools library was updated by standardizing the error stack process. + + General sequence is: + h5tools_setprogname(PROGRAMNAME); + h5tools_setstatus(EXIT_SUCCESS); + h5tools_init(); + ... process the command-line (check for error-stack enable) ... + h5tools_error_report(); + ... (do work) ... + h5diff_exit(ret); + + (ADB - 2020/07/20, HDFFV-11066) + + - h5diff fixed a command line parsing error. + + h5diff would ignore the argument to -d (delta) if it is smaller than DBL_EPSILON. + The macro H5_DBL_ABS_EQUAL was removed and a direct value comparision was used. + + (ADB - 2020/07/20, HDFFV-10897) + + - h5diff added a command line option to ignore attributes. + + h5diff would ignore all objects with a supplied path if the exclude-path argument is used. + Adding the exclude-attribute argument will only exclude attributes, with the supplied path, + from comparison. + + (ADB - 2020/07/20, HDFFV-5935) + + - h5diff added another level to the verbose argument to print filenames. + + Added verbose level 3 that is level 2 plus the filenames. The levels are: + 0 : Identical to '-v' or '--verbose' + 1 : All level 0 information plus one-line attribute status summary + 2 : All level 1 information plus extended attribute status report + 3 : All level 2 information plus file names + + (ADB - 2020/07/20, HDFFV-1005) + Fortran API ----------- @@ -952,10 +1035,24 @@ Bug Fixes since HDF5-1.12.0 release (ADB - 2021/05/03) + - Fixed the dimension size description in the layout message table of the + file format specification section IV.A.2.i. + + The layout message table described the dimension sizes starting from + Dimension 0 to Dimension #n. This was incorrect because it would mean + the rank is n+1. + + The dimension size entries were changed to starting from Dimension 1 to + Dimension #n. + + (VC – 2020/06/09, HDFFV-11079) + F90 APIs -------- - - + - Fixed parallel make build failure due to a missing H5forkit dependency. + + (MSB, 2021/03/31, HDFFV-11232) C++ APIs @@ -1080,24 +1177,24 @@ The following platforms are not supported but have been tested for this release. 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 + (quartz) gcc/7.3.0, 8.3.0 intel/16.0.4, 18.0.2, 19.0.4 Linux-4.14.0-115.10.1.1 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang/7.1.0, 10.0.1 + #1 SMP ppc64le GNU/Linux clang/7.1.0, ibm-11.0.1 (lassen) gcc/4.9.3, 8.3.1 - xl/2019.02.07,2021.03.11 + xl/2019.02.07, 2021.03.11 Linux-4.12.14-150.52-default cray-mpich/7.7.10 #1 SMP x86_64 GNU/Linux gcc/8.3.0 (cori) intel/19.0.3 - Linux-4.4.180-94.107-default cray-mpich/7.7.6 - # 1SMP x86_64 GNU/Linux gcc/7.2.0, 8.2.0 - (mutrino) intel/17.0.4, 18.0.2, 19.0.4 + Linux-4.4.180-94.107-default cray-mpich/7.7.16 + # 1SMP x86_64 GNU/Linux gcc/7.3.0, 8.3.0, 10.2.0 + (mutrino) intel/17.0.4, 18.0.5, 19.1.3 Linux-3.10.0- spectrum-mpi/rolling-release - 1127.10.1.1chaos.ch6.ppc64le clang/7.1,11.0.1 + 1127.10.1.1chaos.ch6.ppc64le clang/7.1.0, 11.0.1 #1 SMP ppc64le GNU/Linux gcc/4.9.3,8.3.1 (ray) xl/2019.08.20,2021.03.11 @@ -1156,6 +1253,9 @@ Known Problems 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. diff --git a/test/CMakeVFDTests.cmake b/test/CMakeVFDTests.cmake index dada9a90a8c..892ccf361fe 100644 --- a/test/CMakeVFDTests.cmake +++ b/test/CMakeVFDTests.cmake @@ -26,7 +26,7 @@ set (VFD_LIST multi family ) -if (DIRECT_VFD) +if (H5_HAVE_DIRECT) set (VFD_LIST ${VFD_LIST} direct) endif () diff --git a/testpar/CMakeVFDTests.cmake b/testpar/CMakeVFDTests.cmake index 5fac4ea6725..f50ca16860e 100644 --- a/testpar/CMakeVFDTests.cmake +++ b/testpar/CMakeVFDTests.cmake @@ -30,7 +30,7 @@ set (H5P_VFD_TESTS t_pflush2 ) -if (DIRECT_VFD) +if (H5_HAVE_DIRECT) set (VFD_LIST ${VFD_LIST} direct) endif () diff --git a/tools/test/h5copy/CMakeLists.txt b/tools/test/h5copy/CMakeLists.txt index f76a65ef153..f63eb847601 100644 --- a/tools/test/h5copy/CMakeLists.txt +++ b/tools/test/h5copy/CMakeLists.txt @@ -32,7 +32,7 @@ if (BUILD_SHARED_LIBS) add_library (${H5COPY_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_copy.c) target_include_directories (${H5COPY_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5COPY_TOOL_PLUGIN_LIB_TARGET} SHARED) - target_link_libraries (${H5COPY_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5COPY_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5COPY_TOOL_PLUGIN_LIB_TARGET} ${H5COPY_TOOL_PLUGIN_LIB_NAME} SHARED "LIB") #----------------------------------------------------------------------------- diff --git a/tools/test/h5diff/CMakeLists.txt b/tools/test/h5diff/CMakeLists.txt index 9349ace9e11..f74db0f0fe9 100644 --- a/tools/test/h5diff/CMakeLists.txt +++ b/tools/test/h5diff/CMakeLists.txt @@ -32,7 +32,7 @@ if (BUILD_SHARED_LIBS) add_library (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_diff.c) target_include_directories (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} SHARED) - target_link_libraries (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5DIFF_TOOL_PLUGIN_LIB_TARGET} ${H5DIFF_TOOL_PLUGIN_LIB_NAME} SHARED "LIB") #----------------------------------------------------------------------------- diff --git a/tools/test/h5dump/CMakeLists.txt b/tools/test/h5dump/CMakeLists.txt index 242465eb575..a7b4846cc29 100644 --- a/tools/test/h5dump/CMakeLists.txt +++ b/tools/test/h5dump/CMakeLists.txt @@ -12,7 +12,7 @@ if (BUILD_SHARED_LIBS) add_library (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_dump.c) target_include_directories (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} SHARED) - target_link_libraries (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5DUMP_TOOL_PLUGIN_LIB_TARGET} ${H5DUMP_TOOL_PLUGIN_LIB_NAME} SHARED "LIB") #----------------------------------------------------------------------------- diff --git a/tools/test/h5dump/CMakeVFDTests.cmake b/tools/test/h5dump/CMakeVFDTests.cmake index 014790f055b..01834b3aa87 100644 --- a/tools/test/h5dump/CMakeVFDTests.cmake +++ b/tools/test/h5dump/CMakeVFDTests.cmake @@ -26,7 +26,7 @@ set (VFD_H5DUMP_LIST family ) -if (DIRECT_VFD) +if (H5_HAVE_DIRECT) set (VFD_H5DUMP_LIST ${VFD_H5DUMP_LIST} direct) endif () diff --git a/tools/test/h5ls/CMakeLists.txt b/tools/test/h5ls/CMakeLists.txt index ee223b83f5f..ba6e4688399 100644 --- a/tools/test/h5ls/CMakeLists.txt +++ b/tools/test/h5ls/CMakeLists.txt @@ -12,7 +12,7 @@ if (BUILD_SHARED_LIBS) add_library (${H5LS_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_ls.c) target_include_directories (${H5LS_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5LS_TOOL_PLUGIN_LIB_TARGET} SHARED) - target_link_libraries (${H5LS_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5LS_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5LS_TOOL_PLUGIN_LIB_TARGET} ${H5LS_TOOL_PLUGIN_LIB_NAME} SHARED "LIB") #----------------------------------------------------------------------------- diff --git a/tools/test/h5repack/CMakeLists.txt b/tools/test/h5repack/CMakeLists.txt index 26db85a4a6f..0b907504b0f 100644 --- a/tools/test/h5repack/CMakeLists.txt +++ b/tools/test/h5repack/CMakeLists.txt @@ -54,13 +54,13 @@ if (BUILD_SHARED_LIBS) add_library (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c) target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} SHARED) - target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} ${H5REPACK_TOOL_PLUGIN_LIB_NAME} SHARED "LIB") add_library (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} SHARED dynlib_vrpk.c) target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>") TARGET_C_PROPERTIES (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} SHARED) - target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE ${HDF5_TEST_LIBSH_TARGET}) + target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE ${HDF5_LIBSH_TARGET}) H5_SET_LIB_OPTIONS (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} ${H5REPACK_TOOL_PLUGIN_LIB_VNAME} SHARED "LIB") #----------------------------------------------------------------------------- diff --git a/tools/test/h5repack/CMakeVFDTests.cmake b/tools/test/h5repack/CMakeVFDTests.cmake index 74471f8ef0b..e26941b14b7 100644 --- a/tools/test/h5repack/CMakeVFDTests.cmake +++ b/tools/test/h5repack/CMakeVFDTests.cmake @@ -26,7 +26,7 @@ set (VFD_LIST family ) -if (DIRECT_VFD) +if (H5_HAVE_DIRECT) set (VFD_LIST ${VFD_LIST} direct) endif ()