Versioning this repository

What a major, minor and patch release of the standards themselves mean

Id meta-versioning Applies to any Status active Enforceable needs judgement Tags metasemverversioninggovernance

This repository is versioned with semantic versioning, the same as everything else we ship. That is not ceremony: derived lint configs are consumed at pinned versions, so “the standards changed” has to be something a consuming repository can see coming.

What each bump means

Major. A repository that passed before could fail now.

Minor. New material that binds nothing retroactively.

Patch. No change to what any standard requires.

Why majors matter downstream

Ruleset releases are gated on major versions here. A repository pins a version of the derived PHPCS ruleset or ESLint config, so a standards change rolls out as a version bump the repository chooses to take, rather than as a CI failure that appears overnight in twenty repositories at once.

That is the whole reason this repository is versioned at all. If a standards change could silently break everyone’s CI, nobody would let us change the standards.

Release process

Tag on main after the implementing PR merges. The tag is the release; there is no build artifact to publish, since the site deploys from main on every push.

Because the site always tracks main, the published documentation is always ahead of or equal to the newest tag. The tag exists so consumers of the derived configs have something to pin, not to describe what the site shows.