Skip to content
oss-kit
Install

Every release unit uses one version across its tag, manifests, and changelog

Rule
R-CHG-03
Forge scope
GitHub and GitLab

When these disagree, nobody can tell which one describes the artifact users installed, and the changelog stops being a reliable upgrade record. A repository that ships several manifests, one per host or one per package, multiplies the ways they can drift apart.

Observable check

for the newest release of each release unit, its tag, every manifest or generated version source that describes that unit, and its newest changelog entry name the same version. Independently versioned packages in one repository are checked separately and are not forced to share a version.

Where this comes from

No upstream source. This is oss-kit's own position, and the argument for it is below.

Keep a Changelog and SemVer both assume one version per release and neither says what to check when a repository ships several version sources. Observed in this repository: three plugin manifests and the newest changelog heading said 0.2.0 while the newest tag said v0.1.0, and nothing failed. The release-unit wording exists so a monorepo of independently versioned packages is not forced to share one number. Retire this rule if a release tool ever owns every version source in a repository.

Read the whole standard