Release Process
Use this checklist when preparing a public release.
Version Policy
Phalcon Kit follows SemVer for tagged public releases. Keep unreleased work under the current Unreleased heading in CHANGELOG.md until the tag is cut.
Before Release
- Confirm the target version and release branch.
- Update
CHANGELOG.mdby moving the current unreleased section to a dated version heading. - Update runtime version metadata if needed.
- Confirm the README and guides describe the release accurately.
- Run the full local quality gate:
composer qa
- Confirm Composer metadata:
composer validate --strict --no-check-publish
composer audit
- Review public docs:
README.mdCHANGELOG.mdSECURITY.mdSUPPORT.mdguides/- Check package contents:
composer archive --format=tar --dir=/tmp
Review the archive if package exclusions changed.
Tag
Use the reviewed SemVer release number and create a signed tag:
printf 'Release version: '
read -r VERSION
git tag -s "$VERSION" -m "Release $VERSION"
git push origin "$VERSION"
After Release
- Verify the GitHub Actions workflow passed on the tag/default branch.
- Verify Packagist updated
phalcon-kit/core. - Check GitHub Code Scanning for fresh Psalm results.
- Confirm the old
zemit-cms/corepage still points users toward this repository for historical context. - Start a new unreleased section in
CHANGELOG.md.
Legacy Package
The old zemit-cms/core package should be treated as historical continuity for existing users. Do not make it the primary install path in new documentation. If it is marked abandoned later, point users to phalcon-kit/core.