MediaWiki 1.27/wmf.7/Changelog

Core changes

 * - phpunit: Omit long xdiff test provider from Jenkins output
 * - resourceloader: Centralise expected version hash for blank test modules
 * - objectcache: Implement check keys per cache key in WANObjectCache::getMulti
 * - resourceloader: Use 'phpunit' instead of 'test' as default target in PHPUnit tests
 * - objectcache: Add more WAN cache check key unit tests
 * - Remove vendor prefix support for SVG embedding
 * - Reduce updateLinksTimestamp DB contention
 * - Add 'mobile' target to 'mediawiki.raggett' module
 * - Don't claim model validation failed if the content couldn't be loaded
 * - objectcache: Add more @covers to WANObjectCache unit tests
 * - phpcs: Assignment expression not allowed
 * - Improve error message if check not defined for a password policy.
 * - Allow a TitleInputWidget user to decide, if an empty value should be validated
 * - ApiFeedWatchlist: Set messages for param-per-value too when copying from ApiQueryWatchlist
 * - Make JobQueueAggregator::doNotifyQueueNonEmpty avoid queries
 * - phpcs: Use __DIR__ constant instead of calling
 * - Clean up some wfDebug calls in LoadBalancer
 * - Generalize the LinkCache clear call to JobRunner
 * - Add i18n messages for API feedrecentchanges 'categories' and 'categories_any'
 * - resourceloader: Update MessageBlobStore documentation and code cleanup
 * - Add LBFactory::disableChronologyProtection method
 * - Decouple ChronologyProtector from user sessions
 * - Remove PHP detection from entry points other than index.php
 * - Release notes for Ic7cd6f77
 * - Move down $logEntry publish call in recordUpload2
 * - Followup a88df43d: make $wgDebugDumpSql log commented queries again
 * - Revert &quot;Avoid doNotifyQueueEmpty race conditions for Redis&quot;
 * - resourceloader: Remove deprecated MessageBlobStore::getInstance
 * - startup.test: Add IE11 and Edge strings to Grade A tests
 * - Really validate that $wgArticlePath starts with a slash
 * - Remove spammy wfDebug from LocalFile::loadFromCache
 * - Allow undo via ApiEditPage for all content models
 * - Update OOjs to v1.1.10
 * - mediawiki.Uri: Remove redundant jshint overrides for latedef
 * - TitleSearchWidget: Only update results if the query is current
 * - UserMailer: Use PHP_EOL instead of DIY
 * - Add flexbox mixins to mediawiki.mixins
 * - Update OOjs UI to v0.13.2
 * - Validates wgArticlePath does start with slash (/).
 * - Avoid doNotifyQueueEmpty race conditions for Redis
 * - mw.loader: Use requestIdleCallback to update module store
 * - Make TitleInputWidget configurable, if term should be highlighted or not
 * - Avoid using !important and hide the nolabel instead
 * - Make getLaggedSlaveMode use reuseConnection as needed
 * - Migrate feeds from $messageMemc to the WAN cache
 * - Various JobQueue test tweaks
 * - resourceloader: Log if MessageBlobStore failed to fetch a message
 * - Language: Convert names cache from MapCacheLRU to HashBagOStuff
 * - Title: Convert cache from MapCacheLRU to HashBagOStuff
 * - build: Enable all remaining jsduck jsDoc rules except two
 * - Make FindOrphanedFiles handle bad file titles
 * - Make FindOrphanedFiles handle files with ! properly
 * - Make runOnTransactionIdleCallbacks handle dangling transactions
 * - Cleaner Special:Watchlist options form

BounceHandler

 * - Add Reedy to BounceHandler maintainers list
 * - Add Username to the Unsubscribe log message

CentralAuth

 * - Don't fatal even if the Title for the log extract can't be instantiated

CirrusSearch

 * - Remove unused use imports
 * - Record the test bucket in CirrusSearchRequestSet log
 * - Remove unused &quot;use&quot; statements

Collection

 * - Generate PDFs if $wgScriptPath is empty

Disambiguator

 * - Empty PHP entry point, replace with shim that loads extension.json

DonationInterface

 * - js updates for mustache
 * - add submethods to adyen adapter
 * - move adyen to mustache templates

