To do for releases

From OpenTTD
Jump to: navigation, search

Those things have to be done for each release:



  • backport all the fixes
  • run "make regression"
  • update all release version strings, especially in the following files:
    • readme.txt
    • os/debian/changelog
    • os/rpm/openttd.spec
    • os/windows/installer/install.nsi
    • os/os2/installer/make_installer.cmd
    • src/script/api/ai_changelog.hpp
    • src/script/api/game_changelog.hpp
  • update changelog.txt
    • sort order: Feature, Codechange, Fix then descending revision number
    • format: - (Feature|Codechange|Fix): ([<subsection (like OSX)>])? <message> ([FS#XXX])? (rXXXXX)
    • merge items that are solving a single goal
  • update the known-bugs.txt


  • use 'svn checkout -N svn://' to checkout the tags directory without all the files and directories in it (since we only need to add something to it.x)
  • create the tag: svn cp svn://<major> <version> (or trunk in case of betas)
  • merge standard release changes: svn merge -c 11869 svn://
  • replace all instances of 0.6.0-beta3 with the new version and 11869 with the revision that the tag will have (yes a revision in the 'future'); svn diff should not show 0.6.0-beta3 nor 11869 anymore.
    • for non-beta/non-RC releases assertions need to be disabled in config.lib and the MSVC project files. Furthermore the 'release' bit needs to be set in
  • svn commit -m "-Release <version>"

Post release

  • build the binaries and source archives
    • MorphOS: tokai makes them
    • OS/2: orudge makes them
    • Rest goes via the compile farm
      • Edit plan "OpenTTD - Release"
        1. Source repositories -> Default repositories -> Branch name and path -> Enter correct tag name and path
        2. Variables -> Set "branch" to "stable" for stable releases; set it to "testing" for RC or beta-releaes.
      • Start the build
  • put a news message on the website
  • make a forum announcement
  • update the IRC topic
  • forwardport/merge the changes made in the prerelease
  • for non-RC releases:
    • update version on FlySpray (current->past, future->current, maybe new future)
    • update NoAI API docs (
    • create a wiki page and update the release history and template
    • update wiki templates: Template:Version
    • Add the new version to bananas minimal/maximum version list
    • poke terkhen about @openttdnews
    • poke terkhen or yexo about desura
    • poke package maintainers on IRC: blathijs (debian), heffer (fedora)

After creating a branch for a new version

  • Apply changes similar to r27192
    • Add a new (empty) AI compatibility script in bin/ai/
    • Add the new version to CheckAPIVersion in src/ai/ai_info.cpp + src/script/api/script_info_docs.hpp
    • Add the new version to src/script/api/ai_changelog.hpp
    • Update the version of regression in bin/ai/regression/regression_info.nut
    • Update the installers (debian/changelog, os2/installer/make_installer.cmd, rpm/openttd.spec, windows/installer/install.nsi)
    • Update the version in src/
    • Update the version in src/os/windows/
    • Add a note to src/saveload/saveload.cpp about which savegame version is used in the branch.
  • Update wiki pages: Template:VersionBox
Personal tools