Release checklist
From WarzoneWiki
Testing
Make sure Windows, Linux and Mac OSX versions can be created. Test whether the game actually works on these platforms. In both single- and multiplayer!
Bump version numbers
The following files need editing to have the correct version.
ChangeLog
Edit the ChangeLog to be in sync with the latest changes. Also make sure to put the correct date and version there (the date that you make the release of course).
configure.ac
Make sure to put the correct version number in the second parameter of AC_INIT. The AC_INIT directive should be somewhere at the top of the file.
win32/warzone2100.rc
Put the correct version number after the FILEVERSION and PRODUCTVERSION directives. This must be four numbers separated by commas, for example, for 2.0.8 this would be:
FILEVERSION 2,0,8,0 PRODUCTVERSION 2,0,8,0
Then secondly in the version table modify the "FileVersion" and "ProductVersion" values. These are strings (you can use similar syntax as in C to put a string there). For version 2.0.8 this would look like this:
VALUE "FileVersion", "2.0.8" // ... VALUE "ProductVersion", "2.0.8"
debian/changelog
You will need to add a new entry to the changelog (at the top of the file). This probably is the easiest to do by using the "dch" command line tool; use it like this:
dch -v <version>-<revision>
Make sure not to use underscores ('_') for suffixes like '_p1' or '_rc1', use a tilde ('~') instead.
In almost all cases you would want the <revision> to be 0 (zero) as this represents the package revision. Which in Debian starts at zero for packages released by upstream itself.
Then in the changelog file itself make sure to check whether your email is correct (this is the email that will be put in the generated *.changes file). Also make sure to add the contents for the current version (i.e. the one that is being released) to this changelog. Make sure though to wrap all lines longer than 80 characters (i.e. a line is only allowed to be 80 chars long).
lib/framework/config-macosx.h
Modify the PACKAGE_STRING macro to "Warzone 2100 <version>", the PACKAGE_VERSION macro to "<version>" and the VERSION macro to "<version>". E.g. for 2.0.8 this would be:
#define PACKAGE_STRING "Warzone 2100 2.0.8" #define PACKAGE_VERSION "2.0.8" #define VERSION "2.0.8"
Add new version to the Bug Tracker
Make sure to create a new version in the Bug Tracker so people can submit bug-reports for it.
Pull translations from Launchpad
Do not forget to download translations from Launchpad.
Update trunk change logs
Update trunk ChangeLog
Copy the newly created ChangeLog entry over to the trunk's ChangeLog (other branches don't matter, but trunk does). (svn merge helps)
Update trunk debian/changelog
Copy the newly created changelog section over to trunk's Debian changelog. Make sure to keep the correct order of versions though (i.e. the "highest" version number needs to be on top). (svn merge helps)
Tag the release in SVN
Make sure to create a new tag for this release in the Subversion repository.
Also in that tag make sure to modify autorevision.conf:
wc_uri=tags/<tagname>
Here <tagname> should be the directory name of the tag in Subversion
Create a source tarball
Don't forget to run ./autogen.sh
Create an AutoPackage / MojoSetup
- Do it on a Debian system, so the deps are correct!
- Link PhysFS statically!
Create an NSIS installer and updater
Installer is easiest created using the __BUILD_SCRIPT (adapt __BUILD_CONFIG before).
For the updater you need to create the necessary patchfiles with GenPat.
This works as follows:
GenPat /some/where/old_version /some/where/else/new_version file.vpatch
Add new version to the Releases-article (Wiki)
Make sure to list the new release in the Releases-article.
Announce the release
- Forum
- dev mailinglist
- IRC channel
- http://linuxgames.com, http://linux-gamers.net, freshmeat, ModDB, softonic, gamershell, GameDev.net forums


