Releasing Hedgewars
This page is a checklist of things to do in order to do a proper Hedgewars release.
Getting ready for release
- Fix common pitfalls
- Make sure all
*.pas
files are ASCII only
- Test Pas2C, fix anything that's broken
- If new weapons have been added:
- Test if new weapon can be selected in frontend, online play, local play
- Test if new weapon can be saved properly in ammo scheme
- Update
AMMO
in the Official Racer room config file
- Update preview image of Big Armory mission
- Try to announce string freeze in News a few weeks before the planned release to give translators a fair chance
- Bump protocol number
- Bump Hedgewars version number (if it hasn't already)
- Update server sources
- Update newest version
- Make server aware of new version and new -dev version protocol numbers (
protoNumber2ver
in
gameServer/Utils.hs
)
- Update MOTD to reflect version changes (
newServerInfo
in
gameServer/CoreTypes.hs
)
- Update
ChangeLog.txt
- Update all translation strings
- For frontend (.ts) and Lua (.lua): Run
tools/update_locale_files.sh
and grab a coffee
- Other files might need manual updating
- If there was a Shoppa tournament after the previous release: Update prizes
- Put the names of the top 3 players on the plaques in ShoppaKing and TrophyRace
- Add the names of (at least) the top 3 players in the pool of random names in Rope-Knocking Challenge
- Update system requirements, if neccessary:
Releasing
- Purge your repository:
hg purge --all
(needs
purge
extension). Warning: This resets ALL the files, make sure to backup whatever you need
- Create a source tarball (
.tar.bz2
). Run
make package_source
- Create a Windows build
- Create a macOS build, if possible
- Test the builds
- Create torrents
- Add a tag for the relevant commit (name:
<version>-release
) (after the builds have succeeded!)
- Start a branch with the name
<version>
(e.g. 1.0.0), on the commit you tagged
- Update symlink for windows installer
download/releases/hedgewars-win32.exe
to point to the latest release installer
- Update release archive
- Update Download page
- Announce release on News section on www.hedgewars.org
- Announce release in IRC (
#hedgewars
)
- Announce release in official server
- Update protocol number
- Update MOTD
- In lobby, use command
/global Hedgewars X.Y.Z has just been released!
Post-release
- Notify package managers of GNU/Linux distributions
- Update Hedgewars Wiki
- Update HWKB (esp. because of Lua)
- Update game info on online game databases, if you have access
- Add new version to Bugzilla
- Optional: Add a couple of nice screenshots
- Optional: Make a trailer
For release candidates
Release candidates may be released before the actual release for testing. They might be combined with a string freeze.
- Create a source tarball (see above)
- Create a Windows build
- Remember the commit ID to which the release canditate refers to
- Write a post in News, you can use this post as a template: https://hedgewars.org/node/6907