About releasing new versions

(Checklist for stable releases)
(Checklist for stable releases)
Line 31: Line 31:
*** Run "FontTool.exe tools/font_tool/po_list" (if everything goes right you'll see "Opened list file xxx ... Opened xxx.po ..." in the console).
*** Run "FontTool.exe tools/font_tool/po_list" (if everything goes right you'll see "Opened list file xxx ... Opened xxx.po ..." in the console).
*** [[Fonts | See here]] for how to generate the font files.
*** [[Fonts | See here]] for how to generate the font files.
** Run data/po/update_po
* Make sure to update the version number:
* Make sure to update the version number:
** CMakeLists.txt
** CMakeLists.txt

Revision as of 22:49, 28 September 2015


Unstable releases vs stable releases

Any packages released from the trunk are considered 'unstable'. They are not meant to be broken, but fewer steps are taken to produce it, skipping the ones that often catch bugs, which also makes them easier and faster to make, so they are better suited to make it easier to test new features quickly. The process is simply to make a package for general distribution from source of the trunk.

To make a stable package, first a separate branch must be created in the source tree, by copying the current trunk to a branch, as a 'release candidate'(RC), named with the version number plus the RC number, for example, 0.3rc1. Afterwards, only bug fixes are committed to that branch (unless we all agree to introduce a feature) on this release candidate; neither major changes in other areas of the game, thought documentation and artwork updates are fine. If we decide we need more testing after doing all the modifications to the release candidate, the same RC should be renamed to reflect the new number scheme (e.g. 0.3rc1 would be renamed to 0.3rc2). This allows easy access to the history of all files, and keeps the SVN structure clean (it might be worth adding a tag for previous RCs).

The final release is copied from the RC branch to the tag directory (using the release number as name). The branch will be removed to reflect the release number (e.g. 0.3rc2 -> 0.3). For now the branches should be kept in place, since it helps finding problems which might get reported for the release (if they can't be reproduced in the trunk anymore). We might decide on a delete-branch policy later, if this directory gets too full. Also, the license under which STK is released requires us to provide the source code for at least 3 years for any binaries we provide.

Committing changes during the preparation of a stable release

Checklist for stable releases

Upload packages, then :

For binary packages (esp. linux):

Naming scheme for packages

All files released on the STK web page should use the following naming scheme:





Examples of full package file names: supertuxkart-0.3-linuxi586.tar.bz2, supertuxkart-git2110-macosx.dmg, supertuxkart-0.4-rc1-win.zip

Where to advertise a new release

This page collects web pages that should be informed about a new SuperTuxKart release. If you add a note to a board, blog, web page, please add the URL here, and add your name (hoping that in upcoming releases you can contact the same pages again).

Mark what's done with Done.png

Retrieved from "http://supertuxkart.sourceforge.net/About_releasing_new_versions"

User Tools