h5cube File Specifications

This page collates all existing versions of the h5cube file specification for convenient access. The versioning scheme used here follows the spirit of Semantic Versioning: \(\newcommand{mtt}[1]{\texttt{#1}}\)

  • Specification version numbers will be of the form \(\mtt{vx.y.z}\), where \(\mtt x\), \(\mtt{y}\), and \(\mtt{z}\) indicate major, minor, and patch categories of changes. If \(\mtt z\) is not present, it implicitly holds a value of zero.
  • An increment in the patch version level indicates minor editorial fix(es), such as correcting typos or introducing clarification(s) that do not affect the semantic content of the specification.
  • An increment in the minor version level indicates that new field(s) or other semantic content have been added to the specification, but existing fields/content are unchanged.
  • An increment in the major version level indicates that existing field(s)/content have been removed/changed. New field(s)/content may also have been added.

Based upon the above, it is expected that applications built against the specific version \(\mtt{vX.Y.Z}\) should be compatible with the following versions \(\mtt{vx.y.z}\):

  • \(\mtt x = \mtt X\), \(\mtt y = \mtt Y\), \(\mtt z \geq \mtt Z\)
  • \(\mtt x = \mtt X\), \(\mtt y > \mtt Y\), any \(\mtt z\)

Applications may or may not be compatible with versions \(\mtt x > \mtt X\), depending on the particular changes introduced with that major version increment.

Specification Versions