HDF5 1.10.8-3-rc1 source available for testing

Hello everyone,

A pre-release version of HDF5 1.10.8 source (hdf5-1.10.8-3-rc1) is available for testing and can be downloaded at the following link:
https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5.

This release contains new features and changes from active HDF5 development that are compatible with hdf5_1_10. Many of these were also included in the HDF5 1.12.1 release, but are new to 1.10 since the 1.10.7 release.

• New Mirror and Splitter VFDs were added, enabling “concurrent” file writes to two files using a single HDF5 file handle.

• Several CVE issues were addressed in this release

  • CVE-2018-11206
  • CVE-2018-14033 (same as 2020-10811)
  • CVE-2018-14460
  • CVE-2020-10810
    These issues are being addressed as they arise.

• Several changes were made to HDF5 CMake and Autotools configuration:

  • We’ve endeavored to update the compiler flags and warnings settings for modern compilers, particularly Intel and PGI. See the release notes for more details.
  • Autotools and CMake targets were added to produce doxygen generated documentation (see details and links above).
  • The HDF5 1.10 series beginning with this release supports using the AEC library as a replacement library for SZip.
  • A configure option was added to control the build of High-Level tools, defaulting to ON/enabled.
  • A configure-time option was added to consider certain compiler warnings as errors.
    CMake no longer builds the C++ library by default.
  • Added a CMake variable HDF5_LIB_INFIX to facilitate creation of lib file names with infix strings following ‘hdf5’ and preceding so version numbers.
  • Added a CMake option to build the HDF filter plugins project as an external project.
  • Added a CMake option to link the generated Fortran MOD files into the include directory.
  • Added CMake options for MinGW to use MSVC naming conventions and to statically link gcc libs.

• Various internal changes were made to improve performance.

• H5check_version will now allow header file versions from earlier releases that should be binary compatible.

• File locking updates:

  • File locks now work on Windows
  • Adds BEST_EFFORT value to HDF5_USE_FILE_LOCKING environment variable
  • Adds H5Pset/get_file_locking() API calls
  • Adds --enable-file-locking=(yes|no|best-effort) option to Autotools
  • Adds HDF5_USE_FILE_LOCKING and HDF5_IGNORE_DISABLED_FILE_LOCKS to CMake
    • HDF5 now requires Visual Studio 2015 or greater; work-around code and definitions for older Visual Studio version have been removed.

• HDF5 is now tested and supported on macOS 11.2 Big Sur and macOS Apple M1 11.6.

• On macOS, Universal Binaries can now be built, allowing native execution on both Intel and Apple Silicon (ARM) based Macs.

For details about these and other changes or more information about the release see https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5/hdf5-1.10.8-3-rc1-RELEASE.txt.

If you have time to test this release candidate, we would greatly appreciate it. We test HDF5 on a variety of platforms and with multiple compilers, but there is always a system that we couldn’t test on. Your feedback is critical.

For those who use autoconf to build HDF5, please notice that the default configuration mode for this distribution is “–enable-build-mode=production". Use the “–enable-build-mode=debug” configure flag if you want to build HDF5 in the debug mode. Testing in both modes is recommended when possible.

The shared library version numbers for lib.so.* files in HDF5-1.10.8-3 have been updated according to libtool’s versioning system and the changes in symbols from HDF5-1.10.7. The API compatibility report is at this link: https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5/hdf5-1.10.8-3-rc1-vs-hdf5-1.10.7-preliminary-interface_compatibility_report.html

Reports of issues in the will be invaluable and very much appreciated. Thank you, and happy testing!

Larry Knox
The HDF Group