To do for releases
From OpenTTD
Those things have to be done for each release:
Contents |
Prerelease
- 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
Release
- use 'svn checkout -N svn://svn.openttd.org/tags' 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://svn.openttd.org/branches/<major> <version> (or trunk in case of betas)
- merge standard release changes: svn merge -c 11869 svn://svn.openttd.org/tags/0.6.0-beta3
- 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 rev.cpp.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"
- Source repositories -> Default repositories -> Branch name and path -> Enter correct tag name and path
- Variables -> Set "branch" to "stable" for stable releases; set it to "testing" for RC or beta-releaes.
- Start the build
- Edit plan "OpenTTD - Release"
- 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 (add_tag.sh)
- 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/rev.cpp.in
- Update the version in src/os/windows/ottdres.rc.in
- Add a note to src/saveload/saveload.cpp about which savegame version is used in the branch.
- Update wiki pages: Template:VersionBox