MediaWiki 1.21/wmf11/Changelog

Core changes

 * - IcuCollation::$tailoringFirstLetters: implement letter removal
 * - Update Math to fix nasty caching bug
 * - Fixed redis auth error spam in logs.
 * - Unset the cgroup if we don't have a memory limit
 * - Adding validation for checkmatrix (same as for multiselect)
 * - Bump to disable gettingstarted tour (wmf11)
 * - Adding new subclass to HTMLForm for constructing a checkbox matrix
 * - 6
 * - Update DataValues
 * - Update Wikibase and DataValues
 * - [JobQueue] Throttle refreshLinks2 jobs based on finishing the refreshLinks jobs.
 * - Update MF and Zero
 * - Added --postime option syncFileBackend.
 * - Read of arbitrary files through mwdoc-filter.php
 * - Add username for GENDER in LogFormatter only when visible
 * - API action=unblock should return the user name, not the full user object
 * - Update WikiData extensions to correct points for 1.21wmf11
 * - Change intval( User::getOption ) to User::getIntOption
 * - Remove Lithuanian override of plural rules
 * - Remove custom Latvian(lv) language plural rules
 * - Use American English spelling for labor
 * - Add number of watchers to API prop=info
 * - Restoring languages/messages/MessagesAr.php (blanked by L10n-bot)
 * - Fix more occurences of &quot;e-mail&quot; to &quot;email&quot; in API
 * - Ensure wgPostEdit can never be set on a non-view.
 * - Add &quot;upload&quot; type to API
 * - mw.loader: Prevent useless jobs from being added to queue
 * - Use 'email' instead of 'e-mail' in English installer messages
 * - Use 'email' instead of 'e-mail' in API texts.
 * - API continue param to streamline iteration of complex queries
 * - testInvalidEmail passes now without local config
 * - More tests for Parsoid's beneift.
 * - API: Throw error when interwiki is given for various title param
 * - Correct documentation for wfPickRandom's return types
 * - Add 'parsoid' option to parserTests.txt.
 * - Some additional test cases for Parsoid.
 * - Do not attempt to send a real e-mail
 * - Do not attempt to send a real e-mail in ApiAccountCreationTest&quot;
 * - Move LoadBalancer::pickRandom to wfPickRandom
 * - Several minor fixes.
 * - Preserve caller expectations for behaviour of sslVerifyHost
 * - Kill off and remove HttpRequest class
 * - Make UploadBase::getTempFileSha1Base36 public
 * - Only run sha1_file once per file in FSFile
 * - Removing badge drop shadow per Vibha
 * - Deal with garbage user_token values in the DB.
 * - Do not read /.git if it is a directory
 * - Remove unused global $wgMemc
 * - Init the user token before adding users.
 * - Use email instead of e-mail
 * - Consistency fixes
 * - Add missing parameter in handleWriteError call
 * - Docs, typofix, additional testcase for I7be51e
 * - Improve documentation for OutputPage-&gt;addModuleStyles
 * - Added missing @deprecated doc to File and Title
 * - Change new wgUserRegistration format, put in User:
 * - Expose additional user attributes as JS vars
 * - Fix API upload with only one chunk
 * - Fix UploadStash::removeFile error
 * - Swedish Collation (uppercase-sv). Swaps Ä and Æ&quot;
 * - API should properly handle OPTIONS
 * - Make maintenance/update.php parse again under PHP 4.1.0
 * - Avoid pool fragmentation in RedisConnectionPool.
 * - [BagOStuff] Converted RedisBagOStuff to RedisConnectionPool.
 * - create language-specific collations for category sorting
 * - [FileBackend] Process cache negatives for file SHA1 function.
 * - Remove temporary plural overrides for fa, hu, ja, vi
 * - Remove MediaWiki overrides for plural rules for Scots Gaelic (gd)
 * - Remove resetArticleID call from RecentChanges::getTitle
 * - Refresh docs for wfMessage
 * - Extend ... magic to also work when &quot;others&quot; is linked somewhere
 * - Mention the batch-download time in copyFileBackend.php.
 * - Allow 0 to only do digit transform
 * - Remove dead code.
 * - Use IETF example domains, not Britney
 * - Add PagesWithProp special page and API module
 * - Add a wfWaitForSlaves call at the end of sql.php
 * - Script calling cleanups
 * - Add a define guard to NoLocalSettings.php
 * - Flip order of conditionals and add explanatory note
 * - Remove DB2 support
 * - Add wgPostEdit to show if user just saved this page
 * - Add link trail and link prefix to API
 * - Add variant config to siprop=general
 * - Remove gaps from $wgFileExtensions array
 * - Make ApiEditPage use Article::newFromWikiPage and add user to context
 * - Web installer: fix &quot;Upgrade existing installation&quot;
 * - XML format: fix &quot;Unrecognized parameter&quot; warning
 * - Pass user to File::recordUpload to avoid $wgUser
 * - Change comment:
 * - Fix documentation error for $expire in WebResponse::setcookie.
 * - Initial JSDuck implementation
 * - Additional tests to catch future Parsoid regressions.
 * - test the parsing of inline URLs.
 * - Give a 200 response for valid user pages
 * - Add tests for wfParseUrl
 * - phpcs: Naming of GlobalFunctions tests classes.
 * - Made sql.php except a &quot;cluster&quot; option and cleaned up the arguments.
 * - Various job queue documentation tweaks.
 * - Changed blob table to use InnoDB.
 * - Cleanups for runJobs.php.
 * - Put the check for empty comment outside of the section anchor section of EditPage::internalAttemptSave
 * - Small tweaks to $wgLockManagers documentation.
 * - Commafy support for convertNumber
 * - [JobQueue] Made the maximum number of job attempts configurable.
 * - [JobQueue] Cleanups for JobQueueRedis.
 * - [JobQueue] Use target wiki configuration for some key functions.
 * - [JobQueue] Added aggregate empty/non-empty queue caching.
 * - Fix how QUnit.newMwEnvironment merges live and custom settings
 * - Move around/add PHP_SAPI check, making find-entries happier.
 * - Concatenate two literals
 * - PHPUnit/Framework.php was removed in 2010
 * - Fixed documentation typo.
 * - Validate the user name used by DoubleRedirectJob
 * - [FileRepo] Changed LocalFile locking to avoid breaking transactions.
 * - Fix doMaintenance.php exit procedures.
 * - Tests: Add missing expect numbers in QUnit tests.
 * - Limit ApiQueryImageInfo transform calls
 * - Show HEADs for Git 1.7.8+ submodules
 * - Do not show a &quot;badretype&quot; error when creating an account by e-mail.
 * - style: indent tweaks to Title.php
 * - Using &quot;Page&quot; for type hinting is really useless
 * - Fix API output formatting (change lines delimited with * as bold)
 * - API prop=pageprops ppprop should accept multiple values
 * - Add line breaks to the output of Special:Watchlist
 * - Some minor coding practice fixes;
 * - style
 * - [JobQueue] Allow certain job types to always opt out of retries.
 * - Pass all non-default values as hidden field in namespace form on Special:Watchlist
 * - set wgLanguageCode in NewParserTests for all tests
 * - Add getters to Message object.
 * - unbreak $.suggestions up/down arrow navigation [regression]
 * - phpcs: Normalize methods declarations to &quot;[final abstract] [visibility]&quot;.
 * - Move &lt;warnings&gt; and &lt;query-continue&gt; to result's top and optimize
 * - API Remove $wgAPIGeneratorModules - it's dynamic now
 * - Remove useless $prefs array from Special:Watchlist
 * - Upstream: Update QUnit from v1.10.0 to v1.11.0
 * - Always cast input to string in wfBaseConvert
 * - Better context for Article initialized by ApiEditPage
 * - Fix siprop=protocols in XML format
 * - Wrote proper skip reason
 * - Misc follow-ups to I2fc3966e (a161c5e)
 * - wfParseUrl no longer produces a PHP notice if passed a &quot;mailto:&quot; URL without address
 * - Use $this-&gt;checkReadOnly for read only database check in Special:Invalidateemail
 * - Extend Russian grammar support
 * - Add invert selection for ns in Special:Newpages
 * - [Upload] Moved async upload stuff to the job queue.
 * - cleanup action=tokens
 * - Add line breaks to the output of action=info
 * - Avoid fatal errors when a revision doesn't exist in action=info
 * - Allow n=form in plural syntax
 * - createAndPromote.php: Change to allow promotion only
 * - fix a typo in generateCollationData.php
 * - properly stop output buffering
 * - Allow adding arbitrary properties to OutputPage
 * - Mention that User::setInternalPassword accepts null as password string
 * - Fix documentation in Linker::formatTemplates.
 * - Add pp_propname_page index to page_props
 * - Allow API results to wrap long lines

