## Releasing XCB Modules (based on cairo's release process) (requires the maintainer to have a gpg key to sign the tag) Note that many of these steps can be automated by the [[X.Org `release.sh` script|http://www.x.org/wiki/Development/Documentation/ReleaseHOWTO/]] now. 1. Update README 1. Update NEWS - `git shortlog ..` - Skip any fixes to bugs that didn't exist in the last release - Skip any typos or similar cosmetic changes 1. Bump the package version in the top-level configure.ac 1. Commit changed README, NEWS, and configure.ac - `git commit -m "Release "` 1. check that **all** your changes are committed - `git status` must not show any uncommitted files and you must be on the `master` branch - `git diff HEAD` must not show anything 1. `autoreconf -vfi && ./configure && make distcheck` 1. Tag the repository - `git tag -s -m "Release " ` - verify with `git verify-tag ` 1. Compose the release mail (but don't send yet!) - template off of last release mail - replace version, README, NEWS - git tag and keysign - MD5, SHA1, and SHA256 checksums + URL's of tarballs (`md5sum`, `sha1sum`, `sha256sum`) - note names of releasers 1. Push the master branch and the tag with `git push origin master ` 1. Copy the .gz and .bz2 tarballs to `xcb.freedesktop.org:/srv/xcb.freedesktop.org/dist/` so they show up at 1. For libxcb, upload the doxygen generated docs from your build to `xcb.freedesktop.org:/srv/xcb.freedesktop.org/manual` so they show up at - `make && rsync -ar --progress --delete doc/manual/ xcb.freedesktop.org:/srv/xcb.freedesktop.org/manual` 1. Send the release mail to xorg and xcb lists - Subject: `[ANNOUNCE] ` - To: , , - don't forget to GPG-sign the email 1. Update the xcb wiki (news section on the main page, if necessary) 1. If necesssary, ask a bugzilla admin (alanc, keithp, or one of the freedesktop sitewranglers) to add the new version numbers to the XCB product in [[bugzilla|https://bugs.freedesktop.org/]].