MediaWiki 1.20/wmf4

Deployment of MediaWiki 1.20wmf4 to Wikimedia sites
The latest version (labeled "1.20wmf4") 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, May 28 and continue until Wednesday, June 6 (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

 * - Updating .gitreview to point at the wmf/1.20wmf4 branch
 * - Applied patches to new WMF 1.20wmf4 branch
 * - Creating new WMF 1.20wmf4 branch
 * - Revert &quot;Remove old compat methods/functions for mb_ functions&quot;
 * - remove windows lines ending
 * - Check validity of fetched titles and show a descriptive messages when an invalid title is encountered.
 * - setTitle on a new null revision
 * - Fix trailing whitespace (and mixed spaces) in XSD files
 * - Remove old compat methods/functions for mb_ functions
 * - Revert &quot;Re-phrased titles for diff and history pages&quot;
 * - Removed function_exists check for header_remove since it's now always available.
 * - Set title for Linker::revComment on Special:NewPages
 * - Check validity of fetched titles and show a descriptive messages when an invalid title is encountered.
 * - Follow up change Ia4147e83: Register new message key
 * - [ResourceLoader] Use getLanguage accessor as the field is lazy-loaded.
 * - Adding a prefs header for options related to User Pages
 * - Add some more detailed info about the xslt param of format=xml
 * - user table: replace some '*' with explicit fields in selects
 * - Title.php: replace some '*' with explicit fields in selects
 * - Block.php: replace '*' with explicit fields in selects
 * - Add passing test for definition list with empty definition
 * - dump schema get unique contraints on id
 * - Fix a typo in resources/jquery/jquery.byteLimit.js
 * - Add and fix comments in some includes files
 * - Workaround for autoloading when using php namespace.
 * - Make it work in wikis not configured in English. (hardcodes message values) php phpunit.php includes/WikiPageTest.php
 * - Work around annoying Revision::newFromArchiveRow exception.
 * - Skip legacy archives rows that already have the sha1 filled.
 * - Removed checks for the &quot;MEDIAWIKI&quot; constant on files that only define classes.
 * - When file sha1 populator fixes wrong values, make it fix the other metadata.
 * - Added canonical url check for squid caching on view.
 * - Added missing GPLv2 headers in some places.
 * - [FileRepo] Cleanup of URL config.
 * - Remove OutputPage::uncacheableBecauseRequestvars
 * - Refactor DeviceDetection: make it OOP and extendable
 * - Added missing GPLv2 headers in some places.
 * - [FileBackend] Avoid an extra RTT on Swift listing operations.
 * - HTMLForm: throw a warning when no callback is set
 * - Scribunto parser support
 * - &quot;Mark pages as visited&quot; should submit previously established filter options The form was missing the hidden inputs containing the filter options already selected. This change fixes adds those inputs.
 * - Added missing GPLv2 headers in some places.
 * - Re-phrased titles for diff and history pages
 * - added since tag to wikiScript after I wasted a minute finding when it was added - joy!
 * - Adding params to getArrow
 * - Remove some methods from FakeTitle that do not exist anymore in Title.
 * - Messages parsed through MessageCache should never show edit links. Copy to MessageCache.php the r92703 (d70ad8c) fix. Fixes
 * - [FileBackend] Added some Swift listing profiling.
 * - Added missing GPLv2 headers in some places.
 * - Avoid extreme performance regression in ImagePage.
 * - give path when not able to write the thumb
 * - Wrap message querypage-no-updates into a class
 * - Add var dataCacheTime to mw.config
 * - [FileBackend] Made supported ops check more explicit for sanity.
 * - [FileRepo] Disabled ancient migration code, kills performance.
 * - Fixed undefined var notice.
 * - fix for Ibe3e88fa: restoring doDeleteUpdates.
 * - Language::isValidBuiltInCode passed an object
 * - Improved/added parameter documentation
 * - [FileBackend] Moved closeResources call up to parent class function.
 * - At least use /*$wgDBTableOptions*/; if passed through MW
 * - Document DBO_PERSISTENT in DefaultSettings.php
 * - [FileBackend] Added profiling to doQuickOperationsInternal.
 * - [FileBackend] A few code cleanups and some error message improvements.
 * - [FileRepo] Use faster doQuickOperations function for thumbnails ops.
 * - Tweak includes/zhtable/Makefile.py
 * - [FileBackend] Improved connection error handling and logging a bit for Swift.
 * - empty string test for old page_restricions entries
 * - multi dbms support in api
 * - add since tags
 * - Fill GenderCache inside ApiPageSet
 * - prop=revisions: join user table to get user name
 * - Revert &quot;Added RandomRootPage extension &quot;
 * - Added RandomRootPage extension
 * - Updating Release Notes about addition of getCreator and getOldestRevision methods
 * - Update autonym for 'bpy'.
 * - Renamed new BagOStuff getBatch function to getMulti for consistency.
 * - Don't log HttpError
 * - Minor PECL client fixes
 * - [FileBackend] Removed likely surperflous memcached retry code.
 * - Implemented a wrapper for the memcached PECL client
 * - Add/update function level parameter documentation
 * - [FileBackend] Added CDN support to Swift for third-party sites.
 * - [FileBackend] Added getScopedLocksForOps function.
 * - Added missing GPLv2 headers in some places.
 * - Bug 36785 Special:Shortpages lists only NS_MAIN pages. (pages from all $wgContentNamespaces should be listed)
 * - Cosmetic change: add a new line after a section title.
 * - Generalizing LinksUpdate to allow extensions to add arbitrary update handlers.
 * - Add DebugInfos to api result
 * - GROUP BY and ORDER BY supports arrays in Database class
 * - Remove extra unneeded whitespace
 * - Add includes/zhtable/.gitignore to avoid data files to be committed.
 * - Reduced contention slam potential in User::invalidateCache.
 * - [IP] Added an IP::prettifyIP function for displaying IPs.
 * - Set $wgLanguageConverterCacheType to CACHE_NONE in installer
 * - exclude immovable namespaces from the namespace selector on Special:MovePage
 * - Adding NamespaceIsMovable hook to isMovable in MWNamespace, much like done in Title::isMovable.
 * - Various fixes to Special:Mostlinked.
 * - fetchLanguageNames: fallback to default instead of false
 * - Make errors from ArticleSave hooks propagate to the interface
 * - The message on the top of Special:RecentChanges is now displayed in user language instead of content language
 * - [FileBackend] Made it easy to use registed file backend config in multi-write backends.
 * - Various fixes to Special:Mostcategories.
 * - [FileBackend] Syncing from journal support.
 * - Title::moveToInternal doesn't return anything, but it does throw an exception

ArticleFeedback

 * - Fix a variable name: track -&gt; tracked.

CategoryTree

 * - Bug 36486 - CategoryTree: get_object_vars expects parameter 1 to be object, null given

Cite

 * - Make Special:Cite translatable

CodeReview

 * - [CodeReview] Commit i18n change from mediawiki.org

Collection

 * - Bug 36706 - Collection: Invalid argument supplied for foreach

DismissableSiteNotice

 * - Replacing table with div and fixing directionality.

DonationInterface

 * - Fixed a small bug in the IP velocity filter extra, and made sure it was hard-coded in the off position for the orphan recitfier, until we know it's using the correct client IP.
 * - Adding an IP velocity filter for DonationInterface. It uses memcache, and the php5-memcached library, but should fail nicely if those things aren't installed/configured and the filter is enabled.
 * - (mingle-fr-2012-448) Adding utm fraud handling for log parser.
 * - Tiny cleanup in the orphan slayer logs. Could have something to do with the line endings smooshing after the aggregator runs.
 * - (mingle-fr-2012-448) Fixing nightly fraud emails
 * - Switching all of the values back to numbers instead of strings. Strings cause validation to be performed as strings and not numbers, thus 100 &lt; 5
 * - (mingle-fr-2012-69) Added fraud handling for email domains.
 * - (mingle-fr-2012-69) Added fraud handling for utm_medium and utm_source
 * - (mingle-fr-2012-69) Updating utm_campaign fraud detection
 * - (mingle-fr-2012-69) Adding a custom filter for risky countries.
 * - (mingle-fr-2012-67-fix-class-extends) Fixed the extending class.
 * - (mingle-fr-2012-67) minFraud servers can now be set in LocalSettings.php
 * - (mingle-fr-2012-67) Upgrade our implementation of MaxMind minFraud
 * - Fundraiser 2012 card #65 Stops the GC adapter (and orphan slayer) from trying to do a cancel_payment where GC will think no payment exists. Also fixes a minor bug that would only pop up in the orphan slayer.
 * - (mingle-fr-2012-67) Upgrade our implementation of MaxMind minFraud

FlaggedRevs

 * - Removed noflip param after some $wgLanguageCode testing.
 * - Fixed alignment of diffs in notices on view/edit.

Gadgets

 * - Show 'viewsource' when user is not allow to edit gadgets

Interwiki

 * - Fix output of form
 * - Add/update parameter docs

LiquidThreads

 * - Update PostgreSQL schema for LiquidThreads

MobileFrontend

 * - email -&gt; e-mail
 * - Reintroduces changes removed in 59fa8d9a7071849c01b305e8a840664bdc462319 that broke MW 1.19 compatibility.
 * - * Makes feedback form for technical problems appear only if there is not a link configured for techcnical problem feedback * Changes getFeedbackHtml to renderFeedbackHtml since the method was already partially rendering the HTML anyway. Now it renders all of the HTML generated in this function so behavior is consistent and predictable. * Adds htmlspecialchars escaping to generated feedback links
 * - close section link in beta
 * - add beta class to body tag when beta enabled
 * - Bug 37097 - stuck action=mobileview cache
 * - increment z-index of references on beta
 * - deal with landscape differently
 * - give navigation icons a min-width
 * - don't keep menu open when clicking menu items
 * - remove tests moved to mf-navigation-legacy test
 * - fix broken tests
 * - adjust transitions for change to full screen search
 * - Bug 37049: Non-latin characters get converted into entities
 * - use history api to avoid problems with buggy browsers
 * - Simplify robots and Apple touch icon outputting
 * - remove last edited information from footer
 * - Remove deadbeef
 * - Refactoring of option cookies
 * - Don't display two similar headings on beta opt in/out forms

MoodBar

 * - Fix all trailing whitespace

Narayam

 * - Added a test for Amharic.
 * - Add new rule to Kannada transliteration
 * - Changed Gujarati transliteration rules according to feedback

OggHandler

 * - Function level parameter documentation

Oversight

 * - Add missing action messages displayed on Special:Oversight

PageTriage

 * - Adding a spinner to the list refresh button
 * - Add the API for tagging, which includes tags and deletion
 * - Set up language file and config file for tags
 * - Enabling 'unmark as reviewed'
 * - Adding pokey to curation toolbar
 * - Moving toolbar hook from BeforeArticleDisplay to ArticleViewFooter
 * - Creating layout for the toolbar Patch 2: some more styling Change-Id: Idf428eababd59ae9856a3ffd1408358d68eb1043
 * - Fixup more whitespace
 * - Fixup documentation and whitespace and such
 * - Styling tweaks for the review button and flyout content area
 * - Adding Mark as Reviewed functionality to curation toolbar
 * - Fix obvious error, style inconsistenties and missing punctuation.
 * - Add template tags to curation toolbar
 * - Making sure that curation toolbar doesn't display unless it's supposed to
 * - Adding .gitignore.
 * - Fixing - making sure float status is always correct
 * - updated README
 * - Fixing (floating nav width issue) and fixing some whitespace while I'm at it
 * - Pass required variables to article template
 * - Adding missing articleInfo template
 * - Added icons, made flyouts work
 * - Adding a button for refreshing the page list
 * - Adding badger jQuery plugin, modified for use in curation toolbar Patches: Making some modifications to the plug-in Change-Id: Ic3d53c2f64189b9a3d9afaa83057cde75fe2063e
 * - Fixing - display an error message if interface loading fails Patch 1: more specific error message and removing commented out debugging code Change-Id: Iaf538f31db7a68803e531c43e43875f50cb527f4
 * - Removing unneeded dependencies for the article reviewing action
 * - Add some fix to articlemetadata unittest

ProofreadPage

 * - ProofreadPage image width on edit.

Renameuser

 * - Change the &quot;Block log&quot; button to &quot;Show block log for user&quot;.
 * - Adding .gitignore.

SiteMatrix

 * - - api action=sitematrix puts out //$lang.wikipedia.org as sitename

SpamBlacklist

 * - Remove Wikimedia-specific configuration from the extension.

SwiftCloudFiles

 * - Remove period from description message.
 * - cURL handle fixes.
 * - Tweak description to look shorter
 * - Made $unused param optional.

SyntaxHighlight_GeSHi

 * - Remove usage of mw-code-inline

TorBlock

 * - Bug 36708 - TorBlock still use wfGetIp

Translate

 * - Update check blacklist for 'cite_text'.
 * - Removed unnecessary token check from Special:AggregateGroups
 * - In Special:AggregateGroups, sort aggregates and their subgroups
 * - Outdated caches were not recreated when file and wiki state match.
 * - Sort subgroups of an aggregate group on Special:AggregateGroups.
 * - Remove unused variables left by refactoring
 * - Fix - Fatal error on Special:AggregateGroups
 * - Make 9*9@72dpi icons into 33*33@264dpi icons.
 * - Special:AggregatGroups works now well enough to be listed
 * - Link translation admin pages like translator pages are
 * - Remove support for OpenLayers

TranslationNotifications

 * - : Filter source language signups
 * - Excluding discouraged pages

UploadWizard

 * - Add message for, then implement, redirecting to UW

VisualEditor

 * - Basic rt support for indent pre variant
 * - Slightly improve formatting of web service; test commit message tweak
 * - Use '/bin/sh' instead of '/bin/bash'
 * - Support definition lists with empty definition
 * - Add a small test runner with result archiving in git repo
 * - Properly round-trip dd/dt; 178 round-trip tests passing.
 * - Resolve subpage links, and remove hack for H: titles
 * - Notes on missing parser functions, more error reporting tweaks
 * - Add self alias
 * - A few (partly hackish) improvements
 * - More tweaks to the intro message
 * - Add a longer welcome/help message and a link to the Parsoid docs
 * - Sanity check for tokens being an array
 * - Fake fullpagename et al a bit better
 * - Fix non-existing revision error reporting
 * - Report missing revisions when retrieving templates
 * - Keep going on tokenizer errors
 * - Improve shell wrapper for parsoid service
 * - Use text/x-mediawiki content type, and handle tokenizer errors without --debug
 * - Fix a debug print reference error
 * - Capital T in second part of Content-Type
 * - Improve the serializer and its output display in the web service
 * - Add an extra newline before headings, and ignore favicon.ico requests
 * - Start slightly more workers than there are CPUs
 * - Make sure pageName is set in the web service, and handle empty page name in parser function
 * - Add some checks against undefined tokens returned from async transforms
 * - Fix an external link regression, and add server shell wrapper and setup docs
 * - Basic parser / serializer web service
 * - No end delimiter after template row attributes
 * - Link round-tripping and other improvements
 * - Round-trip nowiki
 * - Serializer and table round-tripping improvements
 * - Support table captions and properly delimit the end of table options
 * - Use outerHTML to serialize unhandled DOM node in serializer
 * - Fix first bug caught by new roundtrip mode for parserTests
 * - First pass updating parserTests to verify dom-&gt;wikitext serialization.
 * - Renamed items to itemCount for better code readability.
 * - Track list prefixes in the list start handler and use them to output serialized text in list item handlers.
 * - Strip RDFa attributes in parserTests
 * - Start to handle links
 * - Use single _serializeToken handler for both DOM and tokens
 * - Simplistic wikitext round-tripping with parse.js --wikitext
 * - Don't eat newline tokens in the ListHandler
 * - Removed html5 parser patch no longer needed with 0.3.8
 * - Add a new wikitext serializer, with limited functionality.
 * - Big token transform framework overhaul part 2

WebFonts

 * - ext.webfonts.fontlist.js: Fix trailing comma in object literal (broke IE7)

WikiEditor

 * - Making ltr default for characters.
 * - Fix for
 * - Change the code of Greek to 'el'.
 * - fixing some RTL issues with Wikieditor dialogs.

WikiLove

 * - WikiLove is no longer experimental, updating preferences

WikimediaIncubator

 * - Fix message escaping
 * - Better main page detection, and adapt the info page when a main page is found
 * - Simplify code by passing a Title object to analyzePrefix which checks namespaces
 * - Remove redundant code
 * - analyzePrefix updates and other minor updates
 * - Update to code standards

WikimediaMaintenance

 * - Add maintenance/archives/patch-filejournal.sql to new wikis