= Release Checklist = Changelogs to write: * Full for ./doc/CHANGES * Mid rich text for website/maint/news.txt (important things) * Small for ./doc/user-guide/misc.xml (strictly only user visible changes) * Tiny for twitter (focus on twitter things) Prepare code/changelogs * ./bitlbee.h, {{{#define BITLBEE_VERSION "3.x.y"}}}, {{{#define BITLBEE_VERSION_CODE BITLBEE_VER(3, x, y)}}} * ./doc/CHANGES * ./doc/user-guide/misc.xml, {{{...}}} Prepare website * `./maint/genchangelog.sh < ../../bitlbee/doc/CHANGES > html/changelog.html` * ./maint/news.txt * `make` (for news.txt) * `make` bitlbee.data Timestamps to update when the release actually happens * code: ./doc/CHANGES (`Finished ... 200XX`) * website: `genchangelog.sh` * website: `make bitlbee.data` * website: ./maint/news.txt (`Tue, 02 Jan 2015 13:37:00 +0000`, i got the year wrong) Actually releasing it * `git checkout master` * `git merge release-XXX` (maybe) * `git tag 3.x.y` * `make doc` * `make tar` * Verify tarball (see below) * scp bitlbee-3.x.y.tar.gz bitlbee.org: * `bzr push` * From server: `bzr up` * Check staging site * From server: move tarball from scp location to get.bitlbee.org * From server: `make sync` Verify tarball contents: * Get previous release or `wget get.bitlbee.org/src/bitlbee-3.x.x.tar.gz` * Extract both * `diff -Naur bitlbee-3.x.y bitlbee-3.x.z | diffstat` Other stuff: * announce on twitter * update channel topic * build debian packages * announce abi/api breakages if any * update im.bitlbee.org and testing.bitlbee.org * tell rsc or mcepl * flag arch linux as outdated if it hasn't happened magically * update bitlbee-libpurple aur package