Skip to content

Release Process

This guide explains how to create and publish new releases of Power Attention.

Note: Only maintainers with proper permissions can create official releases.

Version Scheme

We follow semantic versioning (MAJOR.MINOR.PATCH):

  • MAJOR: Breaking changes
  • MINOR: New features, backward compatible
  • PATCH: Bug fixes, backward compatible

Release Steps

  1. Update version in pyproject.toml:

    [project]
    name = "power-attention"
    version = "1.2.3"  # New version number
    

  2. Check version against PyPI:

    make check-version
    

  3. Run test suite:

    pytest
    

  4. Build and release on TestPyPI:

    make release-test
    

  5. If successful, build and release to PyPI:

    make release
    

Tip: Always test releases on TestPyPI first to catch any packaging issues.

Release Checklist

Before releasing:

  • [ ] All tests pass
  • [ ] Documentation is up to date
  • [ ] CHANGELOG.md is updated
  • [ ] Version (pyproject.toml) is bumped
  • [ ] Release notes are prepared
  • [ ] TestPyPI release works
  • [ ] Git tag is created

After Release

  1. Create a GitHub release with release notes
  2. Announce in relevant channels
  3. Update documentation site if needed
  4. Monitor issues for any release-related problems

Troubleshooting

If the release fails:

  1. Check PyPI/TestPyPI credentials
  2. Verify version number is unique
  3. Ensure all files are included in the package
  4. Check build artifacts for issues

For help with releases, contact the maintainers team.