Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2025-11-11 The HDF5 Field Guide

- Main Page
- Getting started
- User Guide
- Reference Manual
- Cookbook
- Technical Notes
- RFCs
- Specifications
- Glossary
- Full-Text Search
- About

Loading...
Searching...
No Matches
Release Specific Information for HDF5 2.0

Navigate back: Main / Release Specific Information

# HDF5 Library and Tools 2.0

## Release Information

Version | HDF5 2.0
Release Date | 11/10/25
Additional Release Information | Change log
| Migrating from HDF5 1.14 to HDF5 2.0
| Software Changes from Release to Release in HDF5 2.0
| New Features in HDF5 Release 2.0
| Newsletter Announcement
| API Compatibility Reports between 2.0 and 1.14.6
| Doxygen generated Reference Manual

## Downloads

Source code and binaries are available at: https://support.hdfgroup.org/releases/hdf5/v2_0/v2_0_0/downloads/index.html

Please refer to Build instructions for building with either CMake or Autotools.

## Methods to obtain (gz file)

- firefox – Download file and then run: `gzip <distribution>.tar.gz | tar xzf -`
- chrome – Download file and then run: `gzip -cd <distribution>.tar.gz | tar xvf -`
- wget –
  `wget https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.N.N/<distribution>.tar.gz`
  `gzip -cd <distribution>.tar.gz | tar xvf -`

## Individual API Compatibility Reports

hdf5-2.0-hdf5_compat_report.html – HTML C library ABI report file

hdf5-2.0-hdf5_cpp_compat_report.html – HTML CPP library ABI report file

hdf5-2.0-hdf5_hl_compat_report.html – HTML HL C library ABI report file

hdf5-2.0-java_compat_report.html – HTML Java library ABI report file

## Doxygen Generated Reference Manual

The new HDF5 documentation based on Doxygen is available here

This documentation is WORK-IN-PROGRESS.

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, and pull requests will be reviewed and accepted as any other code changes.

# Migrating from HDF5 1.14 to HDF5 2.0

This section highlights some changes that might affect migrating to HDF5.20, please refer to the Software Changes from Release to Release in HDF5 2.0 or the Change log for detail.

- Default file format is now 1.8
- The file format has been updated to 4.0
- API signature changes
  - `H5Dread_chunk()`
  - `H5Tdecode()`
  - `H5Iregister_type()`
- A new backend based on the aws-c-s3 library replaced the ROS3 VFD's S3 backend based on libcurl. The ROS3 VFD now requires the `aws-c-s3` library in order to be built. See the Change log for a complete description on this feature.
- Significance in tools
  - The tool h5dump has a new option `--lformat` and its `XML` option is deprecated.
  - The high-level GIF tools, `h52gif` and `gif2h5` have been removed. We may move them to a separate repository in the future. See Change log for an explanation.

# New Features in HDF5 Release 2.0

This section includes the new features introduced in the HDF5 2.0 series:

- Support for Complex number datatypes
  Support for the C99 `float _Complex`, `double _Complex` and `long double _Complex` (with MSVC, `_Fcomplex`, `_Dcomplex` and `_Lcomplex`) types has been added for platforms/compilers that support them. These types have been implemented with a new datatype class, `H5T_COMPLEX`. Note that any datatypes of class H5T_COMPLEX will not be readable with previous versions of HDF5. If a file is accessed with a library version bounds "high" setting less than `H5F_LIBVER_V200`, an error will occur if the application tries to create an object with a complex number datatype. If compatibility with previous versions of HDF5 is desired, applications should instead consider adopting one of the existing conventions.

- An AWS endpoint command option
  The new option is `--endpoint-url`, which allows the user to set an alternate endpoint URL other than the standard "protocol://service-code.region-code.amazonaws.com". If `--endpoint-url` is not specified, the ROS3 VFD will first check the `AWS_ENDPOINT_URL_S3` and `AWS_ENDPOINT_URL` environment variables for an alternate endpoint URL before using a default one, with the region-code being supplied by the FAPL or standard AWS locations/environment variables.
  This option is supported by the following tools: `h5dump`, `h5ls`, `h5stat`

- Specifying ROS3 VFD on the command line is not required when using S3 URI
  This feature applies to the following tools: `h5dump`, `h5ls`, `h5stat`.

- Performance improvement in opening a virtual dataset with many mappings
  When opening a virtual dataset, the library would previously decode the mappings in the object header package, then copy them to the dataset struct, then copy them to the internal dataset creation property list. Copying the VDS mappings could be very expensive if there were many mappings. Changed this to delay decoding the mappings until the dataset code, and delay copying the layout to the DCPL until it is needed. This results in only the decoding and no copies in most use cases, as opposed to the decoding and two copies with the previous code.

- Support for chunks larger than 4 GiB using 64 bit addressing.

- New predefined datatypes for FP8 data in E4M3 and E5M2 formats (https://arxiv.org/abs/2209.05433), but not a native FP8 datatype. Please refer to the CHANGELOG for detail.

- Default chunk cache hash table size increased to 8191
  In order to reduce hash collisions and take advantage of modern memory capacity, the default hash table size for the chunk cache has been increased from 521 to 8191. This means the hash table will consume approximately 64 KiB per open dataset. This value can be changed with `H5Pset_cache()` or `H5Pset_chunk_cache()`. This value was chosen because it is a prime number close to 8K.

Software Changes from Release to Release in HDF5 2.0

Navigate back: Main / Release Specific Information