Skip to content

Release checklist

HERMES code, data, examples, and documentation are versioned independently, but a release must state which combinations were validated.

Data release

  • Every file has provenance and compatible redistribution terms.
  • VERSION, components, scientific regressions, and manifest are updated.
  • make all and make dist pass twice with identical archive hashes.
  • The Git tag exactly matches VERSION.
  • Release assets include archives, SHA-256 files, and release-index.json.
  • Existing release assets are never replaced in place.

HERMES release

  • project(... VERSION ...), CITATION.cff, and CHANGELOG.md agree.
  • The default data URL, version, archive name, and SHA-256 agree.
  • Clean GCC, Clang, and macOS builds pass with default optional features.
  • Unit and scientific regression tests pass.
  • The staged CMake consumer and installed Python import pass.
  • The CPack archive installs and resolves its data relative to the library.
  • HDF5/PICARD remains excluded unless explicitly supported again.

Examples and documentation

  • The example smoke test passes against the release candidate.
  • Every CLI responds to --help; quick representative products are valid.
  • Plot labels agree with FITS units and documented conversions.
  • Installation commands and build-option defaults match CMake.
  • Component inventories match the actual Python bindings.
  • zensical build --clean --strict passes.
  • Repository links, release URLs, citations, and data version are current.

Release record

Publish a compact compatibility statement containing:

HERMES:          version and commit
hermes-data:     version and archive SHA-256
hermes-examples: version and commit tested
platforms:       compiler, OS, and Python matrix
known changes:   scientific and file-format effects