Release checklist

Checklist for releasing MediaWiki versions. Also see MediaWiki 1.19/Roadmap/Deployment checklist - at some point we should create a generalized deployment checklist, since we do them more and more often.

Pre-release preparation

 * Notify wikitech-l about impending branch with reasonable warning (1 full business day)
 * Branch REL1_XX
 * Bugmeister: File blocking bug in Bugzilla
 * Developers: Fix all blocking bugs for that release in trunk, tagging to merge with "1.XX" tag in Code Review
 * Make sure all commits also include updates to RELEASE-NOTES appropriate to the version
 * Reviewers: Review all changes tagged for that release, marking "ok"
 * Reviewers: Merge all changes tagged for that release into the REL1_XX branch
 * Reviewers: Review all changes in the REL1_XX branch, marking "ok"

Release candidate for a new major version

 * Update RELEASE-NOTES, HISTORY, CREDITS and includes/DefaultSettings.php in branch and trunk
 * Run rg-vuln-check
 * Tag REL1_XX_0RC1
 * Run tools/make-release/make-release 1.xx.0rc1
 * Upload files to dataset2:/data/xmldatadumps/public/mediawiki
 * Send email to mediawiki-announce, mediawiki-l, wikitech-l, summarising the changes in this major release (including i18n). Reply-To: mediawiki-l.
 * Edit Template:MediaWiki News
 * Add versions to bugzilla -- new alpha version (1.x-svn) and new RC
 * Add new branch to ExtensionDistributor
 * Edit irc://irc.freenode.net/mediawiki topic

Wait for comments...

Release a stable 1.xx.0 version

 * Update RELEASE-NOTES and includes/DefaultSettings.php in the branch
 * Run rg-vuln-check
 * Tag REL1_XX_0 on mediawiki/core
 * Run tools/make-release/make-release 1.xx.0 1.xx.0rc1
 * Upload files to dataset2:/data/xmldatadumps/public/mediawiki
 * Send email to mediawiki-announce, mediawiki-l, wikitech-l. Reply-To: mediawiki-l.
 * Edit irc://irc.freenode.net/mediawiki topic
 * Add version to bugzilla
 * Update WikiMatrix
 * Release a TechBlog entry

ExtensionDistributor stuff
$ git submodule foreach "git tag REL1_xx" $ git submodule foreach "git push gerrit refs/tags/REL1_xx:refs/tags/REL1_xx"
 * Update $wgExtDistSnapshotRefs in CommonSettings.php
 * Tag all extensions for the new release:

MediaWiki.org updates
(this may also be done by an administrator of this wiki; Current versions lists all the version templates with edit links)

(note: the links below are automatically generated, refresh this page once you modified the templates above)
 * Announce new version: Template:MediaWiki News
 * Update the new version: Template:MW stable release number, Template:MW stable release date, Template:MW stable release svn, Template:MW stable branch number, Template:MW stable branch svn
 * Update the legacy version: Template:MW legacy release number, Template:MW legacy release date, Template:MW legacy release svn, Template:MW legacy branch number
 * Create Release notes/ with the content of the  file.
 * Remove all  from pages that are in Category:Due in v and delete that category.

Release a minor version

 * Update RELEASE-NOTES and includes/DefaultSettings.php in the branch
 * Tag REL1_XX_Y
 * Run tools/make-release/make-release 1.xx.y</tt>
 * Upload files to dataset2:/data/xmldatadumps/public/mediawiki</tt>
 * Send email to mediawiki-announce, mediawiki-l, wikitech-l. Reply-To: mediawiki-l.
 * Edit pages on mediawiki.org: Template:MediaWiki News, Template:MW stable release number, Template:MW stable release date, Template:MW stable release svn
 * Add versions to bugzilla
 * Update WikiMatrix
 * Edit irc://irc.freenode.net/mediawiki topic

Security Release (minor version release)

 * The live cluster has been patched per How_to_perform_security_fixes
 * Update git master and most recent wmf versions
 * For each supported branch:
 * Update RELEASE-NOTES and includes/DefaultSettings.php in the branch
 * Tag REL1_XX_Y
 * Run tools/make-release/make-release 1.xx.y</tt>
 * Upload files to dataset2:/data/xmldatadumps/public/mediawiki</tt>
 * Make related bugzilla bugs public
 * Send email to mediawiki-announce, mediawiki-l, wikitech-l. Reply-To: mediawiki-l.
 * Edit pages on mediawiki.org: Template:MediaWiki News, Template:MW stable release number, Template:MW stable release date, Template:MW stable release git, Template:MW legacy release number
 * Add versions to bugzilla
 * Update WikiMatrix (Tim has to do this)
 * Edit irc://irc.freenode.net/mediawiki topic