Skip to content

Add HDF5 2.0.0 Library Migration Guide#6183

Open
gheber wants to merge 2 commits intoHDFGroup:developfrom
gheber:enhancement/migration-guide
Open

Add HDF5 2.0.0 Library Migration Guide#6183
gheber wants to merge 2 commits intoHDFGroup:developfrom
gheber:enhancement/migration-guide

Conversation

@gheber
Copy link
Member

@gheber gheber commented Jan 29, 2026

A migration guide for the rest of us.


Important

Adds a detailed migration guide for upgrading to HDF5 2.0.0, focusing on compatibility, upgrade strategies, and debunking myths.

  • Migration Guide:
    • Adds HDF5_Library_2.0.0_Migration_Guide.md detailing the upgrade process to HDF5 2.0.0.
    • Covers file, API, and ABI compatibility, emphasizing the use of API Compatibility Macros.
    • Provides a decision tree and checklists for pre-, during-, and post-upgrade phases.
  • Upgrade Strategies:
    • Recommends "Zero/low code-change" migration as a starting point.
    • Discusses targeted modernization and "New API only" hardening.
  • Examples and Myths:
    • Includes examples for rebuilding applications, handling signature changes, and ensuring backward compatibility.
    • Debunks common myths about HDF5 2.0.0 upgrade impacts.

This description was created by Ellipsis for 9fa3c1f. You can customize this summary. It will automatically update as commits are pushed.


### “Tools output changed”

- `h5dump` added `--lformat` and its XML output mode is deprecated.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does its XML output mode is deprecated mean? XML output still works and doesn't show any deprecation warning or error message:

nene-[12:56am]~/src/hdf5.HDFGroup/build>./bin/h5dump --xml ~/data/h5/ATL15_A2_0\
328_01km_005_01.nc
<?xml version="1.0" encoding="UTF-8"?>
<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/HDF5/XML/schema/HDF5-File.xsd" \
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:\
//hdfgroup.org/HDF5/XML/schema/HDF5-File http://www.hdfgroup.org/HDF5/XML/schem\
a/HDF5-File.xsd">
<hdf5:RootGroup OBJ-XID="xid_48" H5Path="/">
   <hdf5:Attribute Name="Conventions">
      <hdf5:Dataspace>
         <hdf5:ScalarDataspace />
...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/HDFGroup/hdf5/blob/2.0.0/release_docs/CHANGELOG.md

The h5dump XML option is deprecated and will be removed in a future release. The XML output format has not been maintained and is not up-to-date with the latest features of HDF5.


## What HDF5 2.0.0 means (and what it doesn’t)

### “2.0” does not mean “your existing HDF5 files are obsolete”
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use either 2.0 or 2.0.0 consistently throughout the document.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

Copy link
Member

@hyoklee hyoklee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing is done for xml deprecation for 2.0.0 (E.g., forum announcement / H5WG discussion) but it's OK to give a heads up for 2.0.0 users.


### “2.0.0” does mean “expect *some* API/ABI churn”

HDF5 2.0.0 introduces new APIs and behavioral changes, and *some* APIs were removed or had signatures changed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify:

HDF5 2.0.0 introduces new APIs and behavioral changes. While standard user APIs are preserved via compatibility macros, a small set of advanced developer APIs (specifically in the VOL layer) were removed entirely

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component - Documentation Doxygen, markdown, etc.

Projects

Status: To be triaged

Development

Successfully merging this pull request may close these issues.

3 participants