Releases: HDFGroup/hdf5
HDF5 Release 2.0.0
🔆 Executive Summary: HDF5 Version 2.0.0
Performance Enhancements:
- Up to 2500% faster Virtual Dataset read/write operations
- 30% faster opening and 25% faster closing of virtual datasets.
- Reduced memory overhead via shared name strings and optimized spatial search algorithms for virtual datasets.
Significant Advancements:
- Full UTF-8 filename support on Windows, resolving encoding issues from previous versions.
- Introduction of bfloat16 predefined datatypes for efficient machine learning conversions.
- First-class support for complex numbers, eliminating manual workarounds in scientific applications.
- A new, larger chunk size limit, in multi-petabytes, replaces the previous 4 GiB limit.
Updated Foundation:
- New file format version (4.0) and compliance with the C11 standard.
- Adopted semantic versioning to clearly convey changes between versions.
Important
- Transitioned to CMake-only builds, and Autotools is no longer in use.
- Renamed library state variables, notably
HDF5_ENABLE_PARALLELis nowHDF5_PROVIDES_PARALLEL, see PR #5716 for more details. - The default setting for
H5Fset_libver_boundshas been updated to set the lower bound to the HDF5 library version 1.8. This change ensures that users can take advantage of the library's optimal performance and the latest features by default. If users need their files to be compatible with older versions of the HDF5 library, they will need to adjust this lower bound manually.
Enhanced Features:
- Improved ROS3 VFD capabilities using the aws-c-s3 library.
Java Enhancements:
- Java FFM bindings generated for the C library if Java 25+ available and JNI option is FALSE.
- Enhanced Maven artifact deployment with comprehensive multi-platform support (Linux, Windows, macOS x86_64, macOS aarch64).
- Complete Java examples Maven integration (
org.hdfgroup:hdf5-java-examples) with cross-platform CI/CD testing.
Acknowledgements:
We would like to thank the many HDF5 community members who contributed to HDF5 2.0.
HDF5 Release hdf5_2.0.0
🔆 Executive Summary: HDF5 Version 2.0.0
Performance Enhancements:
- Up to 2500% faster Virtual Dataset read/write operations
- 30% faster opening and 25% faster closing of virtual datasets.
- Reduced memory overhead via shared name strings and optimized spatial search algorithms for virtual datasets.
Significant Advancements:
- Full UTF-8 filename support on Windows, resolving encoding issues from previous versions.
- Introduction of bfloat16 predefined datatypes for efficient machine learning conversions.
- First-class support for complex numbers, eliminating manual workarounds in scientific applications.
- A new, larger chunk size limit, in multi-petabytes, replaces the previous 4 GiB limit.
Updated Foundation:
- New file format version (4.0) and compliance with the C11 standard.
- Adopted semantic versioning to clearly convey changes between versions.
Important
- Transitioned to CMake-only builds, and Autotools is no longer in use.
- Renamed library state variables, notably
HDF5_ENABLE_PARALLELis nowHDF5_PROVIDES_PARALLEL, see PR #5716 for more details. - The default setting for
H5Fset_libver_boundshas been updated to set the lower bound to the HDF5 library version 1.8. This change ensures that users can take advantage of the library's optimal performance and the latest features by default. If users need their files to be compatible with older versions of the HDF5 library, they will need to adjust this lower bound manually.
Enhanced Features:
- Improved ROS3 VFD capabilities using the aws-c-s3 library.
Java Enhancements:
- Java FFM bindings generated for the C library if Java 25+ available and JNI option is FALSE.
- Enhanced Maven artifact deployment with comprehensive multi-platform support (Linux, Windows, macOS x86_64, macOS aarch64).
- Complete Java examples Maven integration (
org.hdfgroup:hdf5-java-examples) with cross-platform CI/CD testing.
Acknowledgements:
We would like to thank the many HDF5 community members who contributed to HDF5 2.0.
HDF5 Release 1.14.6
HDF5 version 1.14.6 released on 2025-02-05
This is a maintenance release with a few changes and updates:
-
Reverted a change to the library's handling of UTF-8 file names. A change was
made in the HDF5 1.14.4 release to address some issues with the library's
handling of code pages and file paths on Windows. This change introduced
other issues with handling UTF-8 file names that caused breakage for software
using the 1.14.4 and 1.14.5 releases of HDF5.The change has been reverted for this release and will be addressed
differently in a future release.If you use 1.14.4 or 1.14.5 and are happy with how UTF-8 file names are
handled in those versions, do not update to 1.14.6. -
Updated CMake find_package(ZLIB) defaults to find most system zlib installs.
Please see the full release notes for detailed information regarding this release,
including a detailed list of changes.
HDF5 Release 1.14.5
HDF5 version 1.14.5 released on 2024-09-30
This is a maintenance release with a few changes and updates:
-
The release process now provides signed Windows and Mac installation binaries
in addition to the Debian and rpm installation binaries. The Mac binaries are
built as universal binaries on an ARM-based Mac. -
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.
Please see the full release notes for detailed information regarding this release,
including a detailed list of changes.
HDF5 Release 1.14.4.3
HDF5 version 1.14.4-3 released on 2024-05-22
This is a maintenance release with a few changes and updates:
-
Fixed a leak of datatype IDs created internally during datatype conversion
Fixes h5py GitHub h5py/h5py#2419
-
Added support for _Float16 16-bit floating-point datatype
Support for the 16-bit floating-point _Float16 C type has been added to
HDF5. On platforms where this type is available, this can enable more
efficient storage of floating-point data when an application doesn't
need the precision of larger floating-point datatypes. It can also allow
for improved performance when converting between 16-bit floating-point
data and data of another HDF5 datatype. -
Improved type conversion performance
As a part of the _Float16 work, the type conversion code was overhauled,
which has improved the performance of type conversion code. The speedup
varies depending on the datatypes involved, but can be upwards of 10x
for compound types and 100x when converting floats to integers where the
library doesn't have a fast conversion path available from the compiler. -
Added improvements for cloud-optimized HDF5
As a part of our continued push to improve access to HDF5 files stored in the
cloud, we've added a few things to make working with cloudy HDF5 files more
efficient:-
Page buffering setup is now more tolerant of being used with HDF5 files
that did not use paged storage. This avoids having to open/close/re-open
the file to determine appropriate page buffering settings. -
Added support for temporary credentials with the read-only S3 VFD
-
-
Added build system improvements
We are always working to ensure that HDF5 can be built on a wide variety of
systems with the latest compilers. In this release, we've incorporated some
improvements, including:- Further improvements to cross-compiling
- Support for the new standards-compliant MSVC preprocessor
- Better support for Cygwin and MinGW, particularly with the Autotools
- Many other build system tweaks
If you have a system that has problems building HDF5, please let us know on
the HDF Group Forum (https://forum.hdfgroup.org/) -
Fixed many CVE issues
Many soon-to-be-reported CVE issues were fixed in this release. These are
similar to previously reported CVE issues in that they involve file parsing
errors that generally result in a segfault. They are usually rated as
medium severity by NIST. These issues do not have official CVE numbers yet.With these fixes, HDF5 will once again be CVE-free.
-
The release tag in GitHub will be hdf5_1.14.4.3
We used to use tags with names like hdf5-1_14_3, but we've been informed
that dashes are forbidden in version strings by many package management
schemes. If a patch release is necessary, we'll simply append another
dot and number - e.g. hdf5_1.14.4.3 (instead of our previous hdf5-1_14_4-3). -
Many other improvements and bugfixes!
Please see the full release notes for detailed information regarding this
release, including a detailed list of changes.
HDF5 Release 1.14.4.2
HDF5 version 1.14.4-2 released on 2024-04-15
This is a maintenance release with a few changes and updates:
-
Added support for _Float16 16-bit floating-point datatype
Support for the 16-bit floating-point _Float16 C type has been added to
HDF5. On platforms where this type is available, this can enable more
efficient storage of floating-point data when an application doesn't
need the precision of larger floating-point datatypes. It can also allow
for improved performance when converting between 16-bit floating-point
data and data of another HDF5 datatype. -
Improved type conversion performance
As a part of the _Float16 work, the type conversion code was overhauled,
which has improved the performance of type conversion code. The speedup
varies depending on the datatypes involved, but can be upwards of 10x
for compound types and 100x when converting floats to integers where the
library doesn't have a fast conversion path available from the compiler. -
Added improvements for cloud-optimized HDF5
As a part of our continued push to improve access to HDF5 files stored in the
cloud, we've added a few things to make working with cloudy HDF5 files more
efficient:-
Page buffering setup is now more tolerant of being used with HDF5 files
that did not use paged storage. This avoids having to open/close/re-open
the file to determine appropriate page buffering settings. -
Added support for temporary credentials with the read-only S3 VFD
-
-
Added build system improvements
We are always working to ensure that HDF5 can be built on a wide variety of
systems with the latest compilers. In this release, we've incorporated some
improvements, including:- Further improvements to cross-compiling
- Support for the new standards-compliant MSVC preprocessor
- Better support for Cygwin and MinGW, particularly with the Autotools
- Many other build system tweaks
If you have a system that has problems building HDF5, please let us know on
the HDF Group Forum (https://forum.hdfgroup.org/) -
Fixed many CVE issues
Many soon-to-be-reported CVE issues were fixed in this release. These are
similar to previously reported CVE issues in that they involve file parsing
errors that generally result in a segfault. They are usually rated as
medium severity by NIST. These issues do not have official CVE numbers yet.With these fixes, HDF5 will once again be CVE-free.
-
The release tag in GitHub will be hdf5_1.14.4
We used to use tags with names like hdf5-1_14_3, but we've been informed
that dashes are forbidden in version strings by many package management
schemes. If a patch release is necessary, we'll simply append another
dot and number - e.g. hdf5_1.14.4.2 (instead of our previous hdf5-1_14_4-2). -
Many other improvements and bugfixes!
Please see the full release notes for detailed information regarding this
release, including a detailed list of changes.
HDF5 Release snapshot
🔆 Executive Summary: HDF5 Version 2.0.1
Performance Enhancements:
- Up to 2500% faster Virtual Dataset read/write operations
- 30% faster opening and 25% faster closing of virtual datasets.
- Reduced memory overhead via shared name strings and optimized spatial search algorithms for virtual datasets.
Significant Advancements:
- Full UTF-8 filename support on Windows, resolving encoding issues from previous versions.
- Introduction of bfloat16 predefined datatypes for efficient machine learning conversions.
- First-class support for complex numbers, eliminating manual workarounds in scientific applications.
- A new, larger chunk size limit, in multi-petabytes, replaces the previous 4 GiB limit.
Updated Foundation:
- New file format version (4.0) and compliance with the C11 standard.
- Adopted semantic versioning to clearly convey changes between versions.
Important
- Transitioned to CMake-only builds, and Autotools is no longer in use.
- Renamed library state variables, notably
HDF5_ENABLE_PARALLELis nowHDF5_PROVIDES_PARALLEL, see PR #5716 for more details. - The default setting for
H5Fset_libver_boundshas been updated to set the lower bound to the HDF5 library version 1.8. This change ensures that users can take advantage of the library's optimal performance and the latest features by default. If users need their files to be compatible with older versions of the HDF5 library, they will need to adjust this lower bound manually.
Enhanced Features:
- Improved ROS3 VFD capabilities using the aws-c-s3 library.
Java Enhancements:
- Java FFM bindings generated for the C library if Java 25+ available and JNI option is FALSE.
- Enhanced Maven artifact deployment with comprehensive multi-platform support (Linux, Windows, macOS x86_64, macOS aarch64).
- Complete Java examples Maven integration (
org.hdfgroup:hdf5-java-examples) with cross-platform CI/CD testing.
Acknowledgements:
We would like to thank the many HDF5 community members who contributed to HDF5 2.0.