MediaWiki 1.21/wmf4

Deployment of MediaWiki 1.21wmf4 to Wikimedia sites
The latest version (labeled "1.21wmf4 ") of MediaWiki, the software that powers Wikipedia and its sister sites, will soon be deployed to all Wikimedia sites in stages.

Deployment will start on Monday, November 12 and continue until Wednesday, November 21 (see the roadmap).

We will continue to deploy the latest software every two weeks. This is intended to minimize disruption and possible issues, and make it easier to identify the cause of problems, since the possibly problematic code will be much more recent.

Core changes

 * - Fixing Diff and Wikibase referenced commits
 * - Fix regression in API edit of redirect
 * - fix conflict marker in comment
 * - Account creation email link needs protocol
 * - Cleanup Hebrew grammar code a little.
 * - test classes autoloading path was broken
 * - Removed unused var from jquery.badge.js
 * - fix @depends
 * - Set wgLanguageCode/wgContLang for backup_PageTest.php
 * - Test: Add AutoLoaderTest.
 * - avoid STDERR diff3 messages when using wfMerge
 * - Provide tests for edit conflicts.
 * - Remove unneeded third param
 * - Follow-up Ib2b8dfb8 (803abc7): fix a typo in a variable name
 * - Explicitly define member variables
 * - Gracefully handle failure to load text blob.
 * - Lint: Go-go-gadget jshint! Passing entire JS code base (again).
 * - Make sure that SQLite uses no prefix
 * - Add grammar tests for Hebrew
 * - Minor fixes to User and ApiQueryUsers
 * - Sanitize text input to $.fn.badge
 * - Simplify cached check in Special:SpecialPages
 * - Fix E_STRICT in ForeignAPIRepo
 * - move ORMTableTest from Wikibase to core
 * - Oops, restoring the line I accidently deleted.
 * - Allowing badges to use strings and returning this
 * - Change copy of talk page link in personal tools
 * - [FileJournal] Randomly prune old log entries.
 * - Put a 15 minute limit on the cache key lock in nextJobDB.php
 * - [JobQueue] Abstracted nextJobDB.php to not assume JobQueueDB.
 * - [FileBackend] Added getFileHttpUrl function.
 * - More parameter stripping tests: nested and single-line
 * - Add a test for named vs. positional parameter whitespace stripping
 * - Test broken br tag sanitization
 * - Add test for &lt;/pre&gt; inside nowiki block
 * - Add parser tests for template-generated table cell with attributes
 * - Fix &quot;Undefined index: start&quot; notice
 * - Add test for bracketed external links with invalid template-generated target
 * - Add RecentChange::selectFields and use it
 * - Proper fix for vanishing content.
 * - fix testEditCount to work with non-wikitext content in main NS
 * - Add profiling for database interaction
 * - [FileBackend] Avoid some stat calls in various operations.
 * - Simplified thumb.php for 404 handling.
 * - [FileRepo] Allow different file URLs for media based on file extension.
 * - Add since 1.20 for Revision::READ_LATEST
 * - Add a test for an uncovered bullet in a deeply nested list
 * - Define $wgAlwaysUseTidy to false where needed in unit tests
 * - Make contribs. link on Special:ListUsers red for users with 0 edits
 * - Update RELEASE-NOTES-1.20 from tarball
 * - put SpecialMovepageAfterMove hook after success message output
 * - Additional Parsoid-centric tests to improve code coverage.
 * - Making sure badge container is a consistant height
 * - Doc tweak: variable is actually $isKnown and is a reference
 * - Content::convert for conv. betw. content models.
 * - Hook for custom search hit rendering.
 * - Fix for Iaac1bb9a (6b2b06d): remove leading space
 * - follow-up for Ic9e728f8, release db connection in ORMRow
 * - Tweaking CSS of badge display per Vibha'a design
 * - Fixed version docs for job queue.
 * - make ORMRow compatible with load balancer, replace usage of wfGetDB( DB_MASTER )
 * - Extend category/p interaction test with indent and template
 * - Add a test for category link / paragraph interactions
 * - Drop possessive in personal tools
 * - Allow diffs across text based content.
 * - mw.loader: Fixes for &lt;script&gt; and &lt;link&gt; loading.
 * - Clean up: Fix trailing comments from I7e22cc3c
 * - replace # by // for comments
 * - make addPortletLink work with CologneBlue
 * - WAI-ARIA landmark roles in most used skins
 * - Update whatlinkshere-hideimages to file inclusion
 * - Fix escaping of pattern in export-0.8.xsd
 * - update export-demo.xml to version-0.8.xsd
 * - Update AutoLoader
 * - Galician date and time localization
 * - Moved FileBackend tests to /filebackend.
 * - Update filename field on Special:Upload after sanitizing
 * - Document what ParserOutput::setProperty is for
 * - raise timeout for WikiPage tests
 * - Fix handling of strings containing \0 in SQLite.
 * - minor style improvements
 * - Correct URL in comment; currently points to wrong post
 * - [JobQueue] Actually use the right job_random value.
 * - rephrase underline-default message
 * - Also ignore sublime project files
 * - Link $wgVersion on Special:Version to Release Notes
 * - Adding primary authors of Wikidata branch
 * - fixed type hints
 * - Some cleanup of doApiRequest in test module
 * - add redlink styles to legacy shared.css
 * - Added Parsoid WT escaping tests (several disabled for PHP parser).
 * - Use $this-&gt;getTitle instead of $out-&gt;getTitle
 * - Fix undelete.
 * - race condition in CdbTests
 * - Clarify error message for oldid info action
 * - [FileBackend] Check if paths are writable for delete ops too.
 * - Revert &quot; Tone down sanity check, just warn, don't die.&quot;
 * - [JobQueue] Use &quot;flush&quot; option with commit.
 * - [JobQueue] Make sure broken/duplicate job removal counts in stats.
 * - CologneBlue rewrite: rewrite bottomLinks
 * - CologneBlue rewrite: output the sidebar items as &lt;ul&gt; lists
 * - Update parts order in message files
 * - [JobQueue] Added a test job that just replaces itself.
 * - ORMRow must not ignore failures on insert by deault.
 * - Show &quot;Page information&quot; toolbox link to info action also in history etc.
 * - [FileRepo] Changed &quot;publishBatch&quot; to handle failure better.
 * - [FileBackend] Support &quot;ignoreMissingSource&quot; for copy and move operations.
 * - WikitextContentHandlerTest expects the messages to be in English.
 * - Fixed loading process for user options.
 * - hints for generatexml param in api modules
 * - [FileBackend] Use the new CloudFiles metadata functions.
 * - [FileBackend] Made path normalization in FileOp more robust.
 * - [FileBackend] Simplified code for handling &quot;overwrite&quot; parameter.
 * - [FileBackend] Simplified FileOpBatch code to have just one &quot;run&quot; function.
 * - Don't fail on incomplete row info when exporting.
 * - Proper directionality for entry points table
 * - Honor $wgLogExceptionBacktrace in APIMain
 * - Revert &quot;Deglobalization in EditPage.php&quot;
 * - [FileRepo] Fixed purging for &quot;short style&quot; thumbnail names.
 * - Passing the undid revisionId from the API request to the WebRequest
 * - Regression: API action=parse with nonexistent page
 * - OutputPage::addWikiTextTitleTidy requires variable as second para
 * - Fix typo in method
 * - Warn when creating TextContent around false/null.
 * - Back out config table and related code
 * - Deglobalization in EditPage.php
 * - list=allusers&amp;aurights=[unusedright] returns all users of the wiki
 * - CologneBlue rewrite: rework quickbar once again
 * - Use selectRow when load one ArchivedFile
 * - It should not be possible for a RequestContext's WikiPage and Title to be different.
 * - Prevent editing textarea from overflowing out of bodyContent
 * - Use LogFormatter to format rights log.
 * - Correcting system message linksearch-text
 * - Fix test for view language for non-wikitext in main NS.
 * - tweaks to mediawiki.action.history.diff.css
 * - mw.notification: fix error on notif. close with $.fx.off=true
 * - Update some external conversion tables to latest versions

