MediaWiki 1.21/wmf7

Deployment of MediaWiki 1.21wmf7 to Wikimedia sites

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

Breaking changes

 * The format of certain log entries returned by the API's  module is changed, to allow for XML-format output to be valid. Specifically, any log entry details that were formerly returned under a key such as "4::foo" will now be returned under a key of simply "foo".

Core changes

 * - Revert MobileFrontend to the same revision as 1.21wmf6
 * - Add release note for I1a3c7ac6
 * - Don't use isset to check whether an existing variable is null
 * - Fixing find hooks script call error in docs/hooks.txt
 * - * Oracle Schema update to latest * fixed makeSelectOptions
 * - Wrong namespace in BackupDumperPageTest::testFullTextPlain
 * - Add some missing parent::tearDown
 * - wfMerge now works if $wgDiff3 contains spaces
 * - Do correct average year length arithmetic.
 * - Show revs without rev_parent_id in Special:Contributions.
 * - API list=alltransclusions, rm unique+gen &amp; continue restrict
 * - ApiOptionsTest: Group medium (takes more than 2 seconds).
 * - Hide usermessage element from printable view.
 * - use video/webm instead of audio/webm for webm
 * - Fix cache issues with changing user groups
 * - Add plural support for protocols in 'linksearch-text'
 * - Correct isset and associated checks in Revision::__construct
 * - API shouldn't assume all exceptions are MWException
 * - Fix typo in ResourceLoaderFileModule.
 * - Fix some validation errors on Special:Import
 * - Use NS_* constant for default namespace in api
 * - Remove unused globals
 * - allow OldChangesListRecentChangesLine hook to return false and omit line from RC
 * - Creating new GetDoubleUnderscoreIDs hook
 * - Make the padding support RTL languages
 * - Remove upgrade1_5.php
 * - Made wfBaseconvert actually work with $lowercase=false.
 * - Allow setting a form message prefix in FormSpecialPage
 * - RELEASE-NOTES entries for I7761a635 (af72dd6) and I2b2ca3da (24584ca)
 * - Alt+shortcut key does not work in Chrome/Linux
 * - History page fail gracefully if rev_len unavailable
 * - Fixing some variable names and comment formatting - no functional changes
 * - RemoveUnusedAccounts: Ignore newuser log.
 * - Hook to allow manipulation of image data
 * - Update CREDITS
 * - Fix database access in ApiSetNotificationTimestamp
 * - Add LanguageZh_hans::formatDuration for Chinese.
 * - Only variables can be passed by reference...
 * - Documentation improvements in ChangesList.php
 * - InstantCommons doesn't follow redirects
 * - Simplify Xml::encodeJsCall
 * - Additional list tests for Parsoid.
 * - Use wfWikiID instead of $wgDBname in wfIncrStats
 * - Don't fetch revision ID when a page doesn't exist.
 * - L10n recache needed in LogFormatterTest::tearDown
 * - Improve documentation of content handler stuff
 * - Set correct context for ImageHistoryPseudoPager
 * - namespaceDupes.php has to use the interwiki cache
 * - Use numParams in Language::formatDuration
 * - API allows reblocking the user without reblock parameter.
 * - add function in ChangesList to getTimestamp without inserting it
 * - misc style fix
 * - Nicely handle missing revisions in ApiQueryRevisions.
 * - Message &quot;enotif body intro deleted&quot; mentions revision
 * - Fix ApiQueryLogEvents::addLogParams for unknown types using the new format
 * - cleanup WatchedItem class
 * - Add an option to importImages to search subdirectories recursively
 * - Document $wgUnwatchedPageThreshold var
 * - fix and provide more documentation in EditPage for mergeContentInto functions
 * - Add missing message in messages.inc and rebuild MessagesEn.php
 * - Improving function descriptions in Linker
 * - Added threshold for showing number of page watchers.
 * - Fixed comment typo.
 * - Doc fix. $from and $until are arrays since 1.17.
 * - [MessageCache] Cleaned message cache load error handling.
 * - Improve usage of which and that
 * - Pass user to LogEventsList::getExcludeClause
 * - bogus script path in Special:Version
 * - Fixed description for async parameter in upload module
 * - Add caching to InfoAction.
 * - Fix PEAR part of install-phpunit.sh.
 * - Fixing PHP notice: undefined SERVER_PROTOCOL key
 * - Document ResourceLoaderWikiModule::getPages.
 * - [JobQueue] Cleaned up DuplicateJob factory function.
 * - Add mobile target to modules needed for mw.msg
 * - Fix querying suppression logs
 * - Fix regression in API generator=duplicatefiles
 * - Don't return the sha1 of revisions through the API if the content is revdel'd
 * - API: Fix regression in case handling for sha1 params
 * - Update docs
 * - Fix the little documentation that FormOptions::consumeValue has
 * - Send second variable for large-variable message
 * - ResourceLoader: Move safeFilemtime to ResourceLoaderModule.
 * - jquery.suggestions: Call cancel before fetching.
 * - Remove nocreatetitle
 * - applying code conventions and cleanup in mediawiki.special.*
 * - Make RC en RCL honour options for rss/atom
 * - Make wfSuppressWarnings kill E_STRICT in PHP 5.4+
 * - Trimming 'addedwatchtext'. The previous text was too long and overly detailed.
 * - Moved LocalisationCache under /cache.
 * - Clarify change password on Special:ChangeEmail
 * - drop &quot;@fixed&quot; annotations in CologneBlue skin
 * - Add new message key from I28ef70f7 to maintenane file
 * - use null rather then false and doc fix
 * - Removed commas before 'because'
 * - Use $IP instead of relative paths.
 * - Use $IP instead of hard-coded relative path.
 * - jquery.badge: Add ability to display the number zero.
 * - [LockManager] Moved ScopedLock to its own file.
 * - Revert &quot;Adding ability of jQuery badge to display the number zero if requested.&quot;
 * - Test a newline-only template parameter
 * - Add link to localisation instructions in the installer
 * - Set $wgSecureLogin to false for $wgServers with schemes.
 * - make rebuildtextindex script aware of content models.
 * - meta=siteinfo should output the default content model
 * - Changed LoginForm::addNewaccountInternal to return Status.
 * - Make --wiki work with phpunit.php.
 * - Test wiki tables with a lot of comments
 * - Upstream: Upgrade jQuery JSON from 2.3 to 2.4.0.
 * - Adding ability of jQuery badge to display the number zero if requested.
 * - Use log type in target object when deleting logs of the same type
 * - Fixed SiteArray serialization
 * - Fixed cookie security when not wpStickHTTPS.
 * - (minor) Always use getSites to get sites.
 * - Make import robust against corrupt content.
 * - DatabaseOracle no more rely on mbstring
 * - abstract utf8 validation fallback
 * - (minor) use wfDebugLog consistently.
 * - Add types and test for LogFormatter
 * - [Upload] Improvements to async stash uploading.
 * - Removed references to DB ignoreErrors function.
 * - Deleting one last extension I left in master
 * - Undoing more of my branching mistake, delete submodules from master
 * - Remove the \ before the class name.
 * - ExternalStoreDB.php was moved to externalstore folder in c37937
 * - Moved ExternalStore stuff to a /externalstore subdir.
 * - Add a test for braces in HTML attribute values, remove data-parsoid attributes
 * - Remove fallback for PHP installs &lt; v5.3.2 as that is now an install requirement The native stream_resolve_include_path can now be used exclusively
 * - improve $.makeCollapsible performance on the initial collapsing
 * - fix faulty browser detection code for Opera
 * - Fix API action=options for multiselect prefs
 * - [Upload] Async upload code cleanups.
 * - [JobQueue] Pushed stats down to job queue subclasses.
 * - Remove extra newline from redirect wikitext
 * - Add some entries removed in I41f1995d back.
 * - Fix the display of some user rights log entries

