Release Process¶
This document outlines the process for creating and publishing new releases of AIMQ.
Version Numbering¶
We follow Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new functionality in a backward compatible manner
- PATCH version for backward compatible bug fixes
Release Checklist¶
- Update Version
- Update version in
pyproject.toml
- Update CHANGELOG.md
-
Commit changes:
git commit -m "Bump version to X.Y.Z"
-
Run Tests
-
Build Documentation
-
Create Release Branch
-
Create Pull Request
- Title: "Release vX.Y.Z"
- Include changelog in description
-
Get required approvals
-
Merge and Tag
-
Build and Publish
-
Deploy Documentation
Post-Release¶
- Update version to next development version in
pyproject.toml
- Create new section in CHANGELOG.md for unreleased changes
- Announce release in appropriate channels
Hotfix Process¶
For critical bugs in production:
- Create hotfix branch from the release tag
- Fix the bug and update patch version
- Create PR back to both
main
and the release branch - Follow steps 6-8 from the release checklist