Releasing¶
Quick Release¶
- Update
CHANGELOG.mdwith release notes for the new version - Create and push a tag:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin v1.0.0
The GitHub Actions workflow will automatically:
- Extract the version from the tag
- Extract release notes from CHANGELOG.md
- Publish to Maven Central. The workflow lists publish tasks per project (see .github/workflows/publish-release.yml); when adding a new publishable subproject, add its publishAndReleaseToMavenCentral task to that list. There is no automatic discovery.
- Create a GitHub Release
Release Checklist¶
- [ ] Update CHANGELOG.md with new version section (format:
## X.Y.Z) - [ ] Commit all changes to main branch
- [ ] Create annotated version tag (e.g.,
v1.0.0) - [ ] Push tag to GitHub
- [ ] Verify GitHub Actions workflow completes successfully
- [ ] Verify GitHub Release was created with correct notes
Version Format¶
We follow Semantic Versioning:
- Major:
v2.0.0- Breaking changes - Minor:
v1.1.0- New features, backward compatible - Patch:
v1.0.1- Bug fixes, backward compatible
CHANGELOG Format¶
Ensure your CHANGELOG.md follows this format for automatic release note extraction:
## 1.0.0
- Feature: Added support for XYZ
- Fix: Resolved issue with ABC
- Breaking: Removed deprecated method DEF
## 0.2.0
...
The workflow will extract everything between the version header and the next version header.