#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 == * Fix common pitfalls * Make sure all `*.pas` files are ASCII only * Test Pas2C, fix anything that's broken * 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` * Wiki page: [ProtocolNumbers] * 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 == # 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: `-release`) (*after* the builds have succeeded!) # Start a branch with the name `` (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 [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 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]