AbuseFilter

 * - Hidden the test subpage in the navlinks for those without modify rights
 * - Follow-up to https://gerrit.wikimedia.org/r/#/c/41055/ in order not to talk of edits when actually no edits are being attempted
 * - Fixed a PHP notice in Views/AbuseFilterViewEdit.php
 * - Tweak 'abusefilter-warning' to not refer to button directly
 * - Add Permission for Global-Rule Editing
 * - Don't send HTML to the IRC feeds
 * - Minor removal of duplicate code within the AF parser
 * - Add a hooks.txt to AbuseFilter
 * - Add a hook to AbuseFilter
 * - Let the client specify multiple filters for list=abuselog
 * - AbuseFilter API does not give diff information
 * - Fix the visibility of action=query&amp;list=abuselog
 * - Fix AbuseLog API permissions
 * - Add option to have private filters notify UDP/RC (default: disabled)
 * - Make afl_user_text availible as $9 for log entries
 * - Abusefilter log makes &quot;contribs&quot; link blue even if user has 0 edits
 * - add boolean user_blocked variable
 * - Run the same permissions checks for list=abuselog as Special:AbuseLog

AntiBot

 * - - Allow users/bots with 'bot' right to not be stopped by AntiBot_GenericFormEncoding::onEditFilterMerged