AbuseFilter

 * - Run filter number through formatNum
 * - fix php notices

CategoryTree

 * - Namespace selection option in Special:CategoryTree

Collection

 * - Revert &quot;There is no need to use an expanded URL for this downloadlink.&quot;
 * - There is no need to use an expanded URL for this downloadlink.

ConfirmEdit

 * - Support generation of random challenges instead of wordlist-based ones.
 * - Allow to generate the challenges from more than 2 wordlist entries.
 * - Provide parameters for setting the min/max length of the captcha &quot;word&quot; (challenge).

ContributionReporting

 * - Maintenance for ContributionReporting extension.

CustomData

 * - Add i18n file

DonationInterface

 * - Fixes for DD
 * - Adding dd-ES for Direct Debit in Spain.
 * - payments &quot;emailAdd&quot; field can be optional
 * - Tweaks to the orphan rectifier - Explicit cancel behavior, more logging, typo cleanup
 * - Adding remaining name and email only forms and adding country-specific instructions.
 * - Hacking in a new API call so status 200 Globalcollect CC payments will ever go through. This is terrible, and temporary until I can figure out a nicer way to do this.
 * - Adding CTID to Session Velocity Filter output
 * - Making sure we add an antimessage on transactions we deliberately fail.
 * - Falseish when I was trying to look for a zero. So very annoyed.
 * - Fixing the stack trace currently being served up by bt and obt transactions

