MediaWiki 1.21/wmf5

For the most noteworthy changes in this deployment, see and the changes to the release notes.

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

Deployment started on Monday, November 26 and continue until Wednesday, December 5 (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.

Most important changes
Editors:
 * one-click (AJAX) patrolling, for both new page and diff patrol (see )
 * Template Sandbox, which lets you preview a page with a change in a template it uses

Internationalisation/localization:
 * Now formatted numbers in Spanish use space as separator for thousands, as mandated by the Real Academia Española.
 * Kurdish formatted numbers now use period and comma as separators for thousands and decimals respectively.
 * Narayam: removed MyBest keyboard because of failing tests and no documented reference

Template, user script, & skin hackers:
 * The "data", "time", "meta", and "link" elements are allowed within wikitext for use with Microdata (if enabled on the wiki).
 * The HTML5 "mark" tag has been whitelisted.
 * jQuery upgraded from 1.8.2 to 1.8.3.
 * In your wiki's MediaWiki: .css, h4, h5, or h6 headings in the sidebar have to be changed to h3 to work (more details at https://gerrit.wikimedia.org/r/#/c/30361/ and )

Wikisourcers:
 * ProofreadPage gets an OAI-PMH API: Extension:Proofread_Page

Core changes

 * - Fix Diff/Wikibase pointed revisions
 * - Add $pageObj-&gt;clear for newtimestamp
 * - mark ApiEditPageTest as being slow tests
 * - Revert &quot;[FileBackend] Added optional callback parameter to concatenate.&quot;
 * - Revert &quot; Simplify &quot;my talk&quot; link logic in personal tools&quot;
 * - make $.tablesorter support headers with colspan
 * - Follow up: I1b017e13 - Fix Strict Standards
 * - Allow null for title in preprocess
 * - Tweak new user creation log messages
 * - Fix misleading param name in FormatJson::encode signature
 * - [LockManager] Use proper hmac function for LSLockManager.
 * - Simplify &quot;my talk&quot; link logic in personal tools
 * - Added profiling to test runner.
 * - Add MediaWikiTestCase::checkHasDiff3 and use it
 * - Allow all rc options in feeds
 * - Add EditPage hooks AlternateEditPreview, EditPage::showStandardInputs:options
 * - Fix exception when searching for stuff beginning with &quot;Media:&quot;
 * - Fix uselang parameter in ApiWatch
 * - Change decimal separators for numbers in Kurdish
 * - [FileBackend] Improved getFileProps docs a bit.
 * - Change Spanish formatnum behavior
 * - Additional tests to keep Parsoid in line (regressions + accuracy)
 * - Test handling HTML tag like structures
 * - [FileBackend] More stat caching improvements.
 * - [FileRepo] Added File::getStreamHeaders function for convenience.
 * - Update autonym for nds-nl
 * - Update autonym for nds-nl
 * - [FileBackend] Added back ability to delete file HTTP headers.
 * - Fixed metadata-loss bug from b80bd6159bdf946c1d4fa1e143fea221937d848a.
 * - Add $wgAuth-&gt;updateExternalDB calls back into core
 * - Test wiki link to title with question mark
 * - [FileBackend] Added support for changing headers on existing objects.
 * - [FileRepo] Quashed melodious 4-tuples into silence.
 * - [FileRepo] [FileBackend] Added support for custom file headers.
 * - Test un-closed noinclude, onlyinclude and includeonly tags
 * - Fix Special:Preferences tabs in IE8 compatibility mode
 * - Always return something nice in Language::translateBlockExpiry
 * - Login returnto doesn't work if title isn't in the URI
 * - Test non-ASCII / URL pseudo-tags
 * - JavaScriptContentHandler: Fix typo in comment block (actual: 'CSS'; intended: 'JS')
 * - Correct documentation for &quot;maxlag&quot; API parameter
 * - Remove CleanupPresentationalAttributes feature
 * - Fix PHP notice in Category.php
 * - Follow-up I214a988e (42a8daa): move documentation to the correct block
 * - Cleanup: Fix yoda and indentation in SpecialUserlogin.php
 * - profileinfo links now have anchors
 * - profileinfo now has lower lines heights
 * - update.php now create profiling table when needed
 * - &quot;Welcome, X&quot; as account creation title
 * - add SpecialUndeleteLogEntry hook
 * - Fix typo (manuall -&gt; manually)
 * - Add support for HTML5 &lt;mark&gt; element.
 * - support for HTML5/Microdata elements
 * - Test horizontal rulers followed by content on same line
 * - [FileBackend] Added optional callback parameter to concatenate.
 * - clean up usages of list-style in Vector&amp;Monobook CSS
 * - Various simple optimizations for the chunked upload process.
 * - all files should have GPL header
 * - Replace deprecated HTML attributes
 * - Set correct language for page content in action=historysubmit&amp;revisiondelete=1
 * - Undefined offset in ApiQueryLogEvents
 * - Use wfBCP47 to format language code for IE in Accept-Language.
 * - Clean up Language::markNoConversion.
 * - [FileBackend] Clear the stat cache in doQuickOperations for sanity.
 * - use semantic headings for the navigation menu
 * - RecentChangeTest now uses 'colon-separator' msg
 * - set wgLanguageCode in unit tests
 * - Update jQuery to 1.8.3
 * - Additional tests to spec behavior of wikitext in extlink-brackets.
 * - Output special page name before attempting to run function
 * - Delete more thumbnails after (new) parser tests.
 * - Unset DirectoryIterator in the FileBackend
 * - [FileBackend] Stat caching improvements.
 * - Log profiling data when tests have finished.
 * - Parser parse requires title, make a caller require valid title too
 * - Clean up database cloning for tests.
 * - jquery.byteLimit: Always update prevSafeVal.
 * - Add tests for empty attribute values in tags and table syntax
 * - Add ParserCloned hook
 * - Standardize categories special pages output
 * - Fix typo (seams =&gt; seems)
 * - [Database] Fixed case where trx idle callbacks might be lost.
 * - Fixed uncaught thumbName exceptions and use $_GET.
 * - Add test for table row followed by newlines and table heading
 * - Regression test for detecting edit conflicts.
 * - Fix typo: exipration =&gt; expiration
 * - Moved &quot;create&quot; function definitions before &quot;store&quot; for consistency.
 * - Add a test for indent pres with content wrapped in inline element
 * - Fix intermittent QUnit failure
 * - Add lang attribute to firstHeading of CologneBlue
 * - Add lang attribute to firstHeading
 * - jquery.tablesorter should not explode rowspans until sorted
 * - When returning rev content, always include model.
 * - [JobQueue] Added missing delete query.
 * - [JobQueue] Added support for retrying jobs when runners die.
 * - Add a test covering template targets containing wiki links
 * - Implement mediawiki.page.patrol.ajax
 * - tests/parserTests.php missing classes
 * - Uniform $rtl usage in Arabic-script Messages*.php
 * - preload to convert content as needed.
 * - - Fix some file-related issues in the distribution Minor issues.
 * - SearchEngineTest.php must extends MediaWikiLangTestCase
 * - Let TextContentTest extends MediaWikiLangTestCase
 * - Fixed action=query list=blocks for IPv6 addresses
 * - drop orm_test table on teardown
 * - updater now shows the SQLite file being used
 * - Separated validation login in SpecialBlock.
 * - display personal menu on top of page tabs on Vector
 * - Add 'contentmodel' to resultproperties in prop=revisions
 * - Fix prop=userid in list=protectedtitles
 * - Set default type attribute for button html elements
 * - Made SSL validation in Curl HTTP requests the default.

AbuseFilter

 * - Change getText to getContent in AbuseFilter

ArticleFeedbackv5

 * - Revert &quot; - Feedback link on article pages&quot;
 * - - Feedback link on article pages
 * - - AFTv5: The token parameter must be set
 * - - LotteryOdds incorrect calculation
 * - Make sure previously disallowed feedback is not re-submitted right away
 * - - Featuring oversight-requested posts

CentralAuth

 * - - CentralAuth Fatal error: Call to a member function getText on a non-object

Collection

 * - make &quot;Return to ...&quot; work again in CollectionFinishedTemplate
 * - - Collection: Remove usage of legacy javascript globals

DismissableSiteNotice

 * - Remove redundant id=&quot;localNotice&quot;.

DonationInterface

 * - Allowing for very specific abuse of our internal fraud score system.
 * - Both killing a notice that was always popping up on error, and displaying gateway errors to the user for yandex.
 * - Adding templates for optional email address and address information for Ireland.
 * - Making the JS email validation a little better at catching common mistakes.
 * - Checking to see if $param is a string before attempting to make_safe
 * - Updating the &quot;more info links&quot; to use a common template.
 * - Remove OrderID Check and Pass CTID to Amazon
 * - Grooming common mistakes in valid CA postal codes to make the AVS checks on GC's end happier, and cut down on false fraud detection.
 * - Some CSS removal for RTL.
 * - Orphan rectifier changes to override the command-line settings in favor of globals, and additional logging
 * - Logging out elapsed time in the orphan rectifier so we know how to adjust the cronjob for maximum rectification.
 * - Adding CTID to Amazon Logging
 * - Adding Monaco to the country lists
 * - Changing the logging that happens when a specified form class can't be found. This should typically denote something pretty weird going on.
 * - City/Town seems to be what PayPal uses for GB as well
 * - Give GBP a Â£ sign as well
 * - Adding custom personal data format for GB
 * - TPYO
 * - some session logging for the resultswitcher
 * - new iframe liberation, needed for Safari 6
 * - Additional logging for the payments cluster: Trying to diagnose some particular GC gateway issues. With typo fix

E3Experiments

 * - Use __DIR__, autoload test class
 * - Use new ext.eventLogging module name
 * - Remove article edit events from E3Experiments
 * - Use a global than swing from branch to branch.

Echo

 * - Add database replication delay handling to Echo

EventLogging

 * - Make writeEvent global; fix hook.
 * - Pass no parameters to httpGetModels
 * - Declare $wgEventLoggingModelsUri global in getScript
 * - Remove TODO comments for completed stuff
 * - Provide a clear, well-named entry point for the extension
 * - Copy-edit of a few comment blocks.
 * - Emit a debug message if no memcached servers are defined.
 * - Handlers for MediaWiki:EventDataModels.json
 * - Unregister removed onAPIEditBeforeSave.
 * - Detect API requests by checking defined('MW_API')
 * - Unstupid.
 * - Drop type annotations from hook handler sigs
 * - Configuration clean-up
 * - Package data models as ResourceLoader JavaScript module
 * - Replace missing semicolon
 * - Use semicolon as query string terminator
 * - Migrate article edit events from E3Experiments
 * - Clean up: Document baseUri, fix test failure.
 * - Config: Check base url from setup instead of usage.

Gadgets

 * - Typo in comment

GoogleNewsSitemap

 * - Maintenance for GoogleNewsSitemap extension.

InputBox

 * - Make InputBoxes cache ones per language

LabeledSectionTransclusion

 * - Allow &lt;section&gt; to be transclusion &amp; -ed
 * - Improved transclusion loop error message
 * - Removed #vim instructions

LiquidThreads

 * - Drop &quot;My ...&quot; from lqt_newmesages / lqt-newmessages-n

LocalisationUpdate

 * - The extensions were broken
 * - Updating LU to git time

MobileFrontend

 * - center the heading relative to the back arrow
 * - introduce styling for code pre tags
 * - table styling cleanup
 * - nest tbody under table
 * - nest specific table rules / throw away strange rules
 * - improve styling of search results page
 * - indent try again random box
 * - expose getArticleUrl function

MwEmbedSupport

 * - replaces use of mw.getConfig with mw.config.get

Narayam

 * - Remove MyBest keyboard because of failing tests and no documented reference

PageTriage

 * - - Parameter missing for db-g4 deletion tag
 * - Adding full size minimize buttons for iPad and moving other stuff around

ProofreadPage

 * - Fix a typo issue
 * - Remove the autocomplete for fields of type &quot;page&quot;
 * - Implement sets into OAI-MH API
 * - OAI-PMH API for index pages

Renameuser

 * - Maintenance for Renameuser extension.

SiteMatrix

 * - Wrap native language name with a span and add a lang attribute

SwiftCloudFiles

 * - Initialize headers to an empty array like metadata.
 * - Give 404 specific exceptions in sync_metadata.

TimedMediaHandler

 * - -- rewrite players one at a time, include non-blocking timeout
 * - add getStreamHeaders
 * - - Fix TimedText diff view
 * - fixed cc button size in css and layout calculations

Translate

 * - Change the way focus is called on quickedit boxes
 * - Add message for Waymarked Trails Help group desc
 * - Apply preventCategorization to all translations
 * - Limit ttmserver query processing time to avoid timeouts
 * - Made more resilient, check if source file is missing
 * - Fix quoting regexp to handle message like ... don't ...
 * - Avoid buildup of whitespace in pyffs
 * - IniFFS
 * - Updated changes
 * - Move changes from README to CHANGELOG
 * - Fix two typos
 * - Update readme

TranslationNotifications

 * - Remove linebreak from inside a sentence

UniversalLanguageSelector

 * - Fix - UI language change preview in display settings
 * - Update jquery.ime from upstream
 * - Add Kannada Gubbi font to repo, replace Kedage
 * - CSS adjustment for the 'No input methods avaialble' message.
 * - Updated cog icon for the IME menu
 * - Provide clear indication of lack of IME support for a language
 * - No need of IME in language search bar of ULS
 * - Fix the language selection from language selector for IME
 * - Avoid hardcoded font fallback stack
 * - Disable the Apply button until there are changes
 * - Disable the Apply button until there are changes
 * - Visually connect input language and available methods.
 * - Update jquery.ime from upstream
 * - Consistent name for the inputSettings variable
 * - Update from upstream
 * - Update jquery.uls from upstream
 * - Do not close when clicked outside
 * - Close the language settings if clicked outside
 * - Fix - Add  more languages for OpenDyslexic font
 * - CSS fixes to match the style modifications of jquery.uls
 * - Small text styling for 'disabled IME' text
 * - Just hide the whole window after apply button pressed
 * - Update jquery.uls from upstream
 * - Update jquery.ime from upstream
 * - Update the inputmethod settings as per design
 * - Remove href=#, to fix
 * - Allow ULS toolbar to be disabled for anons only
 * - Allow the main functionality of ULS to be disabled
 * - Updated webfonts test page with bold, italic, underline options
 * - Updated repository with font variants
 * - Add font variants for Amiri
 * - Update the font.ini with variant information
 * - Support font variants
 * - Update jquery.webfonts from upstream
 * - Fix JSHint suggestions
 * - Update jquery.ime from upstream
 * - Update docs
 * - Fix some JSHint issues
 * - Remove empty @returns comment
 * - Fix possible variable pollution

UploadWizard

 * - Extract Geolocation info from Flickr
 * - fallback to Flickr username
 * - Use uploaded time from Flickr.
 * - . Show error and reset on invalid URLs
 * - Better support for Flickr URLs
 * - Fix Flickr interface for IE8
 * - Adding a comment to flickrInterfaceInit function
 * - Show a single dialog on error.

Vector

 * - Make collapsibleNav work with h3 headings introduced in I9a2ebd50

VisualEditor

 * - Split out two cases so as not to throw an error
 * - Inserted characters get annotated with empty set
 * - Fix even more inspector issues, and some ce ones as well
 * - Fix for document sync issue
 * - Change markers lost for first paragraph on new page
 * - Handle alienation in wrapping mode properly
 * - Add moar demo pages
 * - Display the lengths of model nodes in the demo debugging thingy
 * - Adding IE to the browser blacklist for the December release
 * - Make entity nodes work in CE
 * - Fixed inspector behavior
 * - Add MWEntityNode
 * - Fix message key, probably c&amp;p error in I1cc00844
 * - Store comments in the meta-linmod
 * - Don't force spaces to underscores in internal links
 * - Always apply inspected annotations to the right range
 * - Added undo-before-apply for new link annotations
 * - Fixing Pre-Annotations
 * - Cleanup var statements
 * - The great inspector and context rewrite of 2012
 * - Fix JS error when inserting after alien at the end
 * - Add i18n for aliennated content tool tip.
 * - Propagate change markers when unwrapping generated nodes
 * - Add ce.AlienNode to tests
 * - Phantoms not vanishing on mouseout
 * - Add shields after node is attached to the live DOM
 * - Better Shield Logic

WebFonts

 * - Fix - Amiri font for Arab lacks italics and bold causing bad rendering

WikimediaIncubator

 * - Rename IncubatorTest to a standard naming, WikimediaIncubator

WikimediaMaintenance

 * - Fixed include file name too...
 * - Fixed include path

cldr

 * - Add 'aeb' to LocalNamesEn.php