ArticleFeedbackv5

 * - Remove double spaces
 * - Fixing Feedback from my watched pages » URL

CentralAuth

 * - Add api for getting all global groups
 * - Fixed gblrights/groupprms2 log in IRC.
 * - Shows all global groups when searching for users in one
 * - Protocol relative URI to meta on Special:Version to keep users logged in
 * - Add an API module for locking/hiding global accounts
 * - Add an API module for deleting global accounts

CodeEditor

 * - Enable Ace's JSON mode

ConfirmEdit

 * - Disable ulimit time limit for long-running captcha.py script.

ContributionTracking

 * - Updating documentation and messages per request from Siebrand.

DonationInterface

 * - Quick fix to account for the fact that we have no &quot;down for maintainence&quot; page, and a maintenance window in a minute.

DoubleWiki

 * - The robot policy was override by Article

E3Experiments

 * - Fix for enwiki's HTML in noname message
 * - Fix validation messages
 * - Avoid use of deprecated wfMsg
 * - Rename test file, improve tests slightly.

Echo

 * - Show preferences icon on Special:Notifications without label except as title
 * - More formatting tweaks per Vibha
 * - some i18n message fix for plural and gender support
 * - Add tooltip to notifications link
 * - Sort event preferences by priority
 * - Try to fix jenkins lint tests
 * - Link the flyout title
 * - Actually use plural

EducationProgram

 * - Fixed link shown in failure message
 * - Replace spaces with tabs
 * - Fix fatal error when false or null is returned.

FundraiserLandingPage

 * - Changing default link for Wikimedia CH

GeoCrumbs

 * - Only show breadcrumbs if there is more than 1

GettingStarted

 * - Don't show GettingStarted after creation on mobile.

GlobalUsage

 * - Special:GlobalUsage not listed on Special:Specialpages

MapSources

 * - Consistency tweaks: No Title Cases, no direct links
 * - tweak message
 * - Fix typos

Math

 * - Rename Math.body to MathRenderer to be consistent with the class name. Reson: Further classes will be added in the next step.

MoodBar

 * - Remove double space and newlines
 * - Support gender in mood messages (&quot;happy&quot; etc)
 * - Instead of making the wiki admin configure the feedback dashboard URL, generate it when the hook is called.
 * - Make MoodBar log entries make sense

MwEmbedSupport

 * - : rename jquery.menu to jquery.embedMenu

