Maintainer Guide

Making a Release

  1. Make sure the file contains the right version number

  2. Update the NEWS file

  3. Build new version using python3 -m build --sdist

  4. Commit NEWS as "release 3.X.Y" and push

  5. Tag with: git tag -s 3.X.Y -m "release 3.X.Y"

  6. Push tag with: git push origin 3.X.Y

  7. In case of a stable release, upload to PyPI: twine upload dist/pygobject-3.X.Y.tar.gz

  8. Commit post-release version bump to pyproject.toml

  9. Upload tarball: scp dist/pygobject-3.X.Y.tar.gz

  10. Install tarball: ssh 'ftpadmin install pygobject-3.X.Y.tar.xz'

  11. In case the release happens on a stable branch copy the NEWS changes to the main branch


Each cycle after the feature freeze, we create a stable branch so development can continue in the main branch unaffected by the freezes.

  1. Create the branch locally with: git checkout -b pygobject-3-2

  2. Push new branch: git push origin pygobject-3-2

  3. In main, update pyproject.toml to what will be the next version number (3.3.0)