Checklist of stuff that needs to be doing at release time, not necessarily in the optimal order, but I tried to make it pretty much right. Spring engine: - make sure changelog is up to date (including version number!) - set buildbot to only produce builds if forced to (comment out schedulers) - bump version number in installer/springsettings.nsh to e.g. "0.76b1" - bump version number in rts/Game/GameVersion.cpp - have buildbot compile installer and make source packages - test source package linux (or not if you feel brave) - test source package windows (ditto) - test installer (NEVER EVER SKIP THIS NO MATTER HOW SMALL THE CHANGES) - upload installer to fnord.clan-sy.com - upload installer to unknown files (watch out for notification bots, it can create chaos if you upload early in release process and the upload gets widely announced already.) - upload spring_X.XXbX_src.tar.bz2 to fnord.clan-sy.com - upload spring_X.XXbX_src.zip to fnord.clan-sy.com - upload spring_X.XXbX_src.tar.bz2 to Berlios (not too important) - upload spring_X.XXbX_src.zip to Berlios (ditto) - make news post (don't forget to thank contributors, link to installer and source) - tag the released revision in SVN as e.g. "tags/spring_0.76b1" - bump version number in rts/Game/GameVersion.cpp to e.g. "0.76b1+" (note the plus) - enable automatic builds in buildbot again TASServer (when only spring update): - NOTE: this section is still "untested" - update updates.xml with OFFERFILE entries for current Spring version. - as admin, do "reloadupdateproperties" in TASServer ($Local in TASClient) - as admin, do "setlatestspringversion 0.76b1" (replace version!) - as admin, "broadcast" a message that everyone will be kicked due to upgrade - as admin, kick all users from the server (I forgot the command for this) - set correct Spring version in the shell script that starts server, so it won't boot people if it ever gets restarted (e.g. power outage) TASServer (full update, ie. Spring+TASServer): - easiest is probably to release Spring separately, but usually this is impossible due to compatibility things. - update updates.xml with OFFERFILE entries for current lobby version(s) and current Spring version. - set correct spring version in the shell script that starts server. - update sourcecode to latest version - stop server - compile server - do whatever is needed to migrate data, if anything. - start server - hotfix the issues that usually arise during TASServer upgrade :-) - commit the hotfixes - tag the used server in SVN as e.g. "tags/Lobby/TASServer 0.35"