OpenStackManager

 * - Set username if none is specified
 * - Fix for OpenStack token loss on memcache restart
 * - Add space between sentences
 * - Update casing, punctuation and newlines
 * - Remove nova credential check for ssh key form
 * - _ is an invalid character for shell account name
 * - Now using real groups with real member lists for posixgroups for Projects.

PageTriage

 * - change pagetriage-no-patrol-right message.
 * - Add missing i18n gender support

PostEdit

 * - Only create div if we're going to show it.
 * - Fix bug in older versions of Firefox.

ProofreadPage

 * - Improve help messages of the index form

Renameuser

 * - Set the job ID field.

Scribunto

 * - Allow mw.log and console to handle multiple values
 * - Make sure to call parent::setUp
 * - Unit test: verify LuaSandbox and LuaStandalone are equivalent
 * - Handle non-finite numbers
 * - Handle cloned parsers correctly

TemplateSandbox

 * - Parse Templatesandbox-editform-legend message
 * - Use     in templatesandbox-text message
 * - TemplateSandbox should render redirects like normal preview
 * - Catch enter on edit form
 * - Add and clarify qqq messages

TimedMediaHandler

 * - set direction of subtitles based on language
 * - fix volume control width
 * - : explicit order of control elements
 * - Remove message keys related to uploading text files
 * - Replace 4 messages with Language::commaList
 * - Updates for 'timedmedia-subtitle-new-desc'
 * - Make URL protocol relative
 * - dont fallback to cortado at theora.org
 * - - fix fullscreen api from iframes
 * - output source bitrate order and with type attribute.
 * - : Fix Firefox 3.5 support
 * - apply css only to elements inside player
 * - Updated kaltura link location to html5video.org
 * - rename jquery.menu to jquery.embedMenu
 * - Don't introduce new global usage. Call $out-&gt;getLanguage.
 * - localize language based on uselang, better 404 title
 * - - use display resolution
 * - optimize Special:TimedMediaHandler page

Translate

 * - Update copyrigh years on the files I've touched
 * - Use translationaid API for translation editor
 * - Hook doc test code was swapped
 * - Translation aids API module and props
 * - Truncate long message documentation and show it on hover
 * - Fix incorrect messagegroup expansion - everything is All-&gt;Messagegroup in messagelist
 * - For users without translation rights, remove save button
 * - Whitespace
 * - Translation web services refactoring
 * - Refactor translation validation code
 * - Move the message filter checkboxes under a menu.
 * - Superfluous newlines added in PythonSingleFFS
 * - [Project Selector] Numbers visible in Opera
 * - Add FIXME for missing parameter
 * - Update docs
 * - Add missing parameters
 * - Make 'translate-msggroupsselector-projects' singular
 * - Fix language names overflow on 'In other languages' section
 * - Remove redundant units of measure
 * - Add missing curly
 * - Bump version date
 * - Add a link to use suggestion as translation for the message
 * - Add display and dynamic loading of warnings
 * - Minimal fix for the saving logic
 * - All tab was selected by default but showing untranslated
 * - Fix for the expandable help area for the message editor
 * - Image path correction in css
 * - CSS for Message editor size adaptation
 * - Bump version
 * - Begin to fix lang and dir attributes
 * - Expand the text area height as content grows
 * - Rearrange javascript and css file
 * - Push the checkboxes in message list header to two columns right
 * - Hide the suggestion titles if nothing to show
 * - Round the percentage of match
 * - Mark the skipped translations as hard
 * - Fix Bug: When clicking on any part of the editor, the focus moves to the text area.
 * - Down arrow at the end of target language selector
 * - Make sure translation memories are not polluted in tests
 * - New solr schema.xml
 * - Whitespace
 * - CSS adjustments for translation suggestions
 * - Add a comment about the constructor
 * - Disable save button till translation is edited
 * - Smaller font size for longer source message string
 * - Fix the close icon action
 * - Whitespace and formatting cleanup
 * - ApiGroupReview: Protect against spaces in example group name
 * - Reduce output from ttmserver-export and few small tweaks
 * - Paragraph style fixes for message editor
 * - Add handy accessor to ApiQueryMessageTranslations
 * - Use single click to open translation editor
 * - Simplify ExportToFileMessagesTask::output
 * - Removing action=translate from groupselector
 * - Limit the listing of suggestions
 * - Save translations
 * - Mark translations edited but not saved in the message list
 * - CSS styling for message editor
 * - Skip to next message functionality
 * - Fix doc and remove unneeded action check
 * - WorkflowStatesMessageGroup should return string[], not array[]
 * - Importing wgTranslateDocumentationLanguageCode only in editor context
 * - Whitespace fixes
 * - Avoid hardcoding qqq as documentation languages
 * - Message documentation and suggestions
 * - Fixes to statsbar
 * - Styling fixes for the message list heading
 * - TUX MessageList: i18n and fix proofread status and icons display
 * - New translation editor
 * - Add forgotten -&gt;text to message use
 * - I18n TUX language selector label
 * - TranslateHooksTests missing from some earlier commit
 * - Fix the applying of selected class in message selector
 * - Move api and ffs tests to subdir to mirror code layout
 * - Ignore debug files of failing page translation tests
 * - messageDust.php has not been used in years
 * - Images for translations editor
 * - Adjust depth of loading and action regions

