MediaWiki 1.25/wmf16/Changelog

Core changes

 * - Fixed backwards $group check in LoadBalancer
 * - Bump WikiGrok for https://gerrit.wikimedia.org/r/#/c/190562/
 * - Bump Echo submodule in 1.25wmf16
 * - Updated ZeroBanner to HEAD
 * - Back porting Media Viewer share/embed fix
 * - Fix URL comparison used for cacheability decision
 * - Update Vector for cherry-picks
 * - update CentralNotice submodule
 * - update CentralNotice submodule
 * - Update CentralAuth to 1.25wmf16 HEAD
 * - update CentralNotice submodule
 * - update CentralNotice submodule
 * - Update Wikidata submodule
 * - Update OOjs UI for cherry-pick of I5548b86752
 * - Revert &quot;Revert &quot;Bump Echo submodule in 1.25wmf16&quot;&quot;
 * - SWAT update ZeroBanner messages
 * - Update CentralAuth submodule
 * - Make UserRightsProxy::addGroup/removeGroup return bool
 * - Update VisualEditor submodule
 * - Update UploadWizard submodule
 * - Update CentralNotice submodule for deploy
 * - Revert &quot;Bump Echo submodule in 1.25wmf16&quot;
 * - Update VisualEditor for cherry-pick
 * - Updated ZeroBanner with r189617
 * - Updated ZeroBanner with 189553
 * - Bump Echo submodule in 1.25wmf16
 * - Fix Flickr review template for UploadWizard
 * - Update OOjs UI to bring in Id45a836c29
 * - Update OAuth for 189023
 * - Properly escape the messages in CategoryViewer.php
 * - Hack for T87645, since maybe it is still happening
 * - thumb.php: Generate valid HTML code on error page
 * - Moved &quot;large write query&quot; code to TransactionProfiler
 * - Sync up with Parsoid parserTests.
 * - Creation, deletion and improved management of change tags
 * - Remove LanguageGetMagic profile point
 * - Update OOjs UI to v0.6.6
 * - Improve documentation of ChannelFeed and AtomFeed class
 * - mediawiki.language.init: Ignore case of language code
 * - Made ArticleRevisionVisibilitySet include the revision IDs
 * - Unbreak interwiki user rights granting
 * - Non-word characters shouldn't terminate tag names on the tidy side too
 * - Remove explicit require of ExternalStoreDB.php
 * - No such method Exception::getText
 * - API: Don't dump Title object into API result
 * - SkinApiTemplate: Remove &lt;span dir=&quot;auto&quot;&gt; for firstHeading
 * - mediawiki.action.edit.preview: Remove &lt;span dir=&quot;auto&quot;&gt;
 * - Remove unused REPORTING_INTERVAL from resolveStubs.php
 * - Update OOjs UI to v0.6.5
 * - composer.json: Correct license identifier
 * - Pass user to FileRepo::getUploadStash
 * - Revert &quot;CategoryView modified to use css columns&quot;
 * - codepointToUtf8: Throw exception rather than calling die
 * - Gruntfile: Clean up Karma config
 * - Update OOjs UI to v0.6.4
 * - objectcache: Use Psr\Log\LoggerInterface instead of wfDebug
 * - Update karma to latest version
 * - PostgreSQL: Drop unneeded foreign key constraint
 * - registration: Fix handling of MessagesDirs array and add tests
 * - break up long line that phpcs whinges about in DefaultSettings
 * - Output wikiid/api in meta=siteinfo only when non-empty
 * - Fill the iw_api column of the interwiki table when installing
 * - Escape unescaped messages shown in action=info
 * - Add missing &lt;/ul&gt; in Article::getRedirectHeaderHtml
 * - Fix typo in Release note
 * - CategoryView modified to use css columns
 * - Escape message 'version-poweredby-others' on Special:Version
 * - normal: Add @covers tag to UtfNormal test
 * - convertExtensionToRegistration: Add --skin option
 * - DeferredStringifier: Clean up comments and indentation in tests
 * - ProcessCacheLRU: Clean up doc comments and add @covers tags to tests
 * - CSSMin: Optimise isLocalUrl by moving fast comparison forward
 * - CSSMin: Add tests for isRemoteUrl and isLocalUrl
 * - StringUtils: throw InvalidArgumentException and move into libs/
 * - Set context when parsing message 'redirectpagesub' in Article
 * - Use context when parsing messages in Article::setOldSubtitle
 * - Set context when parsing message in SpecialLog::addHeader
 * - Pass user to Title::quickUserCan in DifferenceEngine
 * - ReplacementArray: Set explicit visiblity on functions
 * - Move ReplacementArray into includes/libs/
 * - ExplodeIterator: Set explicit visiblity on functions
 * - Move ExplodeIterator into includes/libs/
 * - replacers: Make Replacer abstract, and add abstract Replacer::replace
 * - replacers: Set explicit visiblity on functions
 * - Move &quot;Replacers&quot; into includes/libs/replacers/
 * - Turn Utf8Test into a PHPUnit test case
 * - Move includes/normal to includes/libs/normal
 * - Sync up with Parsoid parserTests.
 * - Escape all return values from ProtectedPagesPager::formatValue
 * - Output COPYING files as plain text in Special:Version/License/*
 * - Escape return value from Skin::getUndeleteLink
 * - Only try to load UtfNormalDefines.php once
 * - Update and enrich API documentation
 * - Fix doc for ManualLogEntry::setParameters
 * - Kill hitcounter remains
 * - Pass user to Title::userCan in InfoAction
 * - Don't split regex string unnecessarily
 * - Add plainlinks class to &lt;h2&gt; in Special:Version
 * - Fully escape return value from FileDuplicateSearchPage::formatResult
 * - Make Sanitizer::removeHTMLtags and ::removeHTMLComments public
 * - SpecialMovepage: Correctly apply target namespace to subpages
 * - Avoid double escaped expiry time on action=protect
 * - Run clearSearchIndex when mysql in rebuildTextIndex
 * - registration: Ignore keys prefixed with @ in &quot;config&quot;
 * - Remove copious amounts of commented out preg_replace calls
 * - Remove unused $fname temporary variables
 * - Removed unused and poorly supported time argument to BagOStuff::delete
 * - Convert JobRunner to PSR-3 logger
 * - convertExtensionToRegistration: Document parameters
 * - tests: Remove resources/ from phpunit coverage
 * - convertExtensionToRegistration: Move 'namemsg' to top as well
 * - Avoid double escaped message 'nbytes' on Special:NewPages
 * - Add missing documentation in DateFormatter.php
 * - Add links to Special:EditWatchlist in Preferences' Watchlist tab
 * - Remove dir=auto from firstHeading
 * - Special:AllMessages: Ignore case of first letter when sorting
 * - Usercreate: Move label of extraInput to right place
 * - mediawiki.cookie: Re-add documentation about non-zero default expiration
 * - Output number of conflicts
 * - Fix stdClass typo in namespaceDupes.php
 * - ApiPageSet lazy loads content models
 * - Add HiDPI PNG variants for 'Powered by MediaWiki' footer icon
 * - Title: Always add title to LinkCache when necessary (in 3 methods)
 * - Update OOjs to v1.1.4
 * - update.php: Run checkComposerLockUpToDate.php
 * - LSG: Fix Makefile
 * - SpecialTrackingCategories: Read from the extension registry
 * - Always use the newly-saved revision with vary-revision
 * - Introduce ApiFeedContributions::feedItem hook
 * - mediawiki.cookie: Remove false documentation for options.expiry as number
 * - Use: addGroup and removeGroup should return boolean
 * - mediawiki.inspect: Use fixed numbers for sizes in bytes
 * - Provide a backwards compatibility shim for MWLogger
 * - Replace MWLogger with MWLoggerFactory
 * - Use DatabaseBase::selectRowCount in two more places
 * - Add option to output referrer policy meta tag
 * - Document alternative to deprecated function
 * - resourceloader: Make 'script' argument to mw.loader.implement optional
 * - Revert &quot;resourceloader: Omit empty parameters from mw.loader.implement calls&quot;
 * - resourceloader: Omit empty parameters from mw.loader.implement calls
 * - mediawiki.ui: Remove color and background-color 'inherit' from inputs
 * - UserLogin: Don't rely on jQuery prop('tabindex') to map to tabIndex
 * - Make data provider in MediaHandlerTest static
 * - API: Fix setting of wpIgnoreBlankSummary in action=edit
 * - Templates:Captcha position modified,extend functionality added to QuickTemplate
 * - Add newline at end of languages/messages/MessagesBgn.php
 * - Add language fallback for Western Balochi (bgn)
 * - mediawiki.ui: checkbox: Correct alignment of long labels
 * - Add new Polish translation for DEFAULTSORT magic word
 * - LSG: Break module list into text file for readability
 * - Use Context on ProtectionForm for messages
 * - Revision: mark getRaw* methods as deprecated
 * - Added some job queue comments
 * - Changed FileBackend exceptions to subclass Exception
 * - Add bgn to Names.php
 * - Made JobRunner bail if wfReadOnly is true
 * - Add OutputPage::enableOOUI to set up OOUI stuff when needed
 * - Stop using mw-ui-big on login form buttons
 * - SpecialMovepage: Improve sanity of form-generating code
 * - JsonContent: Support non-object values as root structure
 * - Avoid fatal error with profiler in Maintenance.php
 * - Add another Br[yi][oa]n to CREDITS
 * - Fix HTTPS protocol detection
 * - Made Revision::newFromPageId avoid master queries like newFromTitle does
 * - jquery.tablesorter: Fix &quot;capabilities&quot; typo in comment
 * - Update OOjs UI to v0.6.3
 * - Adding PHP mustache parser (lightncandy)
 * - Typofix in wrapWikiMsg comment, smoother sentence
 * - Userlogin.php: Tweaks and corrections
 * - file name -&gt; filename
 * - Don't double escape in Linker::formatLinksInComment
 * - ParserOutputTest: Fix @covers tags
 * - Article: Show error message when Revision::getContent fails
 * - Add tests for Sanitizer::escapeHtmlAllowEntities
 * - HTMLFormField: Don't abuse mClass for VForms
 * - Fix array index for oldid parameter
 * - mediawiki.action.view.redirect: Don't unset wgInternalRedirectTargetUrl
 * - Use Config in SpecialUpload::getInitialPageText
 * - Release notes for f338a1cf
 * - Tweaked BagOStuff::lock retry times slightly to be faster
 * - Release notes for 1dd14dce and b3830611
 * - HTMLForm: Separate VForm code to a subclass
 * - Always set group_concat_max_len to avoid awful truncation gotcha
 * - registration: Ignore attributes that start with @
 * - registration: Sync extension.schema.json with reality
 * - convertExtensionToRegistration: Put some keys (name, version, etc.) on top
 * - Disable styling for checkboxes and radios on non-js browsers
 * - Set stat cache when getting local copy files in Swift
 * - mediawiki.inspect: Guard against Object.prototype keys as module names
 * - Exclude user interface elements in content from selection

Vendor

 * - Update OOjs UI to v0.6.6
 * - Remove leftover from I27cafb61ea78a0c5200f47298835c547d3465343
 * - Revert &quot;Added the Plancake e-mail parser library to MediaWiki using Composer&quot;.
 * - Update OOjs UI to v0.6.5
 * - Update OOjs UI to v0.6.4
 * - Revert &quot;Use classmap-authoritative setting&quot;
 * - Use classmap-authoritative setting
 * - Add wikimedia/composer-merge-plugin 0.5.0
 * - Adding PHP mustache parser (lightncandy)

AbuseFilter

 * - Implement ChangeTagsListActive hook
 * - parse AF error message on action delete

Babel

 * - Add 'license-name' matching SPDX conventions

BetaFeatures

 * - Remove obvious function-level profiling
 * - Properly register exception class

BounceHandler

 * - Minor correction in error logs
 * - Fixed license version name and other headers for Extension files
 * - Prune old bounce records

Campaigns

 * - Add 'license-name' matching SPDX conventions

CentralAuth

 * - Call saveSettings after setting the authentication timestamp
 * - Make CentralAuthGroupMembershipProxy::addGroup/removeGroup return bool
 * - Add missing &lt;/ul&gt; to Special:CentralAuth
 * - Improve user table on Special:MultiLock
 * - Don't wrap block elements in inline elements in SpecialGlobalRenameQueue
 * - Remove usage of $wgRedactedFunctionArguments
 * - Remove unused global declaration
 * - Fix &quot;MWExceptionHandler&quot; class name
 * - GlobalRenameQueue: Link to current wiki for steward if they're attached locally
 * - Make CentralAuthUser::getHomeWiki always return a wiki
 * - Add @group Database to CentralAuthTestCaseUsingDatabase
 * - GlobalRenameQueue: Add debug logging when we send out an email
 * - Ensure old user object is populated before renaming
 * - Show count of attached/unattached local accounts on Special:CentralAuth
 * - Make user links on SpecialGlobalRenameQueue plainlinks
 * - Link user names to Special:CentralAuth in globalrenamequeue-view
 * - Sync globalrenamequeue-request-userinfo-* with meta
 * - Link user names on Special:GlobalRenameQueue to Special:CentralAuth
 * - Update HTMLForm usage for I086a84f1 in MediaWiki
 * - MWException -&gt; Exception

CentralNotice

 * - Add special debug log for SpecialBannerRandom::execute
 * - Fix detail in warn in a special log on unexpected code execution
 * - Warn in a special log on unexpected code execution
 * - Sample banner impressions client-side if no choiceData
 * - Deprecate Special:BannerRandom and return a 410
 * - Revert newline added in past merge
 * - Revert &quot;Revert &quot;Merge branch 'master' into wmf_deploy&quot;&quot;
 * - QUnit: Remove groovy try-catch block
 * - One QUnit test per allocation fixture
 * - Back out client side &quot;don't send unused banner variance params&quot; changes

CheckUser

 * - i18n: Fix the message &quot;apihelp-query+checkuser-param-target&quot;
 * - Add 'license-name' matching SPDX conventions
 * - Remove i18n shim
 * - Kill explicit transactions in updater

CirrusSearch

 * - Add 'license-name' matching SPDX conventions
 * - Get rid of 2 $wgCirrus* globals inside CacheWarmersValidator
 * - Fix some typos
 * - Make Reindexer agnostic of specific implementation
 * - Make MappingValidator agnostic of specific implementation
 * - Less duplicated code for maxShardsPerNode

CiteThisPage

 * - Add CiteThisPageOutput to $wgAutoloadClasses
 * - Add 'license-name' matching SPDX conventions
 * - Add extension.json
 * - Move hooks to static class

CodeEditor

 * - Fix whitespaces
 * - Ace: Update to 2015-01-28

Collection

 * - Add 'license-name' matching SPDX conventions
 * - Fix autoloader for Proposals and NewRenderingAPI

CommonsMetadata

 * - Add 'license-name' matching SPDX conventions

ConfirmEdit

 * - Add 'license-name' to extension credits matching SPDX conventions
 * - Hygiene: Set action for createuser and badlogin
 * - Captcha.php: modified to add captcha to 'extrafields' in Userlogin and Usercreate
 * - MWException -&gt; Exception

ContactPage

 * - Add 'license-name' matching SPDX conventions

ContentTranslation

 * - Use extension registration
 * - Fix JSCS and formatting errors
 * - Alignment: Align source title heading on target title change
 * - Spelling correction in English messages
 * - Link Adaptation: Adapt links if no corresponding link found
 * - Fixing dashboard welcome message style
 * - Register the 'contenttranslation' change tag and add description
 * - Use mw.track for event logging instead of mw.eventLog.logEvent
 * - Avoid loading ext.cx.eventlogging module unconditionally
 * - New Special:ContentTranslationStats using central database
 * - API for querying content translation stats
 * - Set the CX Token when the red interlanguage link entry point used
 * - Remove schema.ContentTranslation explicit dependency of ext.cx.eventlogging
 * - Use EventLoggingRegisterSchemas for eventlogging registration
 * - Category text construction refactoring
 * - Use the plain-text GPL and add 'license-name' matching SPDX conventions
 * - Add a link from the beta feature description to Special:MyContributions
 * - Categories: Wrap categories in &lt;nowiki&gt; when publishing to User namespace
 * - Added missing commas and code formatting fixes
 * - Fix typos
 * - Remove non-Commons images from source article
 * - Remove usage of $wgContentTranslationServerURL
 * - Update ContentTranslation version
 * - Set correct title in the cx-publish cookie
 * - Add a feedback link to dashboard and translation view
 * - Publishing options: Fix user namespace publishing

DonationInterface

 * - Really send NarrativeStatement1
 * - Killall original_
 * - Add contribution tracking to Worldpay CC statement
 * - Move more validation out of GatewayPage and into the adapter.
 * - Cleanup
 * - Fix form width for consistent cross-device display
 * - Delete lightbox form
 * - Kill PayflowPro, part 3
 * - Kill PayflowPro, part 2
 * - Kill PayflowPro, part 1
 * - Lots of validation cleanup
 * - Burn a small book of unused code
 * - More validation testing
 * - Only normalize if there's data.
 * - Don't fallback from unknown currency
 * - Inherit from DonationInterfaceTestCase
 * - revert to MWException
 * - Don't feed the instructions results
 * - DataValidator uses GatewayAdapter object
 * - eliminate premium_language
 * - assign credit and blame
 * - Test for missing message translations
 * - TestingGenericAdapter can do normal validation, not just fakey
 * - Move function into the base class
 * - sprinkle comments
 * - remove and comment unused code
 * - Split test gateway forms into a single file per class
 * - Split test adapters into a file per class
 * - Normalize minor include file naming
 * - Differentiate rapidhtml failure cases
 * - Annotation in generated forms links to source file
 * - Add Alipay form
 * - log which transaction we're about to initiate
 * - Style inputs missing 'type' like text inputs
 * - Fix green box width on some forms
 * - Reset CC radios, disable 'continue' with CC buttons
 * - Tooltip explanation of CVV field for WorldPay
 * - Don't apply new input styles to radio buttons
 * - (FR #2293) Force LTR on credit-card fields
 * - Re-center CC icons in narrow screen view
 * - Even out vertical layout on small devices
 * - Improve payments form layout
 * - Get rid of unused colspan=2 cruft
 * - Prevent background color from bleeding to right margin
 * - Use class_alias to select WmfFramework
 * - Add vendor submodule and update composer files
 * - Disable clicking credit card type radio LI
 * - Make the entire li around CC type buttons clickable

Echo

 * - Pass title along to signature parser
 * - Add tests for generateEventsForRevision
 * - Improve signature detection
 * - Make current Echo overlay tab dark gray and bold
 * - Rework broken echo test to make less assumptions
 * - Add 'license-name' matching SPDX conventions
 * - Clarify alert/messages meaning

EducationProgram

 * - Add 'license-name' matching SPDX conventions

EventLogging

 * - Removing autoincrement id from db tables
 * - Drop clientValidated and isTruncated fields from event capsule
 * - Migrate to JSDuck for JavaScript documentation style
 * - Add 'license-name' matching SPDX conventions
 * - Use array_merge instead of += as the latter doesn't always work
 * - JsonSchemaTest: Update test to not use getHtml that no longer exists
 * - JsonSchemaTest: Account for updated escaping in MediaWiki
 * - JsonSchemaContent: Remove unused 'getHtml' method (take 2)
 * - Revert &quot;JsonSchemaContent: Remove unused 'getHtml' method&quot;
 * - Catch exceptions thrown by navigator.sendBeacon
 * - JsonSchemaContent: Minor clean up
 * - JsonSchemaContent: Fix html rendering of objects and arrays
 * - JsonSchemaContent: Remove unused 'getHtml' method

FlaggedRevs

 * - Add a Lua library to get stability settings
 * - Add 'license-name' matching SPDX conventions
 * - Show pending changes notice about unstable transclusions in VE

Flow

 * - Hygiene: Remove dead code
 * - Clarify flow-error-invalid-moderation-state message.
 * - Revert &quot;Revert &quot;No longer fall back to VE's Parsoid defaults.&quot;&quot;
 * - Revert &quot;No longer fall back to VE's Parsoid defaults.&quot;
 * - Make JSCS (JS Code Style) pass, and run it by default
 * - No longer fall back to VE's Parsoid defaults.
 * - Update to follow jQuery 1.9 upgrade guide
 * - Handle flow entries in ApiFeedContributions
 * - Fix multiple major IE 8 issues
 * - new-header api result is inconsistent
 * - Don't hardcode PHP executable path &amp; version
 * - Call CachingObjectMapper::clear from ObjectManager::clear
 * - After summarize action should change to 'Edit Summary'
 * - Make git commit hooks more obvious
 * - Disable Flow EventLogging by default
 * - Remove duplicated storage.topic_list.backend entry
 * - Disallow moving in Topic: namespace
 * - Render posts against the owner page rather than topic
 * - Fix LightnCandy compilation
 * - Upgrade Flow lightncandy to 0.18
 * - JS-generated timestamps have no hover, only displays readable time
 * - Bug: [DB]Mis-reporting content length
 * - Fix FlowFixUserIp.php
 * - Use jquery.ba-throttle-debounce from core
 * - Make rollover state a link to topic history
 * - Make rollover state a link to topic history

GWToolset

 * - Change whitelist request’s default project and title
 * - Do not assume that PHP_SAPI is cli when running jobs
 * - Do not spam gwtoolset log entries to RC
 * - Moved the XML doctype out of a system message.

Gadgets

 * - Add 'license-name' matching SPDX conventions

GettingStarted

 * - Remove IE6/7 CSS for JS-delivered features
 * - Clarify API documentation re task names

GlobalBlocking

 * - Add 'license-name' matching SPDX conventions
 * - MWException -&gt; Exception

GlobalCssJs

 * - Use the plain-text GPL
 * - Add extension.json
 * - Use Config instead of globals (mostly)

GlobalUsage

 * - Add 'license-name' matching SPDX conventions

GlobalUserPage

 * Newly deployed extension

GoogleNewsSitemap

 * - Add 'license-name' matching SPDX conventions

Graph

 * - Add 'license-name' matching SPDX conventions
 * - Fix graph preview editor
 * - Switch to use page properties to store graph spec
 * - Allow server-side service rendering

InputBox

 * - Update buttons to use mw-ui styles

LiquidThreads

 * - MWException -&gt; Exception
 * - Don't use deprecated Title::getTitleInvalidRegex

LocalisationUpdate

 * - LocalisationUpdate needs to support updating skins as well as extensions

Mantle

 * - Hygiene: Moving ResourceLoaderParsedMessageModule to MobileFrontend
 * - Hygiene: Moving JavaScript to MobileFrontend

MassMessage

 * - Remove $wgContentHandlerUseDB = false compatibility extension function
 * - Add 'license-name' matching SPDX conventions
 * - MWException -&gt; Exception
 * - Make validation errors look consistent
 * - Special:CreateMassMessageList should check for &quot;editcontentmodel&quot; permission
 * - Code order, whitespace, variable fixes

Math

 * - Fix rendering issues in MathML mode
 * - MathMathML, MathTexvc: Improve PhpDoc
 * - MathRenderer, SpecialMathShowImage: Correct phpdoc
 * - Remove duplicate entry from .gitignore
 * - Add type hinting for newFromMd5 constructor
 * - Remove unused XML namespace
 * - Minor clean up, optimisations and documentation corrections
 * - Add dependency on mediawiki.toolbar
 * - Improve Math test generation
 * - Make main code input area monospaced
 * - Update license headers
 * - Whitespace fixes

MobileApp

 * - Implement ChangeTagsListActive hook
 * - Styling tweaks: infobox color/shadow, disambig link padding.
 * - Add 'license-name' matching SPDX conventions
 * - Fix infobox styles for night mode

MobileFrontend

 * - QA: update gems for latest mediawiki_selenium
 * - Hygiene: Weaken special page selector
 * - Turning off page-impression logging for now
 * - Make section IDs unique
 * - SpecialUserProfile: Return Status code 404 when no user found
 * - Hygiene: Convert SkinMinerva* files to use Config object
 * - Fix UploadTutorial
 * - Hygiene: Make Infobox use View##events
 * - Hygiene: Don't bind mainMenu to mw.mobileFrontend
 * - Hygiene: Minor documentation changes - fix jsduck warnings
 * - Define the 'skin' module outside DOM ready.
 * - Fix mainMenu selector
 * - Fix redirect loop in diffs on wikidata
 * - Improve lists styles for nested lists
 * - Hygiene: Use __DIR__ directly
 * - Hide all actions in editor cta
 * - Switch to canonical '/media' prefix
 * - Don't hide &quot;edit without login&quot; button on editor cta
 * - QA: Stop running certain tests on Chrome
 * - QA: Use section-heading class to identify first section heading
 * - Use more future proof selector
 * - Hygiene: Move LessImportpath registration out of Extension function
 * - Hygiene: Move magic mobile VE module registration out of extension function
 * - Register the PHPUnit test directory
 * - Turn off universal box-sizing in alpha
 * - Hygiene: Replacing @inheritdoc with local documentation
 * - Remove unnecessary clarification
 * - Correctly render thumbnail images
 * - Hygiene: Use events map in overlay files
 * - QA: update Special:History link for js and non-js tests
 * - Autofill the search input in alpha
 * - Implement ChangeTagsListActive hook
 * - Adding missing period to error message per Siebrand
 * - Hygiene: Clean up repeated copies and re-assignments in Resources.php
 * - Alpha login form tweaks
 * - Add 'license-name' matching SPDX conventions
 * - Recruit volunteers via the JavaScript console
 * - QA: Enforce requirement of cite extension for references test
 * - Hygiene: Documentation for EditorApi
 * - Hygiene: Fix i18n problems with EditorCta for anonymous users
 * - Hygiene: Pass correct value for isEditable in Uploads schema
 * - Move &quot;Edit without login&quot; to the first position
 * - Hygiene: Fix some jsduck warnings
 * - Regression: Fix alpha
 * - Alpha: Introduce commons gallery overlay
 * - Hygiene: Generalize photo list / gallery code for use elsewhere
 * - QA: Tag @smoke tests for a separate smaller Jenkins build
 * - QA: update locator for history bar in non-JavaScript mode.
 * - QA: update locator for back icon
 * - QA: update locator for talk link
 * - Don't reload page after categories added
 * - Remove deprecated wfRunHooks
 * - Adding Sam and Rob to MobileFrontend credits
 * - QA: Run create account test on mobile site not desktop.
 * - Regression: Fix Special:Watchlist width of page-header
 * - Fix PHP Notice error in UserCreateLoginTemplate
 * - Fix wikidata api dependency
 * - Hygiene: UploadTutorial should use events map
 * - Promoting new table styles from beta to stable
 * - Regression: Restore captcha in stable
 * - Improve wikidata infobox style and template
 * - Add css classes explicitly
 * - Infobox item editing using oojs-ui
 * - Allow other token types with foreign api
 * - Alpha: Read in another project overlay button
 * - Hygiene: Make banner image configurable
 * - Define router and overlayManager outside M
 * - Hygiene: Address LanguageOverlay FIXME
 * - Group categories to content based and administrational ones
 * - Hygiene: Kill obsolete profiling
 * - Add border bottom to the last menu item
 * - Add Possibility to add categories to a page using oojs-ui
 * - Move modes.js into context.js
 * - Replace zwnj in the footer with a nicer CSS solution
 * - Hygiene: add @see tag to jsduck
 * - Hygiene: Retrieve pageApi instance using module loader
 * - Infinite scrolling on Special:EditWatchlist
 * - Use mw-ui-icon in beta
 * - Fix misaligned search clear icon
 * - Use data uris everywhere
 * - Hygiene: Split up mobile.head module into submodules
 * - Represent main menu as a View incorporated in Skin
 * - Surface mobile special pages on desktop
 * - Rename ForeignApi#post to #postWithToken
 * - Vertically align the image
 * - Fix errors in MobileWebUploads schema class
 * - Avoid SearchOverlay input drift
 * - Sample MobileWebClickTracking events at 50% (to reduce load on EventLogging)
 * - User friendly dates for wikidata infobox
 * - Fix rendering issues with infoboxes
 * - Hygiene: Introduce ForeignApi
 * - Regression: Show more link again on watchlist
 * - Add &quot;add discussion&quot; button to talk pages
 * - Revert &quot;Don't return a value from Schema.log&quot;
 * - New alpha infobox types
 * - Don't do API requests in QUnit tests.
 * - Fix some jsduck errors
 * - Update to Watchstar tests to ensure user is spoofed as authenticated
 * - Make sure InfoboxEditorOverlay has Overlay dependency loaded
 * - Don't return a value from Schema.log

MoodBar

 * - Update HTML deserialization for jQuery 1.9+ requirements

MultimediaViewer

 * - Fix share tabs
 * - Record performance log hits regardless of ResourceTiming data contents
 * - &quot;View in browser&quot; link limited to the text
 * - Attempt to improve reliability of cucumber tests
 * - Add 'license-name' matching SPDX conventions
 * - Collect thumbnail width in the performance log
 * - Match size of preview and real image
 * - Apply coding conventions for JavaScript
 * - Removed the second scrollbar appeared while loading images
 * - Show (tm) symbol if applicable

NavigationTiming

 * - Revert &quot;Always log timing data if secureConnectionStart is available&quot;

OAuth

 * - Support ListDefinedTags and ChangeTagsListActive hooks
 * - Implement ChangeTagCanCreate hook
 * - Register more classes so unit tests will pass
 * - Add 'license-name' matching SPDX conventions

OpenStackManager

 * - Add 'license-name' matching SPDX conventions

PageImages

 * - Kill profiling

PageTriage

 * - Use jQuery prop instead of attr for whether box is checked
 * - MWException -&gt; Exception

PagedTiffHandler

 * - Add 'license-name' matching SPDX conventions
 * - MWException -&gt; Exception

Petition

 * - Use the plain-text GPL
 * - Update HTMLForm usage for I086a84f1 in MediaWiki

Popups

 * - Add 'license-name' matching SPDX conventions
 * - Fix event logging issues

ProofreadPage

 * - Add 'license-name' matching SPDX conventions
 * - Adds autoload for all classes

Quiz

 * - Add COPYING and 'license-name' matching SPDX conventions

Renameuser

 * - Add 'license-name' matching SPDX conventions

Scribunto

 * - Update make-normalization-table for core file moves
 * - Fix weird quotes in package.lua
 * - Simplify code in mw.html

SemanticForms

 * - Fix for month and AM/PM dropdowns
 * - Fix for date/time inputs CSS
 * - CSS changes to make inputs look more consistent; patch by Simon Heimler
 * - Added classes for 'datetime' input fields
 * - 'openlayers' and 'googlemaps' inputs now display existing values, if any
 * - Fix for JavaScript for Cargo
 * - Updated set of JS modules to be loaded
 * - Fix for MW 1.24+ (?) to get file name to show up in form input
 * - Fix to keep #default_form from applying directly to category pages
 * - Special:CreateClass back to always being included
 * - Added Cargo support for Special:CreateTemplate, Special:CreateClass
 * - Added check to prevent calling of SF JS outside forms
 * - Fix for when SMW is not installed
 * - Made some i18n messages simpler and more generic
 * - Another fix for jQuery for MW 1.24+
 * - Improved parsing of templates when Cargo is installed
 * - Improvements to display of multiple-instance templates in forms
 * - Added &quot;link text=&quot; param for #formredlink
 * - JS and CSS changes for form validation error display
 * - Added sf.addTemplateInstance hook; patch by Simon Heimler
 * - Possible input types in Special:CreateForm now displayed correctly with Cargo
 * - Removed toggle, to work with jQuery &gt; 1.9, i.e. MW &gt;= 1.24
 * - Version 3.2-alpha
 * - Added real-time validation for maximum instances; patch by Simon Heimler
 * - Added &quot;delimiter&quot; field for Special:CreateTemplate, instead of hardcoded ','
 * - Added fix for Special:CreateForm is SMW not installed

ShortUrl

 * - Add extension.json

SpamBlacklist

 * - Log full URLs on spam blacklist hit

TemplateData

 * - Reset paramOrder widget on dialog setup
 * - Use ActionFieldLayout for language and auto-choose new lang on add
 * - Allow adding a deleted parameter in the templatedata dialog
 * - Add param order drag/drop widget to TemplateData dialog
 * - Adapt the type input to work with the new ooui getMenu
 * - Show &quot;no description&quot; in italic grey also for deprecated parameters
 * - Add deprecated switch to the editor

TemplateSandbox

 * - Add 'license-name'

Thanks

 * - Use jQuery prop instead of attr for whether btn is disabled
 * - Add 'license-name' matching SPDX conventions
 * - Add tests for rendering of thanks button on mobile diff page
 * - Mobile: Conform to new LoggingSchema

TimedMediaHandler

 * - Making the video player centered within the dialog box

TitleBlacklist

 * - Add 'license-name' matching SPDX conventions
 * - Use array_merge instead of += as the latter doesn't always work

TorBlock

 * - Implement ChangeTagsListActive hook
 * - Add 'license-name' matching SPDX conventions

Translate

 * - Cancel button added for Special:PagePreparation
 * - Throw exception if old revtag_type is still present
 * - Allow underscores in insertable tvars
 * - Made mwcore-export not fail horribly
 * - Update version before MLEB release
 * - Escape '@' sign at beginning of strings to avoid compilation breakage.
 * - Implement message group configuration validation
 * - Add cxserver mt backend support
 * - Prevent patrol footer from appearing on translation pages
 * - file name -&gt; filename

UniversalLanguageSelector

 * - Update jquery.uls to ef6f73b
 * - Update version before MLEB release

UploadWizard

 * - Fix call to FormDataTransport
 * - Revert &quot;Flickr: The community does not consider UW uploads verified&quot;
 * - Add 'license-name' matching SPDX conventions
 * - Get rid of $wgUpwizDir and use __DIR__ directly
 * - Fix formdata filename field
 * - Revert &quot;Sanitize | characters in descriptions&quot;
 * - Move DeedPreview to the deed step controller

UserMerge

 * - Set 'UserMerge' as the canonical extension name

VisualEditor

 * - MWMediaDialog: Focus the right thing on ready, depending on the panel shown
 * - Refactor MWMediaSearchWidget to use a queue and providers
 * - Use css class instead of jquery show/hide
 * - [BrowserTest] Refactor offset_element and browser_zoom
 * - [BrowserTest] Rename iframe to window_frame
 * - [BrowserTest] Restore the formula screenshot scenario
 * - [BrowserTest] Restore page settings language screenshots
 * - [BrowserTest] Click the editable area with .when_present
 * - Unbind watch event handler in VPT when necessary
 * - Update VE core submodule to master (55e3589)
 * - extension.json: Add &quot;VisualEditorPluginModules&quot; to &quot;config&quot;
 * - MWTransclusionDialog: Add a little margin to the addTemplateFieldset
 * - Improve references test data
 * - [BrowserTest] Test for checking General Settings for media
 * - test: Rebuild .rubocop_todo.yml
 * - Make API module's LinkCache data transmission format more efficient
 * - ApiVisualEditor: Default format is jsonfm not json, so note this
 * - Update VE core submodule to master (c9b90ce)
 * - mw.Target: Add mw-body-content class before we attach surface
 * - Hide extra space at the top of the single transclusion dialogs
 * - Add extension.json
 * - build: Bump devDependencies to latest
 * - Do not send search query on whitespace
 * - [BrowserTest] Add basic test for table creation
 * - Update VE core submodule to master (8218942)
 * - Increase user-input delay in MediaSearchWidget
 * - Use the new image cache in the media dialog
 * - Wait with showing edit notices until after the welcome dialog is closed
 * - Only re-render if the images is larger than the last rendering
 * - Don't corrupt href=&quot;./&quot; in internal links
 * - Update &quot;Watch this page&quot; option when necessary
 * - Use padding on save dialog panels so scrollbar is correctly positioned
 * - [BrowserTest] Updating test for Media Settings interface
 * - Use ActionFieldLayout in the template placeholder page
 * - Combine imageinfo requests
 * - Update VE core submodule to master (f2d7711)
 * - [BrowserTest] remove old hack and fix &quot;a is undefined&quot; bug
 * - [BrowserTest] make rubocop stop complaining
 * - Adjust to ooui's show/hide css change
 * - Implement ChangeTagsListActive hook
 * - Add a layout queue to media result widget
 * - When changing image source, use already-available API info
 * - Lazy load the media search results
 * - Update permanent link and PDF download link oldids on save
 * - [BrowserTest] Shorten all capture_screenshot lines
 * - [BrowserTest] Restore the indentation list screenshot scenario
 * - [BrowserTest] Show the complete insert pull-down in screenshots
 * - [BrowserTest] Consistent names for variables that refer to down-arrow
 * - [BrowserTest] Shorten lines for clarity
 * - [BrowserTest] Simplify the Selenium selector for the Save button
 * - [BrowserTest] Remove extra empty lines to make Rubocop pass
 * - [BrowserTest] Fix VisualEditor toolbar actions scenario
 * - [BrowserTest] Change &quot;Headings interface&quot; to &quot;Headings menu&quot;
 * - [BrowserTest] Clean up the 'I am editing' scenario in language screenshots
 * - [BrowserTest] Update Ruby gems
 * - Use DOM methods instead of jQuery .html in references DM code
 * - Update VE core submodule to master (e56f537)
 * - Use DOM rather than jQuery for &lt;base&gt; resolution
 * - dm.MWBlockImageNode: Use DOM methods rather than jQuery
 * - Focus the add template input in the template dialog
 * - ce.MWReferencesListNode: Remove unnecessary .show call
 * - Update VE core submodule to master (8b83816)
 * - Increase the space between the title and text in media dialog
 * - Check for venotify on page load, not when VPT is created
 * - MWMediaDialog: Add contextual help for controls
 * - Don't add __STATICREDIRECT__ whenever the user sets up redirect details
 * - Actually perform interwiki check in MWLinkTargetInputWidget
 * - Update VE core submodule to master (916d1b9)
 * - MWMediaDialog: Make the dialog bigger when searching for media to insert
 * - MWSaveDialog: Make the diff screen a larger rather than large size
 * - Revert &quot;Temporarily disable JSON content type on visualeditor-cite-tool-definition.json&quot;
 * - Add filename to the media dialog
 * - Tweak margins on media info page
 * - Transform the search widget to show image details
 * - MWLinkTargetInputWidget: Check title is valid in MediaWiki
 * - Change uses of LookupInputWidget to LookupElement
 * - Update VE core submodule to master (8b28b37)
 * - Temporarily disable JSON content type on visualeditor-cite-tool-definition.json
 * - Don't rely on 'user' and 'site' modules working correctly
 * - Don't load OOjs UI i18n strings as core does this already

WikiEditor

 * - Use &quot;obj.hasOwnProperty( prop )&quot; instead of &quot;prop in obj&quot;
 * - Allow a resizeable toolbar index
 * - Use sprite as button icon where possible
 * - Add missing dependency to module 'jquery.mwExtension'
 * - Use font-family: monospace, Courier
 * - Prevent line wrapping for link syntax help column
 * - Fix whitespaces in JavaScript

WikiGrok

 * - Reduce database locking

WikiLove

 * - Implement ChangeTagsListActive hook
 * - Update HTML deserialization to meet jQuery 1.9+ requirements

Wikidata

 * - Update Wikibase: Fix JS error, subscription fixes
 * - Update Wikibase: Fixes for SpecialNewEntity and the anon edit warning

WikimediaEvents

 * - Implement ChangeTagsListActive hook

WikimediaMaintenance

 * - Tweak some parameter names

WikimediaMessages

 * - Add 'license-name' matching SPDX conventions
 * - Add 'centralauth-contribs-locked' override with a link to Meta's CA

XAnalytics

 * - Remove space between key-value pairs in header

ZeroBanner

 * - Backported i18n messages from master
 * - Updated english msgs
 * - Properly HTML-escape banner text
 * - Warn on HTTPS - take 2
 * - Update ApiResult handling for mediawiki/core change I7b37295e
 * - Add 'license-name' matching SPDX conventions
 * - Fix routing capabilities

ZeroPortal

 * - Add 'license-name' matching SPDX conventions
 * - Update to mediawiki-selenium pre-release version
 * - Skip 'enabled' field in 'analyticsconfig'
 * - Skip 'disabled' in analyticsconfig

cldr

 * - Explicitly reference globals

CologneBlue

 * - Remove dir=auto from firstHeading
 * - Use the plain-text GPL and fix 'license-name' to match SPDX conventions

Modern

 * - Remove dir=auto from firstHeading
 * - Use the plain-text GPL and fix 'license-name' to match SPDX conventions

MonoBook

 * - Remove dir=auto from firstHeading
 * - Use the plain-text GPL and fix 'license-name' to match SPDX conventions

Nostalgia

 * - Remove dir=auto from firstHeading
 * - .gitreview: Correct repository name

Vector

 * - Don't use JavaScript to style first sidebar portlet
 * - Remove dir=auto from firstHeading
 * - Use the plain-text GPL and fix 'license-name' to match SPDX conventions
 * - Revert &quot;Add svg image of bullet&quot;
 * - Simplify construction of SkinVector
 * - Remove CSS transition on window resize