guides/Releasing.md

Releasing

Core uses canonical version files and git tags in vX.Y.Z format.

Version source of truth

When to release

Create a new release for substantial changes:

Mapping:

Conventional commits

Release tooling parses commit messages since the last tag:

Commands

Plan next release:

composer release:plan

Cut release (auto bump inferred from commits):

composer release:cut

Force bump type:

composer release:cut -- patch
composer release:cut -- minor
composer release:cut -- major

Dry run preview:

composer release:cut -- --dry-run

Create release and push tag:

composer release:cut -- --push

Policy checks:

composer test-security
composer release:check
composer release:check-artifacts
php tools/release-check.php --strict

Changelog contract

Each release entry in CHANGELOG.md includes:

The changelog entry is a quick guide, not only a commit dump.

CI enforcement