diff options
-rw-r--r-- | release_docs/RELEASE.txt | 296 |
1 files changed, 84 insertions, 212 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index b5849dc..bd27c2e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -34,7 +34,7 @@ CONTENTS - New Features - Support for new platforms and languages -- Bug Fixes since HDF5-1.10.5 +- Bug Fixes since HDF5-1.10.6 - Supported Platforms - Tested Configuration Features Summary - More Tested Platforms @@ -47,6 +47,55 @@ New Features Configuration: ------------- + - Add file locking configure and CMake options + + HDF5 1.10.0 introduced a file locking scheme, primarily to help + enforce SWMR setup. Formerly, the only user-level control of the scheme + was via the HDF5_USE_FILE_LOCKING environment variable. + + This change introduces configure-time options that control whether + or not file locking will be used and whether or not the library + ignores errors when locking has been disabled on the file system + (useful on some HPC Lustre installations). + + In both the Autotools and CMake, the settings have the effect of changing + the default property list settings (see the H5Pset/get_file_locking() + entry, below). + + The yes/no/best-effort file locking configure setting has also been + added to the libhdf5.settings file. + + Autotools: + + An --enable-file-locking=(yes|no|best-effort) option has been added. + + yes: Use file locking. + no: Do not use file locking. + best-effort: Use file locking and ignore "disabled" errors. + + CMake: + + Two self-explanatory options have been added: + + HDF5_USE_FILE_LOCKING + HDF5_IGNORE_DISABLED_FILE_LOCKS + + Setting both of these to ON is the equivalent to the Autotools' + best-effort setting. + + NOTE: + The precedence order of the various file locking control mechanisms is: + + 1) HDF5_USE_FILE_LOCKING environment variable (highest) + + 2) H5Pset_file_locking() + + 3) configure/CMake options (which set the property list defaults) + + 4) library defaults (currently best-effort) + + (DER - 2020/07/30, HDFFV-11092) + - CMake option to link the generated Fortran MOD files into the include directory. @@ -70,7 +119,7 @@ New Features The defaults can be overriden by setting the config option HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC - (ADB - 2020/07/9, HDFFV-11116) + (ADB - 2020/07/09, HDFFV-11116) - CMake option to use AEC (open source SZip) library instead of SZip @@ -84,7 +133,7 @@ New Features - CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER - Some handcrafted tests in HDFTests.c has been removed and the CMake + Some handcrafted tests in HDFTests.c have been removed and the CMake CHECK_STRUCT_HAS_MEMBER module has been used. (ADB - 2020/03/24, TRILAB-24) @@ -162,147 +211,36 @@ New Features (ADB - 2019/12/12, TRILAB-135) - - Update CMake for VS2019 support - - CMake added support for VS2019 in version 3.15. Changes to the CMake - generator setting required changes to scripts. Also updated version - references in CMake files as necessary. - - (ADB - 2019/11/18, HDFFV-10962) - - - Update CMake options to match new autotools options - - Add configure options (autotools - CMake): - enable-asserts HDF5_ENABLE_ASSERTS - enable-symbols HDF5_ENABLE_SYMBOLS - enable-profiling HDF5_ENABLE_PROFILING - enable-optimization HDF5_ENABLE_OPTIMIZATION - In addition NDEBUG is no longer forced defined and relies on the CMake - process. - - (ADB - 2019/10/07, HDFFV-100901, HDFFV-10637, TRILAB-97) - - - Update CMake tests to use FIXTURES - - CMake test fixtures allow setup/cleanup tests and other dependency - requirements as properties for tests. This is more flexible for - modern CMake code. - - (ADB - 2019/07/23, HDFFV-10529) - - - Windows PDB files are always installed - - There are build configuration or flag settings for Windows that may not - generate PDB files. If those files are not generated then the install - utility will fail because those PDB files are not found. An optional - variable, DISABLE_PDB_FILES, was added to not install PDB files. - - (ADB - 2019/07/17, HDFFV-10424) - - - Add mingw CMake support with a toolchain file - - There has been a number of mingw issues that has been linked under - HDFFV-10845. It has been decided to implement the CMake cross-compiling - technique of toolchain files. We will use a linux platform with the mingw - compiler stack for testing. Only the C language is fully supported, and - the error tests are skipped. The C++ language works for static but shared - builds has a shared library issue with the mingw Standard Exception Handling - library, which is not available on Windows. Fortran has a common cross-compile - problem with the fortran configure tests. - - (ADB - 2019/07/12, HDFFV-10845, HDFFV-10595) - - - Windows PDB files are installed incorrectly - - For static builds, the PDB files for windows should be installed next - to the static libraries in the lib folder. Also the debug versions of - libraries and PDB files are now correctly built using the default - CMAKE_DEBUG_POSTFIX setting. - - (ADB - 2019/07/09, HDFFV-10581) - - - Add option to build only shared libs - - A request was made to prevent building static libraries and only build - shared. A new option was added to CMake, ONLY_SHARED_LIBS, which will - skip building static libraries. Certain utility functions will build with - static libs but are not published. Tests are adjusted to use the correct - libraries depending on SHARED/STATIC settings. - - (ADB - 2019/06/12, HDFFV-10805) - - - Add options to enable or disable building tools and tests - - Configure options --enable-tests and --enable-tools were added for - autotools configure. These options are enabled by default, and can be - disabled with either --disable-tests (or tools) or --enable-tests=no - (or --enable-tools=no). Build time is reduced ~20% when tools are - disabled, 35% when tests are disabled, 45% when both are disabled. - Reenabling them after the initial build requires running configure - again with the option(s) enabled. - - (LRK - 2019/06/12, HDFFV-9976) - - - Change tools test that test the error stack - - There are some use cases which can cause the error stack of tools to be - different then the expected output. These tests now use grepTest.cmake, - this was changed to allow the error file to be searched for an expected string. - - (ADB - 2019/04/15, HDFFV-10741) - - - Add file locking configure and CMake options - - HDF5 1.10.0 introduced a file locking scheme, primarily to help - enforce SWMR setup. Formerly, the only user-level control of the scheme - was via the HDF5_USE_FILE_LOCKING environment variable. - - This change introduces configure-time options that control whether - or not file locking will be used and whether or not the library - ignores errors when locking has been disabled on the file system - (useful on some HPC Lustre installations). - - In both the Autotools and CMake, the settings have the effect of changing - the default property list settings (see the H5Pset/get_file_locking() - entry, below). - - The yes/no/best-effort file locking configure setting has also been - added to the libhdf5.settings file. - - Autotools: - An --enable-file-locking=(yes|no|best-effort) option has been added. - - yes: Use file locking. - no: Do not use file locking. - best-effort: Use file locking and ignore "disabled" errors. - - CMake: + Library: + -------- + - Add BEST_EFFORT value to HDF5_USE_FILE_LOCKING environment variable - Two self-explanatory options have been added: + This change adds a BEST_EFFORT to the TRUE/FALSE, 1/0 settings that + were previously accepted. This option turns on file locking but + ignores locking errors when the library detects that file locking + has been disabled on a file system (useful on some HPC Lustre + installations). - HDF5_USE_FILE_LOCKING - HDF5_IGNORE_DISABLED_FILE_LOCKS + The capitalization of BEST_EFFORT is mandatory. - Setting both of these to ON is the equivalent to the Autotools' - best-effort setting. + See the configure option discussion for HDFFV-11092 (above) for more + information on the file locking feature and how it's controlled. - NOTE: - The precedence order of the various file locking control mechanisms is: + (DER - 2020/07/30, HDFFV-11092) - 1) HDF5_USE_FILE_LOCKING environment variable (highest) - 2) H5Pset_file_locking() + - Add H5Pset/get_file_locking() API calls - 3) configure/CMake options (which set the property list defaults) + This change adds new API calls which can be used to set or get the + file locking parameters. The single API call sets both the "use file + locking" flag and the "ignore disabled file locking" flag. - 4) library defaults (currently best-effort) + See the configure option discussion for HDFFV-11092 (above) for more + information on the file locking feature and how it's controlled. (DER - 2020/07/30, HDFFV-11092) - - Library: - -------- - Add Mirror VFD Use TCP/IP sockets to perform write-only (W/O) file I/O on a remote @@ -315,32 +253,7 @@ New Features Maintain separate R/W and W/O channels for "concurrent" file writes to two files using a single HDF5 file handle. - (JOS - 2020/03/13, TBD) - - - Add S3 and HDFS VFDs to HDF5 maintenance - - Fix windows requirements and java tests. Windows requires CMake 3.13. - Install openssl library (with dev files); - from "Shining Light Productions". msi package preferred. - - PATH should have been updated with the installation dir. - set ENV variable OPENSSL_ROOT_DIR to the installation dir. - set ENV variable OPENSSL_CONF to the cfg file, likely %OPENSSL_ROOT_DIR%\bin\openssl.cfg - Install libcurl library (with dev files); - download the latest released version using git: https://github.com/curl/curl.git - - Open a Visual Studio Command prompt - change to the libcurl root folder - run the "buildconf.bat" batch file - change to the winbuild directory - nmake /f Makefile.vc mode=dll MACHINE=x64 - copy libcurl-vc-x64-release-dll-ipv6-sspi-winssl dir to C:\curl (installation dir) - set ENV variable CURL_ROOT to C:\curl (installation dir) - update PATH ENV variable to %CURL_ROOT%\bin (installation bin dir). - the aws credentials file should be in %USERPROFILE%\.aws folder - set the ENV variable "HDF5_ROS3_TEST_BUCKET_URL=https://s3.us-east-2.amazonaws.com/hdf5ros3" - - (ADB - 2019/09/12, HDFFV-10854) + (JOS - 2020/03/13, TBD) - Fixed an assertion failure in the parallel library when collectively filling chunks. As it is required that chunks be written in @@ -355,37 +268,6 @@ New Features (JTH - 2019/10/07) - - Add BEST_EFFORT value to HDF5_USE_FILE_LOCKING environment variable - - This change adds a BEST_EFFORT to the TRUE/FALSE, 1/0 settings that - were previously accepted. This option turns on file locking but - ignores locking errors when the library detects that file locking - has been disabled on a file system (useful on some HPC Lustre - installations). - - The capitalization of BEST_EFFORT is mandatory. - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - - Add H5Pset/get_file_locking() API calls - - This change adds new API calls which can be used to set or get the - file locking parameters. The single API call sets both the "use file - locking" flag and the "ignore disabled file locking" flag. - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - Parallel Library: - ----------------- - - - Fortran Library: ---------------- - Add wrappers for H5Pset/get_file_locking() API calls @@ -400,12 +282,6 @@ New Features C++ Library: ------------ - - Added new wrappers for H5Pset/get_create_intermediate_group() - LinkCreatPropList::setCreateIntermediateGroup() - LinkCreatPropList::getCreateIntermediateGroup() - - (BMR - 2019/04/22, HDFFV-10622) - - Add wrappers for H5Pset/get_file_locking() API calls FileAccPropList::setFileLocking() @@ -418,10 +294,6 @@ New Features Java Library: ---------------- - - Fix a failure in JUnit-TestH5P on 32-bit architectures - - (JTH - 2019/04/30) - - Add wrappers for H5Pset/get_file_locking() API calls H5Pset_file_locking() @@ -469,7 +341,7 @@ Support for new platforms, languages and compilers. ======================================= - -Bug Fixes since HDF5-1.10.5 release +Bug Fixes since HDF5-1.10.6 release ================================== Library @@ -497,18 +369,6 @@ Bug Fixes since HDF5-1.10.5 release - Fixed issues CVE-2018-13870 and CVE-2018-13869 When a buffer overflow occurred because a name length was corrupted - and became very large, h5dump crashed on memory access violation. - - A check for reading past the end of the buffer was added to multiple - locations to prevent the crashes and h5dump now simply fails with an - error message when this error condition occurs. - - (BMR - 2020/7/31, HDFFV-11120 and HDFFV-11121) - - - Fixed the segmentation fault when reading attributes with multiple threads - - It was reported that the reading of attributes with variable length string - datatype will crash with segmentation fault particularly when the number of threads is high (>16 threads). The problem was due to the file pointer that was set in the variable length string datatype for the attribute. That file pointer was already closed when the attribute was accessed. @@ -1011,6 +871,18 @@ option. CMake: h5c++, h5cc, h5hlc++, h5hlcc The include folder holds the header files and the fortran mod files. CMake +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 |