Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.42 KB

File metadata and controls

26 lines (20 loc) · 1.42 KB

Release process

  1. Update CHANGELOG.md: move entries from [Unreleased] to a new [X.Y.Z] - YYYY-MM-DD section. (This project does not store version in composer.json; Packagist uses the git tag.)
  2. Update UPGRADING.md if the release has upgrade notes.
  3. Run pre-release checks: make release-check (includes check-no-cursor-coauthor, check-open-prs, cs-fix, cs-check, rector-dry, phpstan, test-coverage, and optionally demo healthchecks).
  4. Commit all changes, create an annotated tag (e.g. v1.0.1), and push branch and tag. The release workflow will create the GitHub Release with the changelog.
  5. 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.

12.4 Security checklist

Before tagging a release, confirm dependency audit is clean, no secrets are committed, and docs/SECURITY.md / .github/SECURITY.md remain accurate. Follow the 12.4.1 table in SECURITY.md.

Example for v1.1.3

git add -A
git status   # review
make release-check
git commit -m "Release 1.1.3: restore 100% coverage for BlogProtection fallbacks."
make check-no-cursor-coauthor
git tag -a v1.1.3 -m "Release 1.1.3"
git push origin main
git push origin v1.1.3