8 #. Make sure setup.py has the right version number
10 #. Run ``python3 setup.py distcheck``, fix any issues and commit.
11 #. Commit NEWS as ``"release 3.X.Y"`` and push
12 #. Tag with: ``git tag -s 3.X.Y -m "release 3.X.Y"``
13 #. Push tag with: ``git push origin 3.X.Y``
14 #. In case of a stable release, upload to PyPI:
15 ``twine upload dist/PyGObject-3.X.Y.tar.gz``
16 #. Commit post-release version bump to setup.py
17 #. Create GNOME tarball ``python3 setup.py sdist_gnome``
18 #. Upload tarball: ``scp pygobject-3.X.Y.tar.xz user@master.gnome.org:``
20 ``ssh user@master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.xz'``
21 #. In case the release happens on a stable branch copy the NEWS changes to
28 Each cycle after the feature freeze, we create a stable branch so development
29 can continue in the master branch unaffected by the freezes.
31 #. Create the branch locally with: ``git checkout -b pygobject-3-2``
32 #. Push new branch: ``git push origin pygobject-3-2``
33 #. In master, update setup.py to what will be the next version number