Releasing.wiki
author Wuzzy
Mon, 08 Apr 2019 02:26:48 +0100
changeset 1720 fca8c324b341
parent 1701 b131247a8f29
child 1953 3074bfed69bd
permissions -rw-r--r--
LuaAPI: fix typo

#summary How releases are done in Hedgewars
= Releasing Hedgewars =
This page is a checklist of things to do in order to do a proper Hedgewars release.

== Getting ready for release ==

 * Try to announce string freeze in News a few weeks before the planned release to give translators a fair chance
 * Bump [ProtocolNumbers protocol number]
     * `HEDGEWARS_PROTO_VER` in `CMakeLists.txt`
 * 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:
     * 1) In the `README.md` file
     * 2) In the Hedgewars homepage: https://hedgewars.org/node/6977

== Releasing ==

 * Add a tag for the relevant commit
 * Create a Windows build
 * Create torrents
 * Update [https://hedgewars.org/release-archive release archive]
 * Update [https://hedgewars.org/download.html Download page]
 * Announce release on News section on [https://hedgewars.org/ 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 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]