HDF5 1.12.1-6-rc2 source available for testing

Hello everyone,

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

Changes since HDF5 1.12.1-5-rc1:

  • A failure to configure HDF5 with Fortran enabled using cmake was discovered, especially when using ccmake. This has been fixed.
  • The issue with PGI 19.10-0, a chunk_info test failure, was found to be caused by a function for HDF5 1.13.0, which has been removed.
  • (Not changed) It was decided not to fix a flushrefesh test failure that happens only with “make check-passthrough-vol”. Active VOL development has shifted to HDF5 develop/1.13.0. The test passes there.

New in this release: HDF5 C-API documentation based on Doxygen (https://www.doxygen.nl/index.html). Note that the Fortran-API is NOT included in this release, and will be included in a future release.

Online versions can be found at these URLs:
http://v1-12-1.hdf5.info/_r_m.html (HDF5 1.12.1)
http://develop.hdf5.info/_r_m.html (HDF5 1.13.0)

Included are all core library functions documented at https://portal.hdfgroup.org/display/HDF5/Core+Library with the exception of H5P[g,s]et_fapl_[hdfs,ros3].

This documentation is WORK-IN-PROGRESS. That’s why all existing documentation will remain accessible for the foreseeable future.

Since this portion of the HDF5 documentation is now part of the source code, it gets the same treatment as code. In other words, issues, inaccuracies, corrections should be reported as issues in GitHub (https://github.com/HDFGroup/hdf5/issues), and pull requests will be reviewed and accepted as any other code changes.

This release contains new features and changes from active HDF5 development that are compatible with hdf5_1_12:

• 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. generally related to malformed files that crash the HDF5 library.

CVE-2018-11206
CVE-2018-14033 (same as 2020-10811)
CVE-2018-14460
These issues are being addressed as they arise.
• Several changes were made to HDF5 CMake and Autotools configuration:

Autotools and CMake targets were added to produce doxygen generated documentation (see details and links above).
The HDF5 1.12 series beginning with this release supports using the AEC library as a replacement library for SZip.
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.
• Various internal changes were made to improve performance.

• 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

• 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.12.1-6-rc2-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.12.1-6 have been updated according to libtool’s versioning system and the changes in symbols from HDF5-1.12.0. The API compatibility report is at this link: https://gamma.hdfgroup.org/ftp/pub/outgoing/hdf5/hdf5-1.12.1-6-rc2-vs-hdf5-1.12.0-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