Back to homepage
Releasing
History
How releases are done in Hedgewars
Updated Wed, 30 Oct 2019 12:09:45 +0000 by Wuzzy

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

  1. Purge your repository: hg purge --all (needs purge extension). Warning: This resets ALL the files, make sure to backup whatever you need
  2. Create a source tarball ( .tar.bz2 ). Run make package_source
  3. Create a Windows build
  4. Create a macOS build, if possible
  5. Test the builds
  6. Create torrents
  7. Add a tag for the relevant commit (name: <version>-release ) (after the builds have succeeded!)
  8. Start a branch with the name <version> (e.g. 1.0.0), on the commit you tagged
  9. Update symlink for windows installer download/releases/hedgewars-win32.exe to point to the latest release installer
  10. Update release archive
  11. Update Download page
  12. Announce release on News section on www.hedgewars.org
  13. Announce release in IRC ( #hedgewars )
  14. Announce release in official server
    1. Update protocol number
    2. Update MOTD
    3. 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