- 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.1.0), and push branch and tag. The release workflow will create the GitHub Release with the changelog. - Publish the package to Packagist if applicable (usually automatic when the tag is pushed).
After creating the release commit and tag, run make check-no-cursor-coauthor again before git push (REQ-GIT-001). The release commit itself is not covered by an earlier release-check run.
git add -A
git status # review
make release-check
git -c core.hooksPath=.githooks commit -m "Release 1.1.5: ClockInterface DI, FrankenPHP banner, release-check gates"
git tag -a v1.1.5 -m "Release 1.1.5"
make check-no-cursor-coauthor
git push origin main
git push origin v1.1.5git add -A
git status # review
make release-check
git commit -m "Release 1.1.4: FRANKENPHP_MODE demo, CS import_symbols"
git tag -a v1.1.4 -m "Release 1.1.4"
make check-no-cursor-coauthor
git push origin main
git push origin v1.1.4git add -A
git status # review
make release-check
git commit -m "Release 1.1.3: git hygiene REQ-GIT-001, Code of Conduct, CI docs"
git tag -a v1.1.3 -m "Release 1.1.3"
make check-no-cursor-coauthor
git push origin main
git push origin v1.1.3git add -A
git status # review
make release-check
git commit -m "Release 1.1.2: demo symfony8 profiles configuration"
git tag -a v1.1.2 -m "Release 1.1.2"
git push origin main
git push origin v1.1.2git add -A
git status # review
make release-check
git commit -m "Release 1.1.1: CI doctrine-bundle matrix for PHP 8.2–8.3"
git tag -a v1.1.1 -m "Release 1.1.1"
git push origin main
git push origin v1.1.1