AbuseFilter

 * - AbuseFilter: Change format of database logging/ performance
 * - Fix default for $wgAbuseFilterAnonBlockDuration
 * - Check that $title is defined and is a Title object
 * - Create variable to set length of IP blocks

ArticleFeedback

 * - Use email instead of e-mail

ArticleFeedbackv5

 * - Use American English spelling for behavior
 * - Use email instead of e-mail
 * - Avoid overlapping text in Tools box by using display:inline-block
 * - Use protocol relative links

CentralAuth

 * - Fix the reason dropdown for Special:MultiLock
 * - Adding comments for grep
 * - Add api for getting all wiki sets
 * - Adding username to the account details section of Special:CentralAuth
 * - Use CentralAuthUser::adminLockHide in SpecialCentralAuth::doSubmit
 * - Add conflict detection for status
 * - Minor fixes (i18n and special page group)
 * - Consistency tweaks
 * - Use email instead of e-mail
 * - Lock multiple CentralAuth accounts at once
 * - Used empty string instead of null for lock in setglobalaccountstatus API

CentralNotice

 * - Fixing PHP fatal when saving banner
 * - British spelling - localise (for consistency)
 * - ResourceLoader: List jquery.cookie as a dependency
 * - Mobile: Allow CentralNotice to surface on mobile
 * - Fix CentralNotice Underallocation
 * - CentralNotice using wrong DB for logging

