MediaWiki 1.21/wmf8

The latest version (labeled "1.21wmf8") of MediaWiki, the software that powers Wikipedia and its sister sites, is being deployed to all Wikimedia sites in stages, starting on Wednesday, 16 January 2013 (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

 * - allow arbitrary user preferences prefixed with 'userjs-'
 * - Add wfProfileOut missing in 74f581e34
 * - Reorganise the functions doing wfProfileOut and returning on all if branches.
 * - Test some more partly template-generated wikilink targets
 * - Update doc comments and code formatting.
 * - Remove $wgBug34832TransitionalRollback
 * - Title no longer relies on entries already being in LinkCache
 * - Add $CHANGEDORCREATED back for custom template
 * - Make Block::newFromTarget work again when passing only a vague target
 * - Includes $query in SkinTemplate::tabAction if $title doesn't exist
 * - Fix converttitles param in api.php?action=query
 * - raise timeout for ApiCreateAccountTest::testValid
 * - Added account creation API.
 * - adjust release note about I45b077cf
 * - [JobQueue] Minor documentation improvements.
 * - Made NullJob support ignoring duplicates.
 * - [JobQueue] Added wfIncrStats for job recycling.
 * - Add css $classes variable to the OldChangesListRecentChangesLine hook
 * - Fix access to other wiki's job queue.
 * - Added merge function to BagOStuff for CAS-like functionality.
 * - PHPUnit Makefile is now compatible with BSD make.
 * - Add some more template-affected wiki link variants
 * - Overriding Vector's footer margin when in print mode
 * - Add mw-navigation to CSS for display:none on print.
 * - improve doc
 * - [JobQueue] Improved de-duplication stat calls.
 * - Only show rollback links if they work
 * - Replace hardcoded native language names with core parser function
 * - Supress the root namespacing from DBQueryError.
 * - Add message documentation and message key to maintenance file
 * - Tidy up declaration of $wgSiteTypes
 * - [JobQueue] Minor doc cleanup.
 * - Added test for special link trail case
 * - Fixed return type doc
 * - Catch excpt to avoid fatal in Message::__toString
 * - Added transclusion count to InfoAction.
 * - Live preview no longer experimental
 * - [JobQueue] Added support for using an external DB.
 * - Language::listToText cleanup with unit test
 * - [JobQueue] Some tweaks to reduce claimRandom retries.
 * - Update docs
 * - php maintenance/language/rebuildLanguage.php --lang=en
 * - Follow-up I0e5d3cfb: Spelling consistency update
 * - Disable protection in case there aren't any restriction types
 * - (minor) Make ORMTable handle failed queries nicely.
 * - Allow preferences that need not be rendered in Special:Preferences
 * - Make EditFilterMergedContent more generic.
 * - Revert &quot;Also delete the page information cache when invalidating cache of a non-existing page&quot;
 * - Remove docs for hook LoggableUserIPData
 * - Don't bother creating a new context in SpecialPageFactory::getUsablePages
 * - Miscellaneous profiling fixes
 * - Remove orphan call to wfProfileOut
 * - Added category information to InfoAction.
 * - Use ResultWrapper::numRows instead of DatabaseBase::numRows
 * - Add &quot;modifyExtensionField&quot; utility function
 * - Some fixes for Ia2782d64 (2f60cd2)
 * - New methods to drop or rename extension index in DatabaseUpdater
 * - [JobQueue] Increment stats for jobs ignored as duplicates.
 * - Made the profilers that output text not break js.
 * - Partial normalisation of hooks.txt
 * - recentchanges.rc_ip is used for retroactive autoblocks
 * - Use nocookiesfornew on account creation if no cookies
 * - Use Database::addQuotes instead of hardcoded quotes
 * - Explicitely add two undocumented hooks
 * - Partial normalisation of hooks.txt
 * - Don't block non-existent users via the API
 * - Reuse the WikiPage object to save a db query
 * - Move logentry-* messages from newusers and rights log near the other ones
 * - (zhtable) Add zh2Hans: '这么' =&gt; '这么' for better segmentation
 * - Follow-up Idf308e82 (e88b0fb): use wfMessage and numParams
 * - Don't convert blue categorylinks to another variant.
 * - zhtable maintenance
 * - Use getPageViewLanguage instead of getPageLanguage in firstHeading.
 * - Localize autosummary of page protecting
 * - Makes WebRequest::detectProtocolAndStdPort take HTTP_X_FORWARDED_PROTO headers into account
 * - Add months and years to Timestamp::getHumanTimestamp
 * - [JobQueue] Made showJobs.php work for non-DB queues.
 * - Block::parseTarget accepts and can return null
 * - Add test for substitution of params with multiple digits
 * - Show changed bits on file version (oldimage) revdel logs.
 * - - Increase size of ug_group in user_groups table
 * - [JobQueue] Clarified documentation a bit.
 * - Pass $user from WikiPage::getContent to Revision::getContent
 * - Eliminate dummy Language instances from being created
 * - Fix Sqlite upgrade test when profiling to database is enabled
 * - Set $mLoadedItems to true in User::loadFromId
 * - [FileBackend] Suppress most file warnings but log them to an FSFileBackend log.
 * - Use Html::rawElement instead of hardcoded string in Special:Contributions
 * - Add support for mulitpart mime email to email sending code
 * - Follow-up I9c7aa3b2 (b28c7a8): fix one more validation error
 * - Don't run database updates for shared tables unless --doshared is provided
 * - Cursor of enhancedchangelist wrong for non-toggle lines
 * - Cleaned up and optimized wfBaseConvert;
 * - Normalise inline comment markers to &quot;//&quot; in WikiPage.php
 * - Also delete the page information cache when invalidating cache of a non-existing page
 * - Update CREDITS
 * - Remove &quot;read&quot; from list of allowed actions on special pages
 * - Use proper function recursiveConvertTopLevel in recursive conversion
 * - [FileBackend] Improved some header related docs.
 * - make MovePage aware of whether redirects are supported.
 * - Follow-up I5f7f6da0 (cefb9ef): pass the User parameter to more LogEventsList::getExcludeClause calls
 * - Parser test to test language conversion around HTML tags.

README

 * Newly deployed extension