Echo

 * - Don't run the same SQL file 3 times
 * - Make sure that notification count is defined and properly typed.
 * - Checking that revert notification is enabled before firing it
 * - A couple CSS tweaks to eliminate overlap and make sure all link is visible
 * - Drop posessive in notifications personal tool
 * - Add max-height to notification overlay
 * - Use canonical url for email links
 * - Improve Echo Hooks
 * - Adding more notification icons
 * - Echo: Add &quot;reverted&quot; notification for when a user's edit is reverted.

EventLogging

 * - Fix tiny mistake in comment block

FlaggedRevs

 * - Some message need GENDER support

GeoCrumbs

 * - Delete old BreadCrumbs files

GlobalBlocking

 * - Fix block expiry times

GlobalUsage

 * - optimize globalimagelinks query

Insider

 * - maintenance, resubmitting

LiquidThreads

 * - Reduce master load from Title::isValidMoveOperation when possible

MobileFrontend

 * - update Makefile to pull e3 logger from elsewhere
 * - send hostname with logged events
 * - log when a section is opened on beta
 * - add margin for nested lists
 * - update qqq code

MoodBar

 * - Fix c&amp;p error from I54e13245
 * - Add right and action messages for the delete right
 * - MoodBar response API is failing on non-existing user talkpage

Narayam

 * - Enable Narayam on am.wikipedia

OAI

 * - Brion doesn't have to do everything himself...
 * - Avoid constructing Title object if not needed
 * - Remove explicit pass by reference from OAI code.
 * - Add alias file for Special:OAIRepository.

OggHandler

 * - Fix ffmpeg thumb extraction
 * - Set -y to override 0-byte temp file.

PageTriage

 * - Integrate 'mark as reviewed' notification into pagetriage

PagedTiffHandler

 * - Display TIFF size correctly

ParserFunctions

 * - Add test for special parameter whitespace stripping behavior
 * - Add a test for the preservation of tags in the #switch default value

ProofreadPage

 * - Allow to edit old versions of index pages.

