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)
 * Create REL1_XX branch for mediawiki/core
 * Create REL1_XX branches for all extensions (use the make-extension-branches script)
 * Update MediaWiki: Branch_points, Template:MWReleases, current release pages, e.g. MediaWiki 1.23
 * Bug Wrangler: File blocking bugs in Bugzilla under "MediaWiki 1.XX.0" milestone
 * Developers: Fix all blocking bugs for that release in master
 * Make sure all commits also include updates to RELEASE-NOTES-1.XX
 * Reviewers: Review all changes tagged for that release
 * Reviewers: After merging in master, submit the changes to the REL1_XX branch
 * One day before a minor security or maintenance release, including backports: send pre-release announcement to mediawiki-announce-l

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 "1.XX.0" on mediawiki/core.git and push the tag to Gerrit
 * 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
 * If applicable, send end of lifetime notice for older versions

ExtensionDistributor stuff

 * Update $wgExtDistSnapshotRefs in CommonSettings.php
 * Update relevant 'extdist-branch-' keys in WikimediaMessages.i18n.php
 * Create branches in each extensions for the new release (only if the branch doesn't exist already)

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) bug 234 becomes
 * 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
 * Update release status: Template:MWReleases, Template:MW release status
 * Create Release notes/ with the content of the  file. Need to be wikified, e.g.
 * Remove all Future from pages that are in Category:Due in v and delete that category.
 * On wikidata.org, update Q83

Release a minor version

 * Update RELEASE-NOTES and includes/DefaultSettings.php in the branch
 * Tag "1.XX.Y" in mediawiki/core.git and push the tag to Gerrit
 * 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
 * On mediawiki.org, update Release notes
 * 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
 * Give Wikia early access to the fixed bugs by adding them on CC in bugzilla (one day before the release)
 * Announce upcoming security release on mediawiki-announce.
 * Update git master and most recent wmf versions
 * For each supported branch:
 * Update RELEASE-NOTES and includes/DefaultSettings.php in the branch
 * Tag "1.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, Template:MW legacy release date, Template:MW legacy lts release number, Template:MW legacy lts release date,Template:Current_versions, Template:MW_security_release_date
 * On mediawiki.org, update Release notes of all affected versions.
 * On wikidata.org, update Q83
 * Add versions to bugzilla
 * Update WikiMatrix (Tim has to do this)
 * Edit irc://irc.freenode.net/mediawiki topic