Skip to content

Commit

Permalink
Updated support branch version number to 1.14.6-1. (#4837)
Browse files Browse the repository at this point in the history
* Cleaned out release notes for 1.14.5 release.
  • Loading branch information
lrknox authored Sep 16, 2024
1 parent 7a285f2 commit 9b2d757
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 222 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HDF5 version 1.14.5-1 currently under development
HDF5 version 1.14.6-1 currently under development

![HDF5 Logo](doxygen/img/HDF5.png)

Expand Down
2 changes: 1 addition & 1 deletion config/cmake/scripts/HDF5config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ cmake_minimum_required (VERSION 3.18)
# CTEST_SOURCE_NAME - source folder
##############################################################################

set (CTEST_SOURCE_VERSION "1.14.5")
set (CTEST_SOURCE_VERSION "1.14.6")
set (CTEST_SOURCE_VERSEXT "-1")

##############################################################################
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ AC_PREREQ([2.71])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
AC_INIT([HDF5], [1.14.5-1], [[email protected]])
AC_INIT([HDF5], [1.14.6-1], [[email protected]])

AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADERS([src/H5config.h])
Expand Down
4 changes: 2 additions & 2 deletions java/src/hdf/hdf5lib/H5.java
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@
* which prints out the HDF5 error stack, as described in the HDF5 C API <i><b>@ref H5Eprint()</b>.</i> This
* may be used by Java exception handlers to print out the HDF5 error stack. <hr>
*
* @version HDF5 1.14.5 <BR>
* @version HDF5 1.14.6 <BR>
* <b>See also: </b>
* @ref HDFARRAY hdf.hdf5lib.HDFArray<br />
* @ref HDF5CONST hdf.hdf5lib.HDF5Constants<br />
Expand Down Expand Up @@ -273,7 +273,7 @@ public class H5 implements java.io.Serializable {
* </ul>
* Make sure to update the versions number when a different library is used.
*/
public final static int LIB_VERSION[] = {1, 14, 5};
public final static int LIB_VERSION[] = {1, 14, 6};

/**
* @ingroup JH5
Expand Down
4 changes: 2 additions & 2 deletions java/test/TestH5.java
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ public void testH5set_free_list_limits()
@Test
public void testH5get_libversion()
{
int libversion[] = {1, 14, 5};
int libversion[] = {1, 14, 6};

try {
H5.H5get_libversion(libversion);
Expand Down Expand Up @@ -354,7 +354,7 @@ public void testH5get_libversion_null_param()
@Test
public void testH5check_version()
{
int majnum = 1, minnum = 14, relnum = 5;
int majnum = 1, minnum = 14, relnum = 6;

try {
H5.H5check_version(majnum, minnum, relnum);
Expand Down
2 changes: 1 addition & 1 deletion release_docs/NEWSLETTER.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HDF5 version 1.14.5-1 currently under development
HDF5 version 1.14.6-1 currently under development

Features included for the next major release:
----------------------------------------------------------------------------
Expand Down
212 changes: 8 additions & 204 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HDF5 version 1.14.5-1 currently under development
HDF5 version 1.14.6-1 currently under development
================================================================================


Expand Down Expand Up @@ -47,62 +47,12 @@ New Features

Configuration:
-------------
- Added signed Windows msi binary and signed Apple dmg binary files.

The release process now provides signed Windows and Apple installation
binaries in addition to the debian and rpm installation binaries. Also
these installer files are no longer compressed into packaged archives.

- Moved examples to the HDF5Examples folder in the source tree.

Moved the C++ and Fortran examples from the examples folder to the HDF5Examples
folder and renamed to TUTR, tutorial. This is referenced from the LearnBasics
doxygen page.

- Added support for using zlib-ng package as the zlib library:

CMake: HDF5_USE_ZLIB_NG
Autotools: --enable-zlibng

Added the option HDF5_USE_ZLIB_NG to allow the replacement of the
default ZLib package by the zlib-ng package as a built-in compression library.

- Disable CMake UNITY_BUILD for hdf5

CMake added a target property, UNITY_BUILD, that when set to true, the target
source files will be combined into batches for faster compilation. By default,
the setting is OFF, but could be enabled by a project that includes HDF5 as a subproject.

HDF5 has disabled this feature by setting the property to OFF in the HDFMacros.cmake file.

- Removed "function/code stack" debugging configuration option:

CMake: HDF5_ENABLE_CODESTACK
Autotools: --enable-codestack

This was used to debug memory leaks internal to the library, but has been
broken for >1.5 years and is now easily replaced with third-party tools
(e.g. libbacktrace: https://github.com/ianlancetaylor/libbacktrace) on an
as-needed basis when debugging an issue.

- Added configure options for enabling/disabling non-standard programming
language features

- Added the CMake variable HDF5_ENABLE_ROS3_VFD to the HDF5 CMake config
file hdf5-config.cmake. This allows to easily detect if the library
has been built with or without read-only S3 functionality.
-


Library:
--------
- Added new routines for interacting with error stacks: H5Epause_stack,
H5Eresume_stack, and H5Eis_paused. These routines can be used to
indicate that errors from a call to an HDF5 routine should not be
pushed on to an error stack. Primarily targeted toward 3rd-party
developers of Virtual File Drivirs (VFDs) and Virtual Object Layer (VOL)
connectors, these routines allow developers to perform "speculative"
operations (such as trying to open a file or object) without requiring
that the error stack be cleared after a speculative operation fails.
-


Parallel Library:
Expand All @@ -113,11 +63,7 @@ New Features
Fortran Library:
----------------

- Add Fortran H5R APIs:
h5rcreate_attr_f, h5rcreate_object_f, h5rcreate_region_f,
h5ropen_attr_f, h5ropen_object_f, h5ropen_region_f,
h5rget_file_name_f, h5rget_attr_name_f, h5rget_obj_name_f,
h5rcopy_f, h5requal_f, h5rdestroy_f, h5rget_type_f
-


C++ Library:
Expand All @@ -132,22 +78,7 @@ New Features

Tools:
------
- Add doxygen files for the tools

Implement the tools usage text as pages in doxygen.

- Add option to adjust the page buffer size in tools

The page buffer cache size for a file can now be adjusted using the
--page-buffer-size=N
option in the h5repack, h5diff, h5dump, h5ls, and h5stat tools. This
will call the H5Pset_page_buffer_size() API function with the specified
size in bytes.

- Allow h5repack to reserve space for a user block without a file

This is useful for users who want to reserve space
in the file for future use without requiring a file to copy.
-


High-Level APIs:
Expand Down Expand Up @@ -179,61 +110,7 @@ Bug Fixes since HDF5-1.14.4 release
===================================
Library
-------
- Fixed a bug in the Subfiling VFD that could cause a buffer over-read
and memory allocation failures

When performing vector I/O with the Subfiling VFD, making use of the
vector I/O size extension functionality could cause the VFD to read
past the end of the "I/O sizes" array that is passed in. When an entry
in the "I/O sizes" array has the value 0 and that entry is at an array
index greater than 0, this signifies that the value in the preceding
array entry should be used for the rest of the I/O vectors, effectively
extending the last valid I/O size across the remaining entries. This
allows an application to save a bit on memory by passing in a smaller
"I/O sizes" array. The Subfiling VFD didn't implement a check for this
functionality in the portion of the code that generates I/O vectors,
causing it to read past the end of the "I/O sizes" array when it was
shorter than expected. This could also result in memory allocation
failures, as the nearby memory allocations are based off the values
read from that array, which could be uninitialized.

- Fixed H5Rget_attr_name to return the length of the attribute's name
without the null terminator

H5Rget_file_name and H5Rget_obj_name both return the name's length
without the null terminator. H5Rget_attr_name now behaves consistently
with the other two APIs. Going forward, all the get character string
APIs in HDF5 will be modified/written in this manner, regarding the
length of a character string.

- Fixed library to allow usage of page buffering feature for serial file
access with parallel builds of HDF5

When HDF5 is built with parallel support enabled, the library would previously
disallow any usage of page buffering, even if a file was not opened with
parallel access. The library now allows usage of page buffering for serial
file access with parallel builds of HDF5. Usage of page buffering is still
disabled for any form of parallel file access, even if only 1 MPI process
is used.

- Fixed function H5Requal actually to compare the reference pointers

Fixed an issue with H5Requal always returning true because the
function was only comparing the ref2_ptr to itself.

- Fixed infinite loop closing library issue when h5dump with a user provided test file

The library's metadata cache calls the "get_final_load_size" client callback
to find out the actual size of the object header. As the size obtained
exceeds the file's EOA, it throws an error but the object header structure
allocated through the client callback is not freed hence causing the
issue described.

(1) Free the structure allocated in the object header client callback after
saving the needed information in udata. (2) Deserialize the object header
prefix in the object header's "deserialize" callback regardless.

Fixes GitHub #3790
-


Java Library
Expand All @@ -243,85 +120,12 @@ Bug Fixes since HDF5-1.14.4 release

Configuration
-------------
- Fixed usage issue with FindZLIB.cmake module

When building HDF5 with CMake and relying on the FindZLIB.cmake module,
the Find module would correctly find the ZLIB library but not set an OUTPUT_NAME
on the target. Also, the target returned, ZLIB::ZLIB, was not in the ZLIB_LIBRARIES
variable. This caused issues when requesting the OUTPUT_NAME of the target in
the pkg-config settings.

Similar to HDF5_USE_LIBAEC_STATIC, "Find static AEC library", option, we added
a new option, HDF5_USE_ZLIB_STATIC, "Find static zlib library". These options
allow a user to specify whether to use a static or shared version of the compression
library in a find_package call.

- Corrected usage of FetchContent in the HDFLibMacros.cmake file.

CMake version 3.30 changed the behavior of the FetchContent module to deprecate
the use of FetchContent_Populate() in favor of FetchContent_MakeAvailable(). Therefore,
the copying of HDF specialized CMakeLists.txt files to the dependent project's source
was implemented in the FetchContent_Declare() call.

- Fixed/reverted an Autotools configure hack that causes problems on MacOS

A sed line in configure.ac was added in the past to paper over some
problems with older versions of the Autotools that would add incorrect
linker flags. This used the -i option in a way that caused silent
errors on MacOS that did not break the build.

The original fix for this problem (in 1.14.4) removed the sed line
entirely, but it turns out that the sed cleanup is still necessary
on some systems, where empty -l options will be added to the libtool
script.

This sed line has been restored and reworked to not use -i.

Fixes GitHub issues #3843 and #4448

- Fixed a list index out of range issue in the runTest.cmake file

Fixed an issue in config/cmake/runTest.cmake where the CMake logic
would try to access an invalid list index if the number of lines in
a test's output and reference files don't match

- Fix Autotools -Werror cleanup

The Autotools temporarily scrub -Werror(=whatever) from CFLAGS, etc.
so configure checks don't trip over warnings generated by configure
check programs. The sed line originally only scrubbed -Werror but not
-Werror=something, which would cause errors when the '=something' was
left behind in CFLAGS.

The sed line has been updated to handle -Werror=something lines.

Fixes one issue raised in #3872

- Changed default of 'Error on HDF5 doxygen warnings' DOXYGEN_WARN_AS_ERROR option.

The default setting of DOXYGEN_WARN_AS_ERROR to 'FAIL_ON_WARNINGS' has been changed
to 'NO'. It was decided that the setting was too aggressive and should be a user choice.
The github actions and scripts have been updated to reflect this.

* HDF5_ENABLE_DOXY_WARNINGS: ON/OFF (Default: OFF)
* --enable-doxygen-errors: enable/disable (Default: disable)
-


Tools
-----
- Fixed several issues in ph5diff

The parallel logic for the ph5diff tool inside the shared h5diff code was
refactored and cleaned up to fix several issues with the ph5diff tool. This
fixed:

- several concurrency issues in ph5diff that can result in interleaved
output
- an issue where output can sometimes be dropped when it ends up in
ph5diff's output overflow file
- an issue where MPI_Init was called after HDF5 had been initialized,
preventing the library from setting up an MPI communicator attribute
to perform library cleanup on MPI_Finalize
-


Performance
Expand Down
6 changes: 3 additions & 3 deletions src/H5public.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,19 +83,19 @@
/**
* For tweaks, bug-fixes, or development
*/
#define H5_VERS_RELEASE 5
#define H5_VERS_RELEASE 6
/**
* For pre-releases like \c snap0. Empty string for official releases.
*/
#define H5_VERS_SUBRELEASE "1"
/**
* Short version string
*/
#define H5_VERS_STR "1.14.5-1"
#define H5_VERS_STR "1.14.6-1"
/**
* Full version string
*/
#define H5_VERS_INFO "HDF5 library version: 1.14.5-1"
#define H5_VERS_INFO "HDF5 library version: 1.14.6-1"

#define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)

Expand Down
Loading

0 comments on commit 9b2d757

Please sign in to comment.