MediaWiki 1.20/wmf3

Deployment of MediaWiki 1.20wmf3 to Wikimedia sites
The latest version (labeled "1.20wmf3") of MediaWiki, the software that powers Wikipedia and its sister sites, is currently being deployed to all Wikimedia sites in stages.

We started on Monday, May 14 and will continue until Wednesday, May 23 (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.

What's new
This set of changes reflects the main line of development activity ("master" in git) between April 30 and May 14:

Core features

 * Allow selection of associated namespace on the watchlist
 * Added device detection for determining device capabilities.
 * Language support
 * Mizo (lus) added.
 * Santali (sat) added.
 * Allow selection of associated namespace on the watchlist
 * set tidy = true for action=purge&forcelinkupdate=
 * Update Chinese conversion table: 海淀山後
 * Show Highest expansion depth in limit report
 * Added 'Show/hide selected revisions' button and checkboxes to Special:Log.
 * make diff title page more relevant
 * Add CSS class .mw-code (matching &lt;pre&gt;)

Core bugfixes

 * Changing HD threshold to 1000px per request. Apparently iPhone and iPad use 980px width and the new layout doesn't give enough room to the content area.
 * Some messages needs escaping of wikitext inside username
 * fix - in RTL wikis resizable are flipped
 * Detect circular references in strip tags
 * Show descriptive error message on invalid title instead of showing an empty line
 * Include the namespace of the page in the "target" parameter of the form to confirm display of a deleted file.
 * {{git|I7ac606f2,n,z 6540260] ({{bugzilla|36669}}) Installer CSS outdated
 * {{git|df62131}} Use the style for htmlform.tip Vector wide.
 * {{git|5d7ae11}} ({{bugzilla|35240}}) Fix mw.loader state machine.
 * {{git|b818462}} Remove UI overrides for simple English.

Developer features

 * Bumping minimum supported version of PHPUnit to 3.6.7
 * Explicitly specify that filename in filerevert is without namespace
 * Upgrade to jQuery UI 1.8.20
 * Add maxresults to list=querypage
 * Allow custom teardown/setup per module through Qunit.newMwEnvironment
 * Factor out module name validation into a static function
 * Make user IDs more readily available with the API
 * Allow changing preferences via API
 * Added Linker::getInvalidTitleDescription to display invalid title entries in various places.
 * $wgGitRepositoryViewers to link to gitweb
 * Move optionstoken from meta=userinfo to action=tokens.
 * Add new-inline-tags to tidy.conf
 * Do not treat EXPLAIN as write query
 * Add MWNamespace::isNonincludableNamespace
 * Only use per-template profiling for one-time profiling output.
 * Use $wgExpensiveParserFunctionLimit over ParserOptions
 * Use local context to get messages and time formatting methods of Language class
 * Some messages needs escaping of wikitext inside username
 * Output media_type for list=filearchive
 * add properties to output of action=parse
 * add variants of content language to meta=siteinfo
 * Made WikiPage recall the source of the data used to load its state.
 * Append a user name to 'user' module requests loaded by JavaScript.
 * Add support for User:0 in 'user' and 'user.groups' ResourceLoader modules.
 * Added a class to body which enables/disables layout transitions
 * Add user talk page in newusers log to LinkBatch
 * Adding new getCreator and getOldestRevision methods to WikiPage class.
 * [SiteStatsUpdate] Added support for memcached staging of stats updates.
 * Integrating mobile device detection class into MW core

Developer fixes

 * Make DumpFilter::$sink public again
 * gettoken param is now deprecated (please fix their tools).
 * add variants of content language to meta=siteinfo
 * add properties to output of action=parse
 * Output media_type for list=filearchive
 * Rename wfArrayToCGI to wfArrayToCgi
 * [FileRepo] Various ForeignApiRepo fixes.
 * API now allows listing of backlinks/embeddedin/imageusage per pageid
 * API import of pages with invalid characters in this wiki leads to Fatal Error
 * Various updates needed to bump min php version to 5.3.2
 * Added $wgLogExceptionBacktrace, on by default, to allow logging of exception backtraces.
 * Treat truncated HTTP requests as errors.
 * Make $wgShowExceptionDetails=false more feasible for production
 * Make getContinueStr protected as it's used in subclass by TMH
 * [FileBackend] Added support for concurrent file write operations.
 * [SiteStatsUpdate] Reduced contention by using a new lockIsFree DB function.

extensions/AbuseFilter

 * Send filter hits and changes to irc.wikimedia.org.
 * Merge " Invalid value of edit_diff"

extensions/AntiSpoof

 * Remove mixed script messages.

extensions/ApiSandbox

 * Merge "Cosmetics: Removing redundant text-align, which looks bad in RTL wikis"
 * Merge "Give the action description explicit ltr directionality."
 * Give the action description explicit ltr directionality.

extensions/CentralAuth

 * Fixup bits of documentation

extensions/CheckUser

 * Support ipv6 ranges up to /48 in size.

extensions/ExtensionDistributor

 * Tidy up a few last loose ends from git additions
 * Use git in error message if using git functions

extensions/FlaggedRevs

 * Fixed function signature warning for pageData.
 * Clarified "average review delay" stat.
 * Merge "Removed excess "edit" permission checks that "review" checks and the onGetUserPermissionsErrors hook already handle."
 * Removed excess "edit" permission checks that "review" checks and the onGetUserPermissionsErrors hook already handle.

extensions/MarkAsHelpful

 * Merge "Add commented lines for the user rights of this extensions"

extensions/Math

 * Remove mixed script messages.

extensions/OggHandler

 * Parameter documentation/type hints

extensions/ProofreadPage

 * Add image links from Page namespace to corresponding images.
 * Merge "Fixup method documentation"
 * Rearrange proofpreadpage files to match more common layout of modern extensions

extensions/SecurePoll

 * Extend vote_ip to 35 characters

extensions/ShortUrl

 * Use PathRouter to do ShortURL routing

extensions/SwiftCloudFiles

 * Work-around for $this failure in closures in PHP < 5.4.
 * Merge "Fixed messy and semi-correct checks for empty container names."
 * Merge "Fixed another check for an empty container name."
 * Fixed another check for an empty container name.
 * Added support for $delim parameter in get_objects.
 * Fixed messy and semi-correct checks for empty container names.
 * Added support for concurrent write operation and made some code cleanups.
 * Verbatim forked the current cloudfiles dir into a wmf one.

Features

 * You will now get a confirmation prompt if you try to navigate away from Special:Translate while you have translation editors open to avoid accidental loss of unsaved work.
 * Reduce precision of percentages in statistics tables at Special:LanguageStats and Special:MessageGroupStats to make it less noisy and more readable.

Fixes

 * Making link appearance in bar saner for edge cases: The language of the current page is always shown in bold, and links only point to Special:Translate if the target translation page doesn't exist at all (as opposed to just being 0% translated).
 * On Special:AggregateGroups, the form for adding new aggregate groups is reset before adding another new group.
 * The translation editor no longer prints warnings when it is shown to anonymous user who doesn't have right to translate.
 * Handle correctly groups which have a comma in their name. This fixes the problem trying to group Wikimedia Highlights under an aggregate group.
 * Remove deprecated languages from language selectors on Special:Translate and other places.
 * Message index creation can now be configured to run immediately. You should no get anymore false warnings about unknown messages when the jobqueue is stuck.
 * Avoid division by zero warnings for groups with zero messages in Special:LanguageStats and Special:MessageGroupStats


 * Page protection confuses page translation (this fix is actually not working the WMF environment and needs follow up)

Other development or not applicable on WMF

 * Change I66ec154e: New variable $2 is optional for Translatewiki.net
 * Correct member variable name
 * Logging to debug
 * Allow all whitespace as a separator in the DTD parser.
 * Adding kate-swp to .gitignore.
 * Proper fix for exceptions
 * Replace qqq with global $wgTranslateDocumentationLanguageCode.
 * More logic to processMessageChanges
 * Fix a bug in api tokens tests
 * Better way to run all tests in the current directory
 * Split FFS.php into smaller files
 * Added translate-group-desc-waymarked-trails message
 * Special:ManageMessageGroups is missing "ignore" option
 * Better way of providing API tokens

extensions/TranslationNotifications

 * Merge "Ability to post to user talk pages on other wikis."
 * Merge "Normal way of adding to array"
 * Ability to post to user talk pages on other wikis.
 * Rephrasing translationnotifications-languages-to-notify-label
 * Normal way of adding to array

extensions/UploadWizard

 * Actually disable timeout for API calls.
 * Feature to copy metadata to a batch of files.

extensions/VisualEditor

 * Fix fatal error in parse.js
 * Don't eat end token in ListHandler, and lazier Quote handler registration
 * List markup is created during the sync23 phase.
 * Improve template / tplarg precedence in tokenizer
 * Use upright option, including the 0.75 default width
 * Handle upright option properly
 * Add basic # REDIRECT handling
 * Only specify the width for thumbnails to keep the aspect ratio
 * Reduce debugging overhead a bit, and provide default internal image size
 * Forward-port Cite extension

extensions/WikiLove

 * Merge "fix for - better error message for loss of session data"

extensions/WikimediaIncubator

 * Use context instead of globals
 * Make analyzePrefix accept Title objects and use TitleIsAlwaysKnown hook
 * Merge "Adding myself as one of the authors. I am helping to programme this extension on an external repository."

extensions/ZeroRatedMobileAccess

 * Add Partner IP Ranges Banner Translations
 * fix wording of message

Developers have also improved the software "under the hood" in many ways. A more detailed list of changes can be found in the draft release notes.

If you encounter issues
If, despite our efforts, you encounter issues due to the upgrade; we'll try and fix them as soon as we can. Please report issues [//bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki&version=1.20-git in our bug tracker], which is where we look for reports of problems. And the faster you tell us about problems, the faster we can address them.