Cite

 * - Handle cloned parsers

CodeReview

 * - Use email instead of e-mail

ConfirmEdit

 * - Use email instead of e-mail

ContributionTracking

 * - Use email instead of e-mail

CreditsSource

 * - Tweak 'creditssource-source-work'

DonationInterface

 * - Making the payments logs less racey.
 * - Adding new payment types to the out-logger.
 * - fix required, hidden city input
 * - Removing end comments marks from Sofort-GB form

Echo

 * - Fixing dismiss functionality for new checkmatrix system and categories
 * - Using self for static methods
 * - Making defaultUserOptions based on category to match preferences
 * - Echo style tweaks per Vibha
 * - Making sure email notifications are based on categories as well
 * - extract payload from generic format method
 * - Just correcting a class name
 * - Fix eventlogging schema check logic
 * - Remove trailing comma from javascript object literal
 * - Add more documentation and code cleanup
 * - Implementing new prefs system for Echo
 * - Remove unused pretty timestamp
 * - Add first version of EventLogging schema to Echo
 * - Numerous bits of method parameter documentation
 * - Fix inconsistent function return type
 * - Remove unused function EchoEditFormatter::formatLink
 * - Remove a couple of unused variables
 * - Use email instead of e-mail
 * - Some minor polish for user mention notification per design specs
 * - configure mention notification to use the right formatter
 * - Add a &quot;mention&quot; notification

EmailCapture

 * - Use email instead of e-mail

EventLogging

 * - Provide configuration hints in dev server
 * - swap ujson lib for simplejson
 * - Remove Git SHA1 logging functionality
 * - Fixup memcached support for new WMF memcached config
 * - Spaces to tabs

ExtensionDistributor

 * - Remove unused message

GlobalBlocking

 * - Use email instead of e-mail

LiquidThreads

 * - Use email instead of e-mail
 * - Check lqtnotifytalk property correctly
 * - Fix placement of sign unnecessary message
 * - Fix order of checking for non-existent lqt_oldids
 * - Fix Call to a member function getPrefixedText on a non-object
 * - Fix highlighted comment URL on thread lqt_oldid pages
 * - Fix discussion page history columns
 * - Watch/Unwatch must be POSTed and pass token.
 * - Log signature changes
 * - Change sort order submit button to use it's own message instead of 'go'

MoodBar

 * - Use email instead of e-mail
 * - MediaWiki:Moodbar-privacy and MediaWiki:Moodbar-privacy-link use lego

Narayam

 * - Fix te rules to get ZWNJ instead of ZWJ

OpenStackManager

 * - Remove debugging lines that cause disclosure
 * - Create shell requests as labslogbot.
 * - Projects need to be extensibleobject so that we can add 'info'.
 * - Add a GUI for managing a project's shared volumes

PageTriage

 * - Updating PageTriage for Echo change Id745ed
 * - Replacing intval with casting
 * - replace gM with mw.msg
 * - Use email instead of e-mail
 * - Fix capitalisation

