21 Aug 2020 - The wiki is undergoing a major cleanup. If you arrived here from a search engine and cannot find the page, please use the wiki search instead (top right corner of page)
More info can be found on the forum

Archive:Release Checklist

From Official Kodi Wiki
Jump to: navigation, search

Since we don't release all that often or consistently, we seem to forget some key steps in the process. Hence, a checklist!
On this page the term "release" refers to the final stable release tag and binaries.

1 Version scheme

Internal version numbering

  • 14.0 Alpha1: 13.9.701
  • 14.0 Alpha2: 13.9.702
  • 14.0 Beta1: 13.9.801
  • 14.0 RC1: 13.9.901
  • 14.0 final: 14.0.000
  • 14.1 final: 14.1.000
  • 14.1 Beta1: 14.1.801
  • 14.1 RC1: 14.1.901

  • 15.0 Alpha1: 14.9.701
  • 15.0 Alpha2: 14.9.702
  • 15.0 Beta1: 14.9.801
  • 15.0 RC1: 14.9.901
  • 15.0 final: 15.0.000

Example: https://github.com/xbmc/xbmc/pull/4633

2 Release manager

Before starting a new release and calling a feature freeze, a release manager needs to be picked. He will guide the release through the feature freeze process, beta stage, release candidates and in the end the final release. In case there need to be bugfixes he will handle those as well.

The Release Manager has absolute Authority regarding the release. From the moment of feature freeze he is in control. During feature freeze only bugfixes are allowed to go in and mayor ones need to go through a pull request. He will call the moment of beta cycle to final release.

3 Testing

The following apply for all supported platforms and architectures.

  • Compile.
  • Video playback of popular codecs. (xvid, h264, vc1, mpeg2)
  • Audio playback of popular codecs. (mp3, aac(+), ogg, flac, , ac3, dts)
  • Playback from popular sources. (local, dvd, smb, http)
  • Scripts/plugins.
  • Initialization of new settings and databases.
  • Updating of settings and databases from the last stable release.

4 Pre-tag/branch

  • Update version string:
  • configure.in (see AC_INIT)
  • tools/android/depends/configure.in (see AC_INIT)
  • tools/android/packaging/xbmc/AndroidManifest.xml
Bump android:versionCode="1" by one for each beta/rc/release
Change android:versionName"12.0-BETA3" to match others
  • xbmc/utils/GUIInfoManager.h
  • tools/darwin/packaging/xbmc-ios/mkdeb-xbmc-ios.sh
  • tools/darwin/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh
  • xbmc/osx/Info.plist (there are two strings to change)
  • xbmc/win32/XBMC_PC.rc
  • Update any necessary changelogs, readmes, known_bugs
  • Update XBMC Credits

See below the version bump updates undertaken for Frodo Beta 1:

5 Release

  • tag release commit on github
  • build release builds on buildbot
  • move from staging to final location (using shell service)
  • update links and analytics on xbmc.org/download
  • add xbmc.org frontpage news item. tick 'Announcements' category also (for sidebar)
  • Add trac version and set as default milestone.
  • [WIN32] copy the file XBMC.pdb for the released binary to the team ftp server and name it accordingly (is this all we need for reading crash dumps?)

Release bump example

5.1 PPA builds

Info here

6 Post-release

Post release the steps in Merge window should be followed again.