Echo

 * - Remove old, now unused mention flyout messages
 * - Unstub $wgLang before passing it to DiscussionParser::getTextSnippet
 * - Browser Tests: fix
 * - EventPresentationModel: Add accessor for current user's username
 * - Allow welcome notifications to have a primary link
 * - Fix some phpdoc, add missing @throws
 * - Remove unncessary code from NotifUserTest
 * - Remove unused NotifUser::getFormattedNotificationCount
 * - Don't export unused wgEchoOverlayConfiguration/wgEchoHelpPage JS variables
 * - Separate skin specific styles and improve Monobook appearance

EventLogging

 * - Add docs dir to jshintignore

ExtensionDistributor

 * - Don't explicitly mention data going to graphite

Flow

 * - Unbrand VisualEditor to &quot;the visual editor&quot;, for consistency with VE
 * - &quot;wikitext&quot; is not a proper noun
 * - Convert the post-summary query in ContributionsQuery to use JOINs
 * - Fix JS error in topic page width toggle
 * - Don't use array plus to merge SQL condition arrays
 * - Remove wgFlowDefaultWorkflow
 * - Fix log entries for topic lock/unlock

Gadgets

 * - Add note about excluding default gadgets in Special:GadgetUsage

GettingStarted

 * - Upgrade browser tests to use mediawiki_selenium 1.6 Ruby gem

Graph

 * - Insert new graphs in a page inside VisualEditor
 * - VisualEditor: Make dialog 'larger' when editing JSON
 * - VE: Use a force size refresh when switching to JSON editing
 * - VisualEditor: Remove border-radii from TableWidget elements
 * - VE: Clear Ace's undo manager after setting initial value

MobileFrontend

 * - build: Updating development dependencies
 * - Hygiene: PHP fix ups
 * - Hygiene: Deprecate api

OATHAuth

 * - Fix QR code generation module dependency

OAuth

 * - Fixup for Ib9b800d3d7ddd095856c5deaf88be82d64db0fb8
 * - Fix MWOAuthRequest::fromRequest logging

PageImages

 * - Author prefers full name in @author tag
 * - Add missing and fix wrong @license tags

PagedTiffHandler

 * - Convert hex value to decimal. Don't just cast to int.

Scribunto

 * - Fix typo in comment and missing spaces

SemanticForms

 * - Added JS validation to disallow pipes, unless in template calls
 * - Random numbers now get another digit if too many failed attempts
 * - Fix for de74f1f - changed removal method for null Cargo values

TemplateData

 * - Display format icon and message inside parameters table caption
 * - Use checkbox widgets instead of toggle widgets
 * - Add block/inline icons
 * - Introduce new 'format' template property

Thanks

 * - Fix link to Flow posts
 * - Use new EventPresentationModel::getViewingUserForGender helper
 * - Set explicit output format for message in ThanksPresentationModel

TimedMediaHandler

 * - Add opus to accepted file extensions

UploadWizard

 * - UploadWizardCampaign: Enable tidy when parsing
 * - UploadWizardCampaign: Fix PHP warning when checking buttons

UserMerge

 * - Actually pass phpcs

VisualEditor

 * - Don't load non-existant 'visualeditor-linkinspector-open' message
 * - Ensure we always catch the wikiEditor-toolbar-doneInitialSections event
 * - AceEditorWidget: Allow users to force an Ace editor refresh
 * - AceEditorWidget: Refactor to ensure setValue runs synchronously
 * - Update VE core submodule to master (3549158)
 * - Provide a tool to insert a signature in namespaces that need it
 * - AceEditorWidget: Emit resize event at end of cycle
 * - Ensure magic link nodes inherit the annotations of their text
 * - mailmap: Remove unused alias for ttijhof@wikimedia.org
 * - Update VE core submodule to master (77d786a)
 * - Edit mode switching: Separate styles
 * - Edit mode switching: Only show WE toolbar button once module is loaded
 * - Remove redundant VisualEditorDataModule::getGitHeadHash static cache
 * - Enable new module versioning for VisualEditorDataModule
 * - Replace 'source' icon with OOUI's 'wikiText' one

WikiEditor

 * - extension.json: Remove call to non-existent wikieditor-toolbar-tool-file-pre i18n
 * - extension.json: Remove calls to non-existent wikieditor-toolbar-help-content-heading1-*
 * - extension.json: Remove calls to non-existent wikieditor-toolbar-characters-*

WikimediaEvents

 * - Restore satisfaction schema and fix the performance issue that it had