Files
hdf5/release_docs
Scot Breitenfeld 853451a3a7 HL: Fix prefix-match bugs in H5TB field lookup and H5DS/H5IM CLASS checks (#6371)
- H5TB: strcmp replaces strncmp in H5TBfind_field so that field names
  that are a prefix of a requested name (or vice-versa) are no longer
  matched. HLTB_MAX_FIELD_LEN (255) is now public in H5TBpublic.h and
  exposed to Fortran as HLTB_MAX_FIELD_LEN_F in H5TBff.F90.
  H5TBget_field_info documents the buffer-size requirement and truncation
  behaviour. H5TBget_field_info guards against overflow on long names.

- H5IM: H5IMis_image and H5IMis_palette refactored into a shared helper
  (H5IM__class_attr_equals). The helper now reads both fixed-length and
  variable-length CLASS string attributes, using H5Treclaim for VL memory.
  strcmp replaces strncmp for exact-match semantics.

- H5DS: H5DSis_scale and H5DS_is_reserved both support variable-length
  CLASS string attributes via H5Aget_space/H5Aread/H5Treclaim. The
  fixed-length path retains the 16-byte size guard. strcmp is used
  throughout for exact comparison.

- Tests: new test functions test_is_scale_class_prefix,
  test_is_reserved_class_prefix, and test_class_prefix cover fixed-length
  prefix/exact/wrong-value cases and variable-length string cases.
  test_table.c adds write and read field-name prefix rejection cases and
  boundary-length truncation verification. All malloc calls are NULL-checked.

- CHANGELOG updated with a summary of all fixes.
2026-05-22 11:28:24 -05:00
..
2026-01-21 23:02:49 -06:00
2024-05-23 16:44:33 -05:00

The release_docs directory

This directory contains release artifacts only: changelogs, version history, release process documentation, and maintainer information.

User-facing guides (installation, build instructions, platform-specific docs) have been moved to the docs/ directory.

Contents

CHANGELOG.md (formerly RELEASE.txt)

This is the changelog for the current version of the library.

For a MAJOR release (or in develop) this file lists all the changes since the last major version. For a MINOR release (or in a maintenance branch), this file lists all the changes since the last release in the maintenance branch.

Examples:

  • The file for HDF5 1.14.0 includes all the changes since HDF5 1.12.0
  • The file for HDF5 1.10.9 includes all the changes since HDF5 1.10.8
  • The file in develop includes all the changes since the last major release
  • The file in hdf5_1_14 includes all the changes since the last minor HDF5 1.14 release

HISTORY files

The HISTORY files contain the history of this branch of HDF5. They fall into three categories.

HISTORY-[VERSION 1]-[VERSION 2].txt

These files are created when we release a new major version and include all the changes that were made to the develop branch while creating a major release.

HISTORY-[VERSION].txt

This file contains the changes that were made to a maintenance branch since it split off from develop. It will also be found in the develop branch when experimental releases have been created.

Note that we make no effort to bring maintenance branch HISTORY files back to develop. If you want to compare, say, 1.10.4 with 1.12.3, you'd have to get the history files from those releases and compare them by hand.

RELEASE_PROCESS.md

Documentation for how releases are created and managed.

MAINTAINERS.md

Maintainer information for the project.

Creating new releases

MAJOR release

  • If there were experimental releases, merge the experimental HISTORY file and the current CHANGELOG.md by category to create a separate, unified file that ignores the experimental releases. Don't check this in yet or clobber any existing HISTORY/RELEASE files, but put it someplace handy for use in later steps.

  • Create the new maintenance branch

In develop:

  • Create the new HISTORY-\[VERSION 1\]-\[VERSION 2\].txt file
    • If there is an experimental HISTORY file, add CHANGELOG.md to the beginning of it and use that
    • Otherwise, start with CHANGELOG.md
    • Add the introduction boilerplate like in the other HISTORY files (TOC, etc.)
  • Delete any experimental HISTORY file
  • Clear out CHANGELOG.md

Note that we're KEEPING any experimental release history information in the HISTORY-\[VERSION 1\]-\[VERSION 2\].txt file, so do NOT use the merged file in the above steps!

In the new maintenance branch:

  • Create the new HISTORY-\[VERSION\].txt file

    • If there is an experimental HISTORY file use the combined file you created earlier
    • Otherwise, start with CHANGELOG.md
    • Add the introduction boilerplate like in the other HISTORY files (TOC, etc.)
  • Delete any experimental HISTORY file

  • Clear out CHANGELOG.md

  • Create the new release branch

In the new release branch:

  • If there were experimental releases, use the combined file you created earlier as CHANGELOG.md
  • Otherwise the CHANGELOG.md will be used as-is

MINOR release

  • Create the release branch

In the maintenance branch:

  • Add the contents of CHANGELOG.md to the beginnnig of HISTORY-\[VERSION\].txt
  • Clear out CHANGELOG.md

EXPERIMENTAL release

  • Add the contents of CHANGELOG.md to the beginnnig of HISTORY-\[VERSION\].txt
  • Clear out CHANGELOG.md