Skip to content

Update for 2.2.0 - #6567

Merged
lrknox merged 9 commits into
HDFGroup:hdf5_2_2_0from
bmribler:update_for220
Jul 28, 2026
Merged

Update for 2.2.0#6567
lrknox merged 9 commits into
HDFGroup:hdf5_2_2_0from
bmribler:update_for220

Conversation

@bmribler

Copy link
Copy Markdown
Collaborator

No description provided.

\li chrome – Download file and then run: `gzip -cd <distribution>.tar.gz | tar xvf -`
\li wget –
<div style="margin-left: 2em;">
`wget https://github.com/HDFGroup/hdf5/releases/download/${PACKAGEVERSION}/<distribution>.tar.gz`<br>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is removing https:// necessary?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@gheber So that it won't try to go to the location which is not valid.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This strikes me as an "original," albeit somewhat bizarre, approach. What is the underlying engineering problem?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Do you have other suggestions to avoid reader clicking on an invalid URL?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm still trying to understand the problem we are trying to solve. If we don't want someone to click on a URL, why is there a URL in the first place?

@bmribler bmribler Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Because it is a wget example for user to enter the command

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@gheber See the "Methods to obtain (gz file)" section of https://support.hdfgroup.org/documentation/hdf5/latest/rel_spec_2x.html

@bmribler bmribler Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@gheber Please see my latest attempt on fixing this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Still broken (=not rendering as intended). Prefix the URL with %, i.e.,

...
wget %https://github.com/HDFGroup/hdf5/releases/download/${PACKAGEVERSION}/<distribution>.tar.gz
...

Are you using Claude?

Comment thread docs/doxygen/dox/hdf5_2x.dox Outdated
@brtnfld

brtnfld commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

I really want us to re-examine the version churn we currently have; it just leads to mistakes down the road. As was the case with which previous version the ABI was being compared to for the reports. Case in point, this has 8 hardcoded version strings across two .dox files, and hdf5_2x.dox is already internally inconsistent today, with some lines pointing at hdf5_2.1.1 while other lines still say 2.1.0. The 2.1.1 patch release updated one of eight.

The docs already have the machinery: Doxyfile.in has an empty ALIASES tag and is run through configure_file(... @only) at docs/doxygen/CMakeLists.txt, and CMake already parses the version out of src/H5public.h into HDF5_PACKAGE_VERSION, so the release version is known at configure time, but it just isn't exposed to Doxygen.

Please rework this PR to address this; we want to update the docs for free.

@bmribler
bmribler marked this pull request as ready for review July 28, 2026 03:57
@bmribler

Copy link
Copy Markdown
Collaborator Author

Scot, Larry and I talked and we will work on this in the morning.

@bmribler
bmribler requested a review from mattjala as a code owner July 28, 2026 15:22
Comment thread CMakeLists.txt Outdated
# The previous released version, used for documentation that compares the
# current release against its predecessor (e.g. ABI/API compatibility
# reports). This must be updated by hand alongside each version bump.
set (HDF5_PREVIOUS_VERSION "2.1.1")

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think we're going to need a different solution than this, because there's no good value to set this to when a major version bump happens and it also adds another thing to be manually maintained. Seems like we could simply calculate this at build time by taking the current version, doing something special for the case where both the minor and patch versions are 0 (implying a major version bump) and otherwise subtract one from the patch number if not 0, else subtract one from the minor version if not 0.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@lrknox simplified the PREVIOUS_VER alias for this release, but that will need to be revisited for more complex solution.

@bmribler bmribler self-assigned this Jul 28, 2026
@lrknox
lrknox merged commit fed699f into HDFGroup:hdf5_2_2_0 Jul 28, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from To be triaged to Done in HDF5 - TRIAGE & TRACK Jul 28, 2026
@bmribler

bmribler commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

@brtnfld, we reworked the PR to automate the current release.

@brtnfld

brtnfld commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Found two follow-up issues after merge, both around the new \CURRENT_VER/\PREVIOUS_VER aliases:

1. \PREVIOUS_VER is used for two different meanings

In hdf5_2x.dox, sec_rel_spec_2x_migrate still links its three CHANGELOG references through \PREVIOUS_VER:

<a href="https://\SRCURLALL/hdf5_\PREVIOUS_VER/release_docs/CHANGELOG.md">CHANGELOG.md</a>

But that section (H5Dread_chunk(), H5Tdecode(), H5Iregister_type() signature changes, the aws-c-s3 ROS3 backend swap) documents 2.0.0-era changes — confirmed against sw_changes_2.x.dox's "Release 2.0.0 versus Release 1.14.6" section, which lists these exact APIs. \PREVIOUS_VER is 2.1.1, so these links now point at the 2.1.1 CHANGELOG, which doesn't cover this content, and will drift to a new (still wrong) target every future release.

This predates this PR — the link was already hardcoded to 2.1.0 before (also wrong, should've been 2.0.0) — but converting it to \PREVIOUS_VER turns a static mistake into a perpetually-drifting one. Suggest pinning these three links to 2.0.0 explicitly (or a dedicated alias) rather than \PREVIOUS_VER.

2. ABI baseline mismatch between the two files

  • sw_changes_2.x.dox (new, hardcoded): "Compatibility reports for Release 2.2.0 versus Release 2.1.0"
  • hdf5_2x.dox (via alias): "ABI/API Compatibility Reports between 2.2.0 and 2.1.1"

Checked actual release history (gh release list): 2.0.0 → 2.1.0 (Mar 3) → 2.1.1 (Mar 23, latest) → 2.2.0. The real predecessor of 2.2.0 is 2.1.1, so the hdf5_2x.dox line is correct and the sw_changes_2.x.dox line is wrong — it should read 2.1.1 (and the download URL should match whatever the actual ABI tarball was diffed against).

@bmribler

bmribler commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

The reason for the 2.1.0/2.1.1 mess was we did not change all the 2.1.0 occurrences to 2.1.1 when the 2.1.1 was released. There was some complication. We'll work it out.

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

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants