Skip to content

docs: add canonical name column to registered filter plugins (HDF5 v3)#256

Open
brtnfld wants to merge 1 commit into
HDFGroup:masterfrom
brtnfld:canonical-names-v3
Open

docs: add canonical name column to registered filter plugins (HDF5 v3)#256
brtnfld wants to merge 1 commit into
HDFGroup:masterfrom
brtnfld:canonical-names-v3

Conversation

@brtnfld
Copy link
Copy Markdown
Contributor

@brtnfld brtnfld commented May 15, 2026

Summary

  • Adds a normative Canonical Name column to the registry table, pre-filled with
    proposed names marked (proposed) pending maintainer confirmation.
  • Adds a "Canonical Names (HDF5 v3 / H5Z_class3_t)" section documenting the
    syntactic rules, allocation policy (first-registered-wins), and the
    self-namespacing convention for unregistered plugins.
  • Extends the registration request template and adds an "Updating an existing
    registration for v3" subsection for current maintainers.

Why

HDF5 2.x introduces H5Z_class3_t, which strengthens the contract on
H5Z_class_t::name: in v3 plugins the field is no longer a free-form debug
comment but a stable string identifier used by the new H5Pappend_filter API,
written into the on-disk filter-pipeline message at filter-add time, and shown
by h5dump / h5repack. Today the registry records (id, label, description, contact) but no normative canonical-name string — this PR closes that gap.

Existing plugin builds are unaffected; canonical names only become load-bearing
when a plugin opts into the v3 (H5Z_class3_t) class.

See RFC-HDFG-2026-001 for the full v3 design.

Maintainer confirmation

Tracking issue: #255. Maintainers of currently registered plugins are asked to
👍 or ✏️ the proposed canonical name for their filter ID. Confirmed
rows lose the (proposed) marker in follow-up PRs.

Out of scope

  • Machine-readable form of the registry — tracked at
    HDFGroup/hdf5#6407.
  • Library-side name → ID lookup — separate design.
  • Plugin signing / KeyStore — separate workstream.

Test plan

Introduces the canonical filter name as a normative field in the
registry, in preparation for HDF5 v3 (H5Z_class3_t) plugins where
the H5Z_class_t::name field becomes a load-bearing string identifier
rather than a free-form debug comment.

- Adds a Canonical Name column to the registry table, pre-filled
  with proposed names marked (proposed) pending maintainer
  confirmation.
- Adds a "Canonical Names (HDF5 v3 / H5Z_class3_t)" section
  documenting where the name appears, the syntactic rules
  ([A-Za-z0-9_.-], <=255 bytes, case-sensitive), the
  first-registered-wins allocation policy, and the
  self-namespacing convention for unregistered plugins.
- Extends "How to Register HDF5 Filter Plugin" to request a
  proposed canonical name as part of the submission.
- Adds "Updating an existing registration for v3" with the
  three-step task list for current plugin maintainers.

Existing plugin builds are unaffected; canonical names only become
load-bearing when a plugin opts into H5Z_class3_t.

Maintainer confirmations are tracked in HDFGroup#255.

See RFC-HDFG-2026-001 for the v3 design.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant