MediaWiki 1.21/wmf3

Deployment of MediaWiki 1.21wmf3 to Wikimedia sites
The latest version (labeled "1.21wmf3 ") 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, October 29 and continue until Wednesday, November 7 (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.

The biggest changes

 * 1) ResourceLoader integration into MobileFrontend now enabled (discussion on wikitech-l).

Core changes

 * - Fix unmatched profiling calls
 * - rm unused $egWBRemoteTitleNormalization var from MediaWikiSite.php
 * - A little cleanup in gender
 * - Avoid duplicate &quot;null&quot; change journal entries.
 * - The class is named Revision, no need to shout its name :) Remove a couple of unused globals.
 * - Set be as fallback language for be-tarask.
 * - document Skin::buildSidebar per own experience
 * - fix sidebar HTML escaping in CologneBlue (again)
 * - Minor documentation fix.
 * - Rewritten $wgAdaptiveMessageCache
 * - Fix tabs inside/between statements/text
 * - Fix indentation whitespace errors
 * - Fix rc_logid in RecentChange::loadFromCurRow
 * - re-apply I9a56b7c6, Don't parse the section's name in the summary
 * - raise timeout for UserTest::testEditCount
 * - [FileBackend] More improvements to README file.
 * - Fix regression in diffs while editing old revisions
 * - Fix warnings and enforce conventions in ContentHandler tests.
 * - Move cache purging out of doUpdates
 * - [JobQueue] Added support for approximate FIFO job queues.
 * - : Handle optionally-closed HTML tags
 * - add some brackets in RecentChange.php
 * - Seems we have error conditions where fa_storage_key == ''
 * - fix code style violations in RecentChange.php
 * - sql.php in interactive no more exit on DBerror
 * - alter sql.php prompt on line continuation
 * - sql.php with readline eats semicolon
 * - accessor for database delimiter
 * - Revert &quot;Function for &quot;pretty timestamps&quot; that are human readable and understandable.&quot;
 * - deprecate make(Known?)LinkObj methods
 * - Make action=query&amp;list=users use User::getRights
 * - restore pre-ContentHandler version of mergeChangesInto
 * - [JobQueue] README file for job queue classes.
 * - Add additional job columns to PostgreSQL as well.
 * - mediawiki.searchSuggest: Reorder code + fix selectors
 * - Some minor fixes to README file.
 * - partial fix: re-apply Id4d5504a
 * - Use ParserOptions::newFromUserAndLang in tests
 * - partial fix: re-applying Id7b331e1b
 * - partial fix: re-apply I9441a277
 * - Correct documentation for EditFilter hook parameter
 * - Consistency tweak: Monobook -&gt; MonoBook
 * - Swap isSpecialPage for canExist
 * - Detect CSV/array values in $_SERVER['REMOTE_ADDR'].
 * - tests: always call parent setUp
 * - Additional parser tests to spec parser behavior and test Parsoid.
 * - Localize parentheses in Linker::formatTemplates
 * - Moved core Job classes under includes/job/jobs.
 * - Removed reference to * from docs.
 * - fix sidebar HTML escaping in CologneBlue
 * - [FileBackend] Give warnings when metadata is missing from swift.
 * - Use Html class instead of Xml where possible in Special:Contributions
 * - [FileBackend] Created README file for the file backend classes.
 * - miscellaneous doxygen warnings
 * - doxygen now recognizes README and .txt files
 * - Remove duplicate files, no point in loading them twice
 * - CologneBlue rewrite: fix talkLink to use generic nav links
 * - Cache performer of a LogEntry to load it only once from the database
 * - RecentChangesLinked: 'tagfilter' option already set in parent
 * - When deleting old thumbnails, actually increment $i
 * - Remove float from config-settings-block
 * - add comments about the purpose of skins/common/common*.css files
 * - Setting $wgContLang without changing $wgLanguageCode accordingly is a very bad idea.
 * - Remove a bunch of trailing spaces and unneeded newlines
 * - Remove a bunch of trailing spaces and unneeded newlines
 * - Add filearchive.fa_sha1 to PostgreSQL as well.
 * - - api prop=imageinfo broken on PHP 5.4
 * - getParamValue defaults to current page only if url undefined
 * - Add additional specs + Parsoid-centric tests to keep Parsoid in line.
 * - Remove a bunch of trailing spaces and unneeded newlines
 * - Remove a bunch of trailing spaces and unneeded newlines
 * - Revert &quot;Revert &quot;Show a &quot;(blocked)&quot; hint on Special:ListUsers/ActiveUsers&quot;&quot;
 * - Icon for PSD (Adobe Photoshop) file types.
 * - Add some debug logging to ContentHandler
 * - Release note for ApiQueryORM class
 * - Revert excessive indenting from 28433
 * - Protect against Xdebug overloading var_dump.
 * - Updated release notes for job queue refactoring.
 * - Removed outdated FileRepo docs.
 * - Add id to the toolbox page info link
 * - [] Record links on CSS/JS pages in the DB.
 * - Fixup some returns, documentation
 * - Refactor User::edits and User::incEditCount
 * - Unit test for User::getEditCount
 * - Work in progress on ResourceLoader mobilification
 * - reinstating Change Ifb1f6125...
 * - Deprecate static User::edits in favour of User::getEditCount
 * - Show cascading protection info on action=info
 * - Follow-up I186669a5 (4b62b03): reorder hooks alphabetically
 * - Fixup some method documentation return types
 * - Followup I15843fab: don't show &amp;page=1 in file link
 * - [JobQueue] Fixed misuse of array type cast.
 * - Set $wgContentHandlerUseDB to false by default for now
 * - [FileBackend] Added more tests and fixed some local copy/reference bugs.
 * - Minor action=info redirect changes
 * - sort method for jquery.tablesorter
 * - [JobQueue] Added type-guard checks to JobQueueGroup::push.
 * - Fixed dependencies for jquery.collapsibleTabs
 * - [JobQueue] Added more b/c wrapper functions.
 * - Warn when flushing inside an explicit transaction.
 * - Fix various boundary cases in IcuCollation::findLowerBound
 * - Fixed the caching of redirects in Squid
 * - Moved ContentHandler deriving classes into their own files for better discoverability and more manageable line count per file
 * - Added a pile of missing docs and fixed a few incorrect ones
 * - Added docu headers to content(handler) files
 * - update @since tags
 * - Tweaked code comment from 557a68838c594ea98bd233f6cc05ff44d80e901e
 * - Added MAX_JOB_RANDOM constant and replace one bad instance.
 * - [FileBackend] Added chaining ability to some TempFSFile methods.
 * - Adding a base query API module that allows very easily creating query modules for tables that have an associated ORMTable class
 * - Use 'flush' flag to end automatic transactions.
 * - Fix typo in contenthandler documentation
 * - Reject invalid titles as sitelinks
 * - [JobQueue] Job queue refactoring and generalizing.
 * - Added ugly nesting and template interaction tests (to stress Parsoid).
 * - restore wgDebugTimestamps in testDebugFunctionTest
 * - Remove unused 'qbpageinfo'
 * - Avoid using $wgUser in TitlePermissionTest
 * - On action=info show where this page redirects to and whether it's a content page or not.
 * - SI standards for time units
 * - Fix MediaWiki:Continue-editing
 * - Stop php strict error warnings from MemcachedClient::_flush_read_buffer
 * - Fix RevisionStorageTest with non-wikitext NS_MAIN
 * - Fixing dump tests for non-wikitext in NS_MAIN.
 * - Function for &quot;pretty timestamps&quot; that are human readable and understandable.
 * - Use Linker::link instead of Linker::linkKnown when having options
 * - fix fatal error in HttpTest
 * - [FileBackend] Added tiny getContainerStoragePath convenience function.
 * - Removed READ_LATEST default from Revision::newFromTitle.
 * - define RC_EXTERNAL type for recent changes
 * - Replaced some !count with explicit and more efficient check
 * - don't overwrite $item['single-id'] in makeListItem in SkinTemplate