Versioning Patterns

Standards change: as a result versioning is an important part of many standards. This section documents common versioning patterns.

Normative and non-normative content


Some elements of a standards' documentation can be changed without changing what the standard means. Other elements may have consequences that may substantially affect data owners and users - and which should be subject to a governance and review process.


Clearly separate normative and non-normative sections of documentation.

Normative sections contain rules that an implementer of the standard MUST follow.

Non-normative sections contain explanation, guidance and context that MAY be useful to implementers, but is not binding for adoption of the standard.

The IETF use the distinction between normative and informative

Version numbers


Parsers, validators and other tools need to know what version of the schema a particular data file is using.


The package meta-data for any file should include a version field with a version number.


From version 1.1, OCDS included a version field. This must contain only `MAJOR.MINOR' version (not 'MAJOR.MINOR.PATCH')

Release candidate versions


When a new version of a standard is released, and implementers start to use it, small problems are often discovered. These may require changes to the standard, sparking a whole new iteration of the governance process.


Major or minor versions of a standard may be provided as a 'Release Candidate' for a period of time, before, subject to no substantial changes being required, they can then be turned into a release version.

See release candidate (Wikipedia).