RSS

 * - Remove from around date format
 * - Use American English spelling for behavior
 * - follow-up change (renaming) core class HttpRequest to MWHttpRequest
 * - $wgRSSAllowImageTag new name; bug fixed

Scribunto

 * - Make mw.getCurrentFrame work in console, add frame:newChild
 * - Don't count argument parsing time towards Lua limit
 * - Missing global
 * - Improve error popup discoverability
 * - Add title.fileExists, improve title.exists
 * - mw.title:getContent should record in templatelinks
 * - Fix unit test engine↔parser assignment
 * - Fix Title library breaking other unit tests
 * - Add namespace translations for dsb, eo, hsb
 * - Add mw.title:getContent
 * - Fix ustring errors
 * - Add language functions
 * - Fix mw.uri error with empty fragment or query string
 * - Add requirable bit32 library
 * - Clean up argument lists
 * - Add Hungarian namespace aliases
 * - Fix title library saving
 * - Update i18n
 * - Clean up lualibs
 * - Add mw.title library
 * - Added be-tarask NS translations
 * - Add Dutch namespace names
 * - Add Chinese namespace names
 * - Add german namespace aliases
 * - Add mw.message library
 * - Fix NaN unit test in phpunit 3.7.14
 * - Use XHTML &lt;hr /&gt; tag
 * - Add module documentation support
 * - Add mw.loadData, for static data loading
 * - Enable subpages

SpamBlacklist

 * - Use American English spelling for behavior
 * - Use email instead of e-mail

TemplateSandbox

 * - Fix notice due to undefined templatesandbox_preview

TitleBlacklist

 * - Introduce a way to limit username filter to certain sources.

Translate

 * - Rename job classes to more specific names
 * - Fix proofreading view
 * - Add a &quot;collapse&quot; tooltip, in addition to &quot;expand&quot;
 * - Do not show export tab if exports are disabled
 * - Bump version
 * - Empty msgctxt is now exported properly in GettextFFS
 * - I can't find where outdated class is used
 * - Pre-fetch information for the first element of the message list
 * - [TUX] Add tooltip to expand and close icons
 * - [TUX] Filtering by a word does not work for non-Latin scripts
 * - American spelling - familiarize/minimize
 * - Do not consider empty string to mark a translation as &quot;unsaved&quot;
 * - Fix whitelist/blacklist checking on export
 * - Don't create empty files in AndroidXmlFFS
 * - Add fuzzy support to AndroidXmlFFS
 * - Handle gracefully if Solr is not running
 * - Adjustments for empty list message
 * - Remove unused isValidLanguage code
 * - Adjusted layout for side-by-side views
 * - Rename js file to match naming convention
 * - Make whole facet row clickable on search
 * - &quot;X&quot; should clear search filter in message list
 * - Remove proofread tab in TUX
 * - Fix singular: parenthesis
 * - Don't assume page content language is wiki content language
 * - Simplify translatable page completion calculation
 * - [TUX] Outdated icon not appearing on proofread view
 * - Some GettextFFS messages were not unfuzzied on import
 * - Run mapped code through wfBCP47
 * - Do not display fuzzy translations on translation pages
 * - [TUX] Don't show the &quot;No message documentation&quot; label
 * - Fix Proofread mark status not being updated
 * - Have PythonSingleFFS observe codeMap
 * - Fix the appearance of translatable pages diffs in TUX
 * - My -&gt; your
 * - Add help text and actions if no messages to show
 * - Use American English spelling for behavior
 * - Use American English spelling for color
 * - Address my review comments in Ibf59342e
 * - &quot;The group parameter must be set&quot; when disaggregating page
 * - Avoid inconsistencies in breadcrumbs of project selector
 * - Made message group search match words
 * - Speed up initial message loading
 * - Make (en|dis)couraging changes immediately visible
 * - Add the &quot;page&quot; view for a side-by-side translation
 * - Avoid fatal error for unknown groups with tux
 * - Make variable explicitly public
 * - Converted page translation logs to LogFormatter
 * - &quot;Hide your translations&quot; button
 * - Updated proofreading check marks to use sprites
 * - Adding $this = $( this ) where appropriate
 * - Show blue pencil mark for untranslated messages
 * - Convert translationreview logs to LogFormatter
 * - Unbreak group selector in old interface
 * - Make &quot;translated&quot; the default filter for proofreading
 * - Allow insert from helper language
 * - Add search support for proofread mode
 * - Whitespace cleanup for JSHint
 * - XML for Android export should have escaped ' and &quot;
 * - Remove delay in enablement of &quot;save translation&quot; button
 * - Move focus to search for the project selector
 * - Styling adjustments for proofread view and toggle buttons
 * - Use email instead of e-mail
 * - Fix whitespace of I2dc613b73
 * - Fix broken layout for editor in proofreading mode
 * - Add status as class for proofread rows
 * - Fix the toggle style of mode changing buttons of message table
 * - Add Language to gettext file header
 * - Provide onSave callback for translate editor
 * - Remove the 'load from all' button
 * - Load messages from parent groups too when selected in groupselector
 * - Translate, Proofread toggle buttons
 * - Display a warning when translating to a non-priority language
 * - Hide 'untranslated' filter in proofread mode
 * - Fix js error while clicking on 'Load all messages' button
 * - Fix broken filters in proofread mode
 * - Update the statsbar after proofreading
 * - Code refactoring
 * - Remove useless database call
 * - Fix: Wrong language for stats bar
 * - Check user rights before proofread
 * - Add type hint
 * - Add type hint
 * - Remove unused local assignments
 * - Remove unused local variable
 * - Proofread
 * - Make message table header to float when scrolling
 * - Load language stats correcly on language change
 * - Dynamic rendering and selection of workflow states
 * - Proper formatting of LTR messages docs in RTL

