Current release target: 1.3.0 (
v1.3.0).
- Update CHANGELOG.md: move entries from
[Unreleased]to a new[X.Y.Z] - YYYY-MM-DDsection. (This project does not store version incomposer.json; Packagist uses the git tag.) - Update UPGRADING.md if the release has upgrade notes.
- Run pre-release checks:
make release-check(includescheck-no-cursor-coauthor, cs-fix, cs-check, rector-dry, phpstan, test-coverage, and optionally demo healthchecks). - Commit all changes, create an annotated tag (e.g.
v1.3.0), and push branch and tag. The release workflow creates the GitHub Release from the tag and changelog. - Publish on Packagist (usually automatic when the tag is pushed and the package is registered).
git add -A
git status # review
git commit -m "Release 1.3.0: CSP-safe phone prefix picker"
git tag -a v1.3.0 -m "Release 1.3.0
CSP-safe external prefix picker (vanilla IIFE), Stimulus-compatible
markup, and progressive-enhancement CSS."
git push origin main
git push origin v1.3.0git add -A
git status # review
git commit -m "Release 1.2.1: restore CI coverage gate to 100%"
git tag -a v1.2.1 -m "Release 1.2.1
Restore PHPUnit coverage to 100% (CI elements gate)."
git push origin main
git push origin v1.2.1git add -A
git status # review
git commit -m "Release 1.1.5: named assets package, FrankenPHP demos, PHPStan rulesets"
git tag -a v1.1.5 -m "Release 1.1.5
Named asset package nowo_phone_input, FrankenPHP PHP 8.5 demos,
PHPStan FrankenPHP rulesets, and security threat model."
git push origin main
git push origin v1.1.5Before tagging, complete SECURITY.md (no secrets, dependencies reviewed).
After creating the release commit and tag, run make check-no-cursor-coauthor again before git push (REQ-GIT-001).