summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2022-04-08 21:25:01 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2022-04-08 21:25:01 (GMT)
commit1e34f1d3b53c27caae4adcafc281ab01741ea2c3 (patch)
tree337cd96b8cdbd0831123ddc165da6e861f5b7cba /release_docs
parent69878f59c48e3226978e0430dcb729e5702bcbb0 (diff)
downloadhdf5-1e34f1d3b53c27caae4adcafc281ab01741ea2c3.zip
hdf5-1e34f1d3b53c27caae4adcafc281ab01741ea2c3.tar.gz
hdf5-1e34f1d3b53c27caae4adcafc281ab01741ea2c3.tar.bz2
Update version to 1.12.3-1 after creating hdf5_1_12_2 release
preparation branch. Clean release note entries from RELEASE.txt.
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/RELEASE.txt398
1 files changed, 10 insertions, 388 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index cfd2ecc..df26efc 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.12.2-2 currently under development
+HDF5 version 1.12.3-1 currently under development
================================================================================
@@ -36,7 +36,7 @@ CONTENTS
- New Features
- Support for new platforms and languages
-- Bug Fixes since HDF5-1.12.1
+- Bug Fixes since HDF5-1.12.2
- Platforms Tested
- Known Problems
- CMake vs. Autotools installations
@@ -47,168 +47,22 @@ New Features
Configuration:
-------------
- - CPack will now generate RPM/DEB packages.
-
- Enabled the RPM and DEB CPack generators on linux. In addition to
- generating STGZ and TGZ packages, CPack will try to package the
- library for RPM and DEB packages. This is the initial attempt and
- may change as issues are resolved.
-
- (ADB - 2022/03/25)
-
- - Added new option to the h5cc scripts produced by CMake.
-
- Add -showconfig option to h5cc scripts to cat the
- libhdf5-settings to the standard output.
-
- (ADB - 2022/03/11)
-
- - 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)
-
- - Added new configure options to enable dimension scales APIs (H5DS*) to
- use new object references with the native VOL connector (aka native HDF5
- library). New references are always used for non-native terminal VOL
- connectors (e.g., DAOS).
-
- Autotools --enable-dimension-scales-with-new-ref
- CMake HDF5_DIMENSION_SCALES_NEW_REF=ON
-
- (EIP - 2021/10/25, HDFFV-11180)
-
- - Refactored the utils folder.
-
- Added subfolder test and moved the 'swmr_check_compat_vfd.c file'
- from test into utils/test. Deleted the duplicate swmr_check_compat_vfd.c
- file in hl/tools/h5watch folder. Also fixed vfd check options.
-
- (ADB - 2021/10/18)
-
- - Changed autotools and CMake configurations to derive both
- compilation warnings-as-errors and warnings-only-warn configurations
- from the same files, 'config/*/*error*'. Removed redundant files
- 'config/*/*noerror*'.
-
- (DCY - 2021/09/29)
-
- - Added new option to control the build of High-Level tools
- that default ON/enabled.
-
- Add configure options (autotools - CMake):
- --enable-hltools HDF5_BUILD_HL_TOOLS
-
- Disabling this option prevents building the gif tool which
- contains the following CVEs:
- HDFFV-10592 CVE-2018-17433
- HDFFV-10593 CVE-2018-17436
- HDFFV-11048 CVE-2020-10809
-
- (ADB - 2021/09/16, HDFFV-11266)
-
- - CMake will now run the shell script tests in test/ by default
-
- The test directory includes several shell script tests that previously
- were not run by CMake. These are now run by default. TEST_SHELL_SCRIPTS
- has been set to ON and SH_PROGRAM has been set to bash (some test
- scripts use bash-isms). Platforms without bash (e.g., Windows) will
- ignore the script tests.
-
- (DER - 2021/05/23)
-
- - Removed unused HDF5_ENABLE_HSIZET option from CMake
-
- This has been unused for some time and has no effect.
-
- (DER - 2021/05/23)
+ -
Library:
--------
- - Change how the release part of version, in major.minor.release is checked
- for compatibility
-
- The HDF5 library uses a function, H5check_version, to check that
- the version defined in the header files, which is used to compile an
- application is compatible with the version codified in the library, which
- the application loads at runtime. This previously required an exact match
- or the library would print a warning, dump the build settings and then
- abort or continue. An environment variable controlled the logic.
-
- Now the function first checks that the library release version, in
- major.minor.release, is not older than the version in the headers.
- Secondly, if the release version is different, it checks if either
- the library version or the header version is in the exception list, in
- which case the release part of version, in major.minor.release, must
- be exact. An environment variable still controls the logic.
-
- (ADB - 2021/07/27)
+ -
Parallel Library:
-----------------
- - Several improvements to parallel compression feature, including:
-
- * Improved support for collective I/O (for both writes and reads)
-
- * Significant reduction of memory usage for the feature as a whole
-
- * Reduction of copying of application data buffers passed to H5Dwrite
-
- * Addition of support for incremental file space allocation for filtered
- datasets created in parallel. Incremental file space allocation is the
- default for these types of datasets (early file space allocation is
- also still supported), while early file space allocation is still the
- default (and only supported allocation time) for unfiltered datasets
- created in parallel. Incremental file space allocation should help with
- parallel HDF5 applications that wish to use fill values on filtered
- datasets, but would typically avoid doing so since dataset creation in
- parallel would often take an excessive amount of time. Since these
- datasets previously used early file space allocation, HDF5 would
- allocate space for and write fill values to every chunk in the dataset
- at creation time, leading to noticeable overhead. Instead, with
- incremental file space allocation, allocation of file space for chunks
- and writing of fill values to those chunks will be delayed until each
- individual chunk is initially written to.
-
- * Addition of support for HDF5's "don't filter partial edge chunks" flag
- (https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS)
-
- * Addition of proper support for HDF5 fill values with the feature
-
- * Addition of 'H5_HAVE_PARALLEL_FILTERED_WRITES' macro to H5pubconf.h
- so HDF5 applications can determine at compile-time whether the feature
- is available
-
- * Addition of simple examples (ph5_filtered_writes.c and
- ph5_filtered_writes_no_sel.c) under examples directory to demonstrate
- usage of the feature
-
- * Improved coverage of regression testing for the feature
+ -
- (JTH - 2022/2/23)
Fortran Library:
----------------
- - H5Fget_name_f fixed to handle correctly trailing whitespaces and
- newly allocated buffers.
-
- (MSB - 2021/08/30, github-826,972)
+ -
C++ Library:
@@ -223,33 +77,7 @@ New Features
Tools:
------
- - h5repack added an optional verbose value for reporting R/W timing.
-
- In addition to adding timing capture around the read/write calls in
- h5repack, added help text to indicate how to show timing for read/write;
- -v N, --verbose=N Verbose mode, print object information.
- N - is an integer greater than 1, 2 displays read/write timing
- (ADB - 2022/04/01)
-
- - Refactored the perform tools and removed depends on test library.
-
- Moved the perf and h5perf tools from tools/test/perform to
- tools/src/h5perf so that they can be installed. This required
- that the test library dependency be removed by copying the
- needed functions from h5test.c.
- The standalone scripts and other perform tools remain in the
- tools/test/perform folder.
-
- (ADB - 2021/08/10)
-
- - Removed partial long exceptions
-
- Some of the tools accepted shortened versions of the long options
- (ex: --datas instead of --dataset). These were implemented inconsistently,
- are difficult to maintain, and occasionally block useful long option
- names. These partial long options have been removed from all the tools.
-
- (DER - 2021/08/03)
+ -
Support for new platforms, languages and compilers
@@ -261,159 +89,7 @@ Bug Fixes since HDF5-1.12.1 release
===================================
Library
-------
- - Fixed a metadata cache bug when resizing a pinned/protected cache entry
-
- When resizing a pinned/protected cache entry, the metadata
- cache code previously would wait until after resizing the
- entry to attempt to log the newly-dirtied entry. This would
- cause H5C_resize_entry to mark the entry as dirty and make
- H5AC_resize_entry think that it doesn't need to add the
- newly-dirtied entry to the dirty entries skiplist.
-
- Thus, a subsequent H5AC__log_moved_entry would think it
- needs to allocate a new entry for insertion into the dirty
- entry skip list, since the entry doesn't exist on that list.
- This causes an assertion failure, as the code to allocate a
- new entry assumes that the entry is not dirty.
-
- (JRM - 2022/02/28)
-
- - Issue #1436 identified a problem with the H5_VERS_RELEASE check in the
- H5check_version function.
-
- Investigating the original fix, #812, we discovered some inconsistencies
- with a new block added to check H5_VERS_RELEASE for incompatibilities.
- This new block was not using the new warning text dealing with the
- H5_VERS_RELEASE check and would cause the warning to be duplicated.
-
- By removing the H5_VERS_RELEASE argument in the first check for
- H5_VERS_MAJOR and H5_VERS_MINOR, the second check would only check
- the H5_VERS_RELEASE for incompatible release versions. This adheres
- to the statement that except for the develop branch, all release versions
- in a major.minor maintenance branch should be compatible. The prerequisite
- is that an application will not use any APIs not present in all release versions.
-
- (ADB - 2022/03/11, #1438)
-
- - Unified handling of collective metadata reads to correctly fix old bugs
-
- Due to MPI-related issues occurring in HDF5 from mismanagement of the
- status of collective metadata reads, they were forced to be disabled
- during chunked dataset raw data I/O in the HDF5 1.10.5 release. This
- wouldn't generally have affected application performance because HDF5
- already disables collective metadata reads during chunk lookup, since
- it is generally unlikely that the same chunks will be read by all MPI
- ranks in the I/O operation. However, this was only a partial solution
- that wasn't granular enough.
-
- This change now unifies the handling of the file-global flag and the
- API context-level flag for collective metadata reads in order to
- simplify querying of the true status of collective metadata reads. Thus,
- collective metadata reads are once again enabled for chunked dataset
- raw data I/O, but manually controlled at places where some processing
- occurs on MPI rank 0 only and would cause issues when collective
- metadata reads are enabled.
-
- (JTH - 2021/11/16, HDFFV-10501/HDFFV-10562)
-
- - Fixed several potential MPI deadlocks in library failure conditions
-
- In the parallel library, there were several places where MPI rank 0
- could end up skipping past collective MPI operations when some failure
- occurs in rank 0-specific processing. This would lead to deadlocks
- where rank 0 completes an operation while other ranks wait in the
- collective operation. These places have been rewritten to have rank 0
- push an error and try to cleanup after the failure, then continue to
- participate in the collective operation to the best of its ability.
-
- (JTH - 2021/11/09)
-
- - Fixed an issue with collective metadata reads being permanently disabled
- after a dataset chunk lookup operation. This would usually cause a
- mismatched MPI_Bcast and MPI_ERR_TRUNCATE issue in the library for
- simple cases of H5Dcreate() -> H5Dwrite() -> H5Dcreate().
-
- (JTH - 2021/11/08, HDFFV-11090)
-
- - Fixed a segmentation fault
-
- A segmentation fault occurred with a Mathworks corrupted file.
-
- A detection of accessing a null pointer was added to prevent the problem.
-
- (BMR - 2021/10/14, HDFFV-11150)
-
- - Detection of simple data transform function "x"
-
- In the case of the simple data transform function "x" the (parallel)
- library recognizes this is the same as not applying this data transform
- function. This improves the I/O performance. In the case of the parallel
- library, it also avoids breaking to independent I/O, which makes it
- possible to apply a filter when writing or reading data to or from
- the HDF5 file.
-
- (JWSB - 2021/09/13)
-
- - Fixed an invalid read and memory leak when parsing corrupt file space
- info messages
-
- When the corrupt file from CVE-2020-10810 was parsed by the library,
- the code that imports the version 0 file space info object header
- message to the version 1 struct could read past the buffer read from
- the disk, causing an invalid memory read. Not catching this error would
- cause downstream errors that eventually resulted in a previously
- allocated buffer to be unfreed when the library shut down. In builds
- where the free lists are in use, this could result in an infinite loop
- and SIGABRT when the library shuts down.
-
- We now track the buffer size and raise an error on attempts to read
- past the end of it.
-
- (DER - 2021/08/12, HDFFV-11053)
-
- - Fixed a segmentation fault
-
- A segmentation fault occurred with a Mathworks corrupted file.
-
- A detection of accessing a null pointer was added to prevent the problem.
-
- (BMR - 2021/02/19, HDFFV-11150)
-
- - H5Pset_fapl_log() no longer crashes when passed an invalid fapl ID
-
- When passed an invalid fapl ID, H5Pset_fapl_log() would usually
- segfault when attempting to free an uninitialized pointer in the error
- handling code. This behavior is more common in release builds or
- when the memory sanitization checks were not selected as a build
- option.
-
- The pointer is now correctly initialized and the API call now
- produces a normal HDF5 error when fed an invalid fapl ID.
-
- (DER - 2021/04/28, HDFFV-11240)
-
- - Fixes a segfault when H5Pset_mdc_log_options() is called multiple times
-
- The call incorrectly attempts to free an internal copy of the previous
- log location string, which causes a segfault. This only happens
- when the call is invoked multiple times on the same property list.
- On the first call to a given fapl, the log location is set to NULL so
- the segfault does not occur.
-
- The string is now handled properly and the segfault no longer occurs.
-
- (DER - 2021/04/27, HDFFV-11239)
-
- - Fixed CVE-2018-17432
-
- The tool h5repack produced a segfault on a corrupted file which had
- invalid rank for scalar or NULL datatype.
-
- The problem was fixed in HDF5 1.12.1 by modifying the dataspace encode
- and decode functions to detect and report invalid rank. h5repack now
- fails with an error message for the corrupted file.
-
- (BMR - 2020/10/26, HDFFV-10590)
+ -
Java Library
@@ -423,57 +99,7 @@ Bug Fixes since HDF5-1.12.1 release
Configuration
-------------
- - Reworked corrected path searched by CMake find_package command
-
- The install path for cmake find_package files had been changed to use
- "share/cmake"
- for all platforms. However setting the HDF5_ROOT variable failed to locate
- the configuration files. The build variable HDF5_INSTALL_CMAKE_DIR is now
- set to the <INSTALL_DIR>/cmake folder. The location of the configuration
- files can still be specified by the "HDF5_DIR" variable.
-
- (ADB - 2022/03/11)
-
- - Corrected path searched by CMake find_package command
-
- The install path for cmake find_package files had been changed to use
- "share/cmake"
- for all platforms. However the trailing "hdf5" directory was not removed.
- This "hdf5" additional directory has been removed.
-
- (ADB - 2021/09/27)
-
- - Corrected pkg-config compile script
-
- It was discovered that the position of the "$@" argument for the command
- in the compile script may fail on some platforms and configurations. The
- position of the "$@"command argument was moved before the pkg-config sub command.
-
- (ADB - 2021/08/30)
-
- - Fixed CMake C++ compiler flags
-
- A recent refactoring of the C++ configure files accidentally removed the
- file that executed the enable_language command for C++ needed by the
- HDFCXXCompilerFlags.cmake file. Also updated the intel warnings files,
- including adding support for windows platforms.
-
- (ADB - 2021/08/10)
-
- - Better support for libaec (open-source Szip library) in CMake
-
- Implemented better support for libaec 1.0.5 (or later) library. This version
- of libaec contains improvements for better integration with HDF5. Furthermore,
- the variable USE_LIBAEC_STATIC has been introduced to allow to make use of
- static version of libaec library. Use libaec_DIR or libaec_ROOT to set
- the location in which libaec can be found.
-
- Be aware, the Szip library of libaec 1.0.4 depends on another library within
- libaec library. This dependency is not specified in the current CMake
- configuration which means that one can not use the static Szip library of
- libaec 1.0.4 when building HDF5. This has been resolved in libaec 1.0.5.
-
- (JWSB - 2021/06/22)
+ -
Fortran API
@@ -483,11 +109,7 @@ Bug Fixes since HDF5-1.12.1 release
High-Level Library
------------------
- - Fixed HL_test_packet, test for packet table vlen of vlen.
-
- Incorrect length assignment.
-
- (ADB - 2021/10/14)
+ -
Fortran High-Level APIs