RelatedArticles

 * - maintenance

RelatedSites

 * - maintenance

SwiftCloudFiles

 * - Cleaned up exception error messages.
 * - Fixed doc typo.
 * - Merged temp URL feature from upstream.

TocTree

 * - maintenance

Translate

 * - Fix file format.
 * - Rewritten pyffs to match mwextffs logic
 * - Better escaping in pyffs
 * - Proper check for untranslated messages
 * - Documentation refresh
 * - Update messages for Wikimedia mobile groups
 * - Remove obsolete messages
 * - - PLURAL suggested for headline messages on page translate move confirmation page
 * - Fix fatal error with the dynamic message groups
 * - - Dynamic message groups not in list=messagecollection API
 * - Follow-up I3df95f84: Put file in correct folder
 * - Avoid PHP notices in MessageCollection
 * - Add context to TranslateTasks
 * - MediaWiki 1.19 or later is now required
 * - Remove XLIFF support
 * - JSHint/JSLInt suggested fixes.
 * - Document undocumented parameter
 * - magic-export.php does not export files
 * - Drop unneeded else.
 * - Fix fatal: TPException doesn't know getWikiText
 * - Add prop revision to messagecollection api
 * - getReviewBlockers only has two params
 * - Use single quotes and tabs instead of spaces
 * - Remove unreachable code
 * - Remove unused global and two unused assignments
 * - Add missing required parameters for dieUsage
 * - Update @throws docs
 * - Stylize
 * - Add RecentAdditionsMessageGroup
 * - Fix documentation and variable name

UniversalLanguageSelector

 * - Follow up of Ie536dbe1 trailing whitespaces
 * - Fixed the - 'class' as property name
 * - Reformat code.
 * - Update jquery.uls from upstream
 * - Fixed -  Cancel / Apply button on Display settings
 * - Geoclient fixes for https and WMF
 * - Update from upstream
 * - Fix - Display Settings shows dual labels for Font Selection
 * - i18n updates for jquery.uls
 * - Avoid contstructing html with concatenation
 * - Update jquery.i18n from upstream
 * - Avoid constructing html with concatenation
 * - Update jquery.i18n from upstream
 * - Add z-index for the input selector to avoid hiding behind popup divs
 * - Correct the preference overriding for IME

UploadWizard

 * - Display Copied msg after copying metadata
 * - Fix typos: flickr -&gt; Flickr
 * - Implement uploading images from Flickr
 * - Make sure copyMetadataCrtlDiv exists and is correct
 * - Add in new checkmark and alert graphics for upload step

Vector

 * - Fix width of edit page elements after merge of I42f42654.

VisualEditor

 * - Add basic support for about groups
 * - Added some more key bindings for IE and Mozilla support
 * - Mapped tab key to indentation action
 * - Refactored commands into a registry
 * - Replaced command factory with new command class
 * - Fixing native selection rendering for floats
 * - Make the save button available immediately for oldid pages
 * - Made commandFactory tests not break anymore
 * - Flag pre nodes as having significant whitespace
 * - Made jquery.multiSuggest it's own RL module
 * - Removed introduction of global variable
 * - Fixed line-height variations between sa and mw integrations
 * - Add change marking for Parsoid's benefit
 * - Styling aliens with a yellow background; preventing absolute positioning
 * - Fixed font-size issues for monobook integration
 * - Improved the responsiveness of the context menu
 * - Integration revamp for December release
 * - Removed ve.init's dependencies on ve.ui styles
 * - Introduce meta-linmod
 * - Base for inspectors &amp; context menu to operate on 0 length selection.
 * - Cleanup tool API
 * - Fix ve.batchSplice to behave in line with docs
 * - Fix copyObject/copyArray behavior with null values
 * - Add InspectorFactory to tests

cldr

 * - Final minor updates to the 22.1 release

wikidiff2

 * - Describes libthai dependency in README.