TranslationNotifications

 * - Move full stop outside of link
 * - Use email instead of e-mail
 * - Fix variable number in message

UniversalLanguageSelector

 * - dirty RTL CSS hack for Opera

UploadWizard

 * - adding new license needs array_merge_recursive.&quot;
 * - wrong progress status of uploads.
 * - adding new license needs array_merge_recursive.
 * - really dont try to convert images
 * - Align buttons properly after uploading a file.
 * - proper indentation of license under &quot;this file is my own work&quot;

Vector

 * - make ext.vector.collapsibleTabs actually work
 * - clean up jquery.collapsibleTabs vs ext.vector.collapsibleTabs
 * - adjustments to footer cleanup's CSS

VisualEditor

 * - Added validation to ve.inheritClass
 * - Shift-Enter should add newline in preformatted
 * - Major UI refactoring and improvements
 * - Maintenance script: Update header
 * - Cleanup: Omit second argument to setTimeout for &quot;nextTick&quot;
 * - Fixing canBeSplit for ListItemNode
 * - Change FormatAction.splitAndUnwrap to use the new SurfaceFrament.isolate method
 * - Fix JSDuck warnings
 * - Resigning from localStorage
 * - Implement SurfaceFragment.rewrapAllNodes
 * - Modify styles, add disabled and read-only for widgets
 * - Use @chainable where appropiate.
 * - Make translateRange translate across wrapping transactions correctly
 * - Add ve.Range.prototype.isBackwards
 * - Combine consecutive remove operations
 * - Cleanup selection displaying related methods in ve.ce.Surface.
 * - Introduction of ve.ce.RangyRange class.
 * - After creating a ve.Surface in a test, destroy it
 * - Change one last .storeHTMLAttributes to .storeHtmlAttributes
 * - Make string type matches override regex type matches
 * - Add MWMetaNode to clean up &lt;meta&gt;/&lt;link&gt; hack in the converter
 * - Support RDFa type regexes in ModelRegistry
 * - Implement the new node API in the converter
 * - Change context.wrapping to context.inWrapper
 * - Add .static.enableAboutGrouping
 * - Add .static.storeHtmlAttributes
 * - Implement SurfaceFragment.unwrapAllNodes and fix wrapAllNodes.
 * - Fix bug with replacements in translateOffset
 * - Create SurfaceFragment.isolate method
 * - Create tests for ve.FormatAction.convert
 * - Hide Phantoms
 * - Make the full document regex hack a bit more robust
 * - Introduce ve.Keys based on DOM Level 3 KeyEvent
 * - Change {Boolean} to {boolean} throughout
 * - Very small cleanup of onCut method in ve.ce.Surface.
 * - Fix ModelRegistry stupidities
 * - Make ve.copyArray / copyObject work with booleans
 * - Bump copyright notice year range to -2013 over -2012
 * - Upstream: Update QUnit from v1.10.0 to v1.11.0
 * - Make the converter work with full HTML documents rather than fragments
 * - Add ve.createDocumentFromHTML

WikiLove

 * - Use email instead of e-mail

WikimediaMaintenance

 * - Fix some stupid mistakes in cleanupSkinPrefs
 * - Stashing script for checking rc_params type