## 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/]].