Here are the steps to follow to create a new pycairo release: 1) Fill out an entry in the NEWS file Sift through the information in 'git log' since the last release. Summarize major changes briefly in a style similar to other entries in NEWS. 2) Increment pycairo and cairo version numbers in: configure.ac doc/conf.py README setup.py wscript Increment pycairo_major/minor/micro_version in configure.ac Increase the cairo_required_version - to an even numbered version. Increment pycairo_major/minor version to match the cairo major/minor version that pycairo requires (and increment the micro version if necessary for any subsequent pycairo updates). 3) Run "make distcheck" and verify that it gives no warnings or errors and ends with a message of the form: =============================================== py2cairo-X.Y.Z archives ready for distribution: py2cairo-X.Y.Z.tar.gz =============================================== Install from the tar.gz archive, run tests and examples. 4) Commit the changes to NEWS, configure.ac etc It's especially important to mention the new version number in the git commit comment. Add a '=== Py2cairo x.x.x ===' header. $ git tag X.Y.Z push the changes to the freedesktop server. $ git push origin master 5) Edit Makefile.am and select either 'snapshot' or 'release'. Run "make release-publish" which will perform the following steps for you: * Check that the version number ends with an even micro component * Check that no release exists with the current version * Verify that make distcheck completes successfully * Generate the final tar file * Generate an md5sum file * scp both files to appear on http://cairographics.org/releases * Place local copies of the files in the releases directory * Create a LATEST-package-version file (after deleting any old one) * Provide some text for the release announcement (see below). 6) Verify that the tar file arrived at the website. Check tar file has read permissions for all. Update the pycairo webpage to reference the new release. Update http://cheeseshop.python.org entry for pycairo. 7) Edit: configure.ac setup.py wscript to increment pycairo_version_micro to the next larger (odd) number. $ git push origin master 8) Send a message to cairo-announce@cairographics.org and CC python-announce-list@python.org to announce the new release using the text provided from "make release-publish". Generating documentation archives --------------------------------- $ cd doc/ $ vi conf.py # update the version and release numbers $ make clean $ make html $ cd .build/ $ mv html py2cairo-x.x.x-docs-html $ tar cjf /tmp/py2cairo-x.x.x-docs-html.tar.bz2 py2cairo-x.x.x-docs-html $ zip -r /tmp/py2cairo-x.x.x-docs-html.zip py2cairo-x.x.x-docs-html $ chmod a+r /tmp/py2cairo* untar docs in /tmp and check that they have correct version number and view OK. copy file to the 'releases' directory on cairo website: scp py2cairo-x.x.x-docs-html.tar.bz2 cairographics.org:/srv/cairo.freedesktop.org/www/releases cd doc html_docs_create.sh html_docs_upload.sh