TranslationNotifications

 * - Doc fixes
 * - Updates for JobQueue and ContentHandler
 * - Update docs

UnicodeConverter

 * - Couple of tweaks to the extension credits

UniversalLanguageSelector

 * - Pick &quot;Special region&quot; functionality from GitHub
 * - Update from upstream
 * - Fix button state when canceling
 * - Fix the webfonts preferences
 * - Whitespace
 * - Don't show the tooltip if the ULS panel is on
 * - Indicate context in input settings/more languages
 * - that -&gt; displaySettings

UploadWizard

 * - UW will not create a category but it tells so
 * - Remove wrong plural in 'mwe-upwiz-add-flickr' message
 * - Change photo to image where possible
 * - Replace &quot;image&quot; by more generic &quot;file&quot; in a few places
 * - Add option for (en|dis)abling multiple-file uploads
 * - Correct the error count
 * - Add i18n documentation to upload status messages
 * - Don't validate deselected deeds
 * - UW doesn't highlight errors in &quot;more info&quot;
 * - use async api for file concatenation
 * - Respect languageTemplateFixups
 * - Make UW more resilient againt misconfigurations

UserMerge

 * - Adding explicit support when mentioning user names

VipsScaler

 * - Fix VipsTest with the new file backend

VisualEditor

 * - Remove en-gb
 * - Fixing label tag in demo
 * - Prevent alien node contents from floating above phantoms.
 * - Fix outdent tooltip calling for a non-existant message
 * - All edits were being marked as minor
 * - Typo from I65447da8.
 * - Handle a null response in onLoad
 * - Close suggestions when escape key pressed.
 * - Phase out $.toJSON, use JSON.stringify directly.
 * - Exclude edit notices with no visible text.
 * - Disabled VisualEditor section edit link overrides by default
 * - Only call showSelecton on undo and redo if there is a returned range.
 * - Save dialog: Fix too-wide diff box.

WebFonts

 * - Update Lohit Bengali and Assamese to latest version

WikiEditor

 * - Add plural support for $1 in 'wikieditor-toolbar-tool-replace-success'
 * - No longer use parameter in 'wikieditor-toolbar-tool-table-toomany'
 * - Added Cyrillic chars to Special Symbols editor
 * - Width tweaks for consistency with surrounding elements
 * - - Fix some file-related issues in the distribution

WikimediaIncubator

 * - Simplify 'wminc-fs-settings-text' and improve link
 * - Ensure template is passed by reference in invocation of hook UserCreateForm in AutoTestWiki::onUserCreateForm

ZeroRatedMobileAccess

 * - Special-case 'Kongo' -&gt; 'Kikongo' in zero-rated landing page.