MediaWiki 1.27/wmf.6/Changelog

Core changes

 * - Make getLaggedSlaveMode use reuseConnection as needed
 * - Remove vendor prefix support for SVG embedding
 * - Don't claim model validation failed if the content couldn't be loaded
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Update CentralNotice
 * - Updated mediawiki/core
 * - Unbreak IE8
 * - Updated mediawiki/core
 * - Revert &quot;Avoid doNotifyQueueEmpty race conditions for Redis&quot;
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - resourceloader: Log if MessageBlobStore failed to fetch a message
 * - Avoid doNotifyQueueEmpty race conditions for Redis
 * - Implement mw.requestIdleCallback for deferred background tasks
 * - SpecialAllMessages: Use cached getHtmlCode instead of wfBCP47
 * - Move Math specific CSS from core to extension
 * - Mention main WAN and stash instances in cache debug statement
 * - Improve LoadBalancer::doWait performance via APC
 * - objectcache: Reduce MediaWiki-specificness from Memcached classes
 * - Sync up with Parsoid parserTests.
 * - Removed useless field in SqlBagOStuff
 * - Upgrade JobRunner &quot;COMMIT ENQUEUED&quot; log entries to WARNING
 * - languages: Avoid getPreferredVariant in ucfirst/lcfirst unless needed
 * - MessageCache: Remove redundant Language::ucfirst optimisation
 * - BacklinkCache: Remove use of ProcessCacheLRU
 * - LinkCache: Convert from MapCacheLRU to HashBagOStuff.
 * - LinkCache: Minor clean up of documentation and variable names
 * - Convert LCStoreDB to using startAtomic/endAtomic
 * - Revert &quot;Disable Preferences save button before setting change&quot;
 * - resourceloader: Remove use of msg_resource_links table
 * - Don't apply CSS columns if less than 3 results were found on AllPages &amp; PrefixIndex
 * - Use HTMLForm in Special:AllPages
 * - Replace Language::factory( $wgLanguageCode ) by $wgContLang
 * - Fix regression in I24d9b16
 * - Work around broken HHVM ini_get for 'upload_max_filesize' and 'post_max_size'
 * - Rework the Preferences to prevent FOUC
 * - Pass wpExistingTags in the request when multiple revisions are selected
 * - Add/update phpdoc
 * - Remove various unused variables
 * - Add class member definition for params
 * - Fix casing of function calls in API
 * - ApiHelp: Fix undefined variable warning
 * - Use Arabic numerals in Punjabi (pa) locale
 * - TOC: Fix problems on RTL wikis
 * - Break long lines and cleanup some RefreshLinksJob checks
 * - Enforce stricter slave lag limits for bot API requests
 * - Always defer the log publish in recordUpload2
 * - Make Swift iterators throw errors on failure
 * - Bump composer-merge-plugin to v1.3.0
 * - Add header to flag API POST requests with no write intentions
 * - Hotlink InstantCommons images by default to speed up parsing
 * - Log errors in thumb.php
 * - mediawiki.jqueryMsg: Update tests to mock magic.SITENAME
 * - Make edit link conditional on Special:BrokenRedirects/DoubleRedirects
 * - Remove 'bot' check before trying the edit stash
 * - LocalisationCache: try harder to use LCStoreCDB
 * - Improve mismatched atomic section errors
 * - Allow AUTHOR|CREDITS with .{media,}wiki extension
 * - Title: Add warning if newFromText is given non-string/non-null value
 * - Convert JobQueueGroup::getCachedConfigVar to using WAN cache
 * - mw.ForeignStructuredUpload: Link author's username to their user page
 * - mw.ForeignStructuredUpload: Prevent categories and descriptions from being duplicated
 * - Convert recordUpload2 to using startAtomic/endAtomic
 * - mw.ForeignStructuredUpload: Add some headers to file description page
 * - mediawiki.jqueryMsg: Don't duplicate link contents if parse is called multiple times
 * - Add triggeringRevisionId to LinksUpdate JobSpec
 * - Fix name of PoolCounter callback in thumb.php
 * - Add example of help for all query submodules
 * - Removed raw HTML from tags-create-explanation message in SpecialTags.php
 * - Use interwiki cache directly to resolve transwiki import sources
 * - FindOrphanedFiles cleanups
 * - API: Forwards-compatibility for ApiTokens
 * - Implement section support for OOUIHTMLForm
 * - MonologSpi: add support for customizing Monolog\Logger instances
 * - ApiQueryInfo.php: Add code and direction of the page content language
 * - Remove deprecated SiteObject and SiteArray classes
 * - hooks.txt: don't use deprecated hooks in examples
 * - Remove WikiPage::doQuickEdit
 * - Convert ChangesList from MapCacheLRU to HashBagOStuff
 * - objectcache: Make HashBagOStuff LRU instead of least-recently-set
 * - resourceloader: Use WAN cache for validateScriptFile cache
 * - Add updateRevisionOn sanity check for existing pages too
 * - HTMLFormField: Do not double-escape label in OOUI mode
 * - Avoid use of rollback in WikiPage::doEditContent
 * - Add Timing interface
 * - mw.widgets.ComplexTitleInputWidget: Add infusion helpers
 * - Update OOjs UI to v0.13.1
 * - Make DeferredUpdates exception handling more robust
 * - Add WebResponse::clearCookie
 * - API: Log all deprecated parameter uses to api-feature-usage.log
 * - Change Special:ChangePassword to use OOUI
 * - Allow passing detailed permission errors data to API
 * - phpcs: Fix some &quot;Single space expected before elseif&quot;
 * - Don't link to title on &quot;htmlform-title-not-exists&quot;

Vendor

 * - Bump composer-merge-plugin to v1.3.0

BounceHandler

 * - Update output of email headers to include both keys and value
 * - Swap ' for &quot; so newlines work
 * - Don't use isset to check for null
 * - Add some param docs to test methods
 * - Fix $this-&gt;urecognizedBounceNotify variable typo
 * - Fix @expectedException to @expectedExceptionMessage
 * - Remove &quot;Cannot send notification to administrators&quot; debug logging
 * - Fix some code style issues
 * - Give email headers when bounce causes unsubscribe.

CentralAuth

 * - Added Rakefile
 * - Re-add global password policies

CentralNotice

 * - ext.centralNotice.display: Fix class of CN div
 * - impressionDiet: comment and hide reason code for when cycle doesn't restart
 * - largeBannerLimit: Use KV store instead of cookies for campaign categories not using legacy
 * - impressionDiet: don't restart cycle when restartCycleDelay is 0
 * - Added Rakefile
 * - AdminUi: fix minor mixin control hide issue
 * - Wrap sendBeacon in try/catch to prevent AdBlock issue
 * - BannerHistoryLogger: preserve inactive log up to 365 days
 * - impressionDiet: fix and minor improvements in use KV store feature
 * - Stronger check for Object.defineProperty, to handle IE8
 * - impressionDiet: Use KV store instead of cookies for campaign categories using legacy
 * - Make cookiesEnabled a public mw.centralNotice function
 * - Campaign categories using legacy: global config var and data property
 * - KVStore: Allow custom TTL for items
 * - Large banner limit mixin
 * - BannerHistoryLogger: futher minify EL data and always include campaign
 * - Make $wgNoticeCloseButton not load closeWindow19x19.png from upload.wikimedia.org
 * - Allow mixins to specify default parameter values
 * - Special:CentralNotice: always log the summary change if it was in the request
 * - Always return bucket as int, not string
 * - Remove double space from message
 * - build: Updating development dependencies

CirrusSearch

 * - Regression: wgCirrusSearchQueryStringMaxDeterminizedStates is ignored
 * - Report ES doc id in RunSearch rather than the title page id
 * - Fixed RuboCop failures in Rakefile
 * - Added Rakefile
 * - Don't run maintenance scripts for Elasticsearch 2.x
 * - Fix options option - it should accept an argument

ConfirmEdit

 * - Copy context request changes to wgRequest global
 * - ReCaptchaNoCaptcha: Fix function call on a non-object

ContentTranslation

 * - Added Rakefile
 * - Fixed a bug that prevented suggestions from showing
 * - Update mediawiki_selenium Ruby gem to version 1.6
 * - Suggestions: Visually group the non-personal suggestions

DonationInterface

 * - Amazon: check CSRF token, preserve data after expiry
 * - Make Amazon use standard handleDonationRequest
 * - Add IDs to more inputs, remove duplicate
 * - Add sanitize wrapper fn to WmfFramework

Echo

 * - Added Rakefile
 * - Recurse into sub folders for jshint and jscs
 * - Implement SortedList in Echo notifications
 * - Allow notification model and widget to show combined notifications
 * - Initialize notifications model outside of the widget
 * - Make 'x' button in notifications bigger
 * - Add an APIHandler to Echo notifications
 * - Output body in flyout
 * - Don't mark read notifications as unseen
 * - Prep for mobile rewrite in Echo
 * - Add a presentation model for Echo &quot;Welcome&quot; notification

EducationProgram

 * - Remove old logging

EventLogging

 * - Update grunt-jsonlint to 1.0.5
 * - Add Schema class
 * - Remove unused dependency on 'mediawiki.util'
 * - Update documentation to JSDuck format and add jsduck test

Flow

 * - Fix JS error in topic page width toggle
 * - Added Rakefile
 * - Fix JS exception on dedicated (no-JS) edit post page.
 * - getTopicList: Specify vtlsortby to avoid falling back on default
 * - Add isset to handle when ref_id is not in row returned from MC index
 * - Follow-up 715e950bd33: also activate EditPostWidget in nojs form code path
 * - Add browser tests for adding/removing categories
 * - Historical UID: Change counter to start at any possible value
 * - Fix undo form for OO UI selection changes
 * - Fix regression in edit post and edit topic summary due to OO UI changes
 * - Browser tests fixes
 * - Use flow- prefix for the CSS classes
 * - Add Estonian translation for flow topic namespace
 * - Add artificial primary key to flow_wiki_ref and flow_ext_ref

Gadgets

 * - Update README
 * - Add Estonian translations for gadget namespaces
 * - Remove non-existent gadgets from Special:GadgetUsage

GettingStarted

 * - Added Rakefile

Math

 * - Added Rakefile
 * - VE: Register sequence with CommandHelp
 * - Move Math specific CSS from core to extension

MobileApp

 * - Update edit pencil with Material style, for Android only.

MobileFrontend

 * - Added Rakefile
 * - Don't prevent clicks on links in section headings
 * - Add search generator config variable
 * - Fix collapsible header arrows
 * - Remove some unused i18n files
 * - Make page issues link take up an entire line
 * - Remove view source link from beta

MultimediaViewer

 * - Added Rakefile

OAuth

 * - Fixup for Ib9b800d3d7ddd095856c5deaf88be82d64db0fb8
 * - Fix MWOAuthRequest::fromRequest logging
 * - Convert logging to PSR3 standard

PageTriage

 * - Added Rakefile

PdfHandler

 * - Added Rakefile

PoolCounter

 * - Added Rakefile

SemanticForms

 * - Small cleanup to JavaScript code for dependent fields
 * - Stop duplicating header of empty section as contents of ultimate section
 * - Renamed SFUtils::addJavascriptAndCSS to addFormRLModules
 * - Removed some usage of globals like $wgOut, $wgRequest
 * - Removed/replaced some unnecessary calls to SFUtils::addJavascriptAndCSS
 * - Fix if template uses neither SMW nor Cargo
 * - Typo and formatting fixes
 * - Use str_replace instead of preg_replace with fixed strings
 * - SF_UploadWindow: Fixed hook parameter
 * - Renamed ext.dynatree.js to SF_dynatree.js - better filename
 * - Fixed &quot;tree&quot; input to work in multiple-instance templates

SyntaxHighlight_GeSHi

 * - VE: Register sequence with CommandHelp

TimedMediaHandler

 * - Add php code sniffer
 * - Recurse sub folders in jshint an jscs
 * - Update packages
 * - Update TestVideoTranscode.php test
 * - Remove !defined( 'MEDIAWIKI' ) from 1 file
 * - Remove !defined( 'MEDIAWIKI' ) from two files

Translate

 * - Added Rakefile
 * - Fixed Lint/UselessAssignment RuboCop offense
 * - Fixed Style/WordArray RuboCop offense
 * - Fixed Style/StringLiterals RuboCop offense
 * - Fixed Style/SpaceInsideHashLiteralBraces RuboCop offense
 * - Fixed Style/RedundantSelf RuboCop offense
 * - Fixed Style/PercentLiteralDelimiters RuboCop offense
 * - Fixed Style/Not RuboCop offense
 * - Fixed Style/Tab RuboCop offense
 * - Fixed Style/HashSyntax RuboCop offense
 * - Fixed Style/EmptyLineBetweenDefs RuboCop offence
 * - Fixed Lint/UnusedBlockArgument RuboCop offense
 * - Updated RuboCop to the latest version
 * - Update mediawiki_selenium Ruby gem to version 1.6
 * - Add php code sniffer
 * - Fix npm errors
 * - Try to avoid huge inserts in DatabaseMessageIndex

TranslationNotifications

 * - Fix call to undefined WikiReference::getHostname

UniversalLanguageSelector

 * - Only use jQuery.tipsy for undo popover
 * - Added Rakefile

UploadWizard

 * - Added Rakefile
 * - UploadWizard.config.php: Get more correct file size limits
 * - Add explicit dependency on es5-shim
 * - mw.UploadWizardDetails: Upload TitleBlacklist error handling for T115258
 * - mw.UploadWizardDetails: Remove unused method #error
 * - mw.UploadWizardUploadInterface: Remove some dead code
 * - Remove grey horizontal line above the bottom buttons
 * - Change label of preferences tab from &quot;Uploads&quot; to &quot;Uploading&quot;
 * - Make mw.DestinationChecker more reusable
 * - Use String#trim rather than $.trim everywhere
 * - Remove a ton of unused CSS (around 80 lines)
 * - Remove single-use utility jQuery plugin $.fn.readonly
 * - Stop pretending to support MW 1.25 and older

VisualEditor

 * - Fix updating of display title upon save
 * - Added Rakefile
 * - Update VE core submodule to master (6f8f3db)
 * - Restructure education popup code to work without overriding onSelect
 * - ve.init.mw.DesktopArticleTarget.init: Make switching to VE for new pages work
 * - Unset 'action' query parameter from veEditUri, which should always point to VE
 * - Only load switching module (depending on OOUI etc.) on edit pages
 * - WikiEditor integration: Fix dependencies for switch button
 * - Drop any beforeunload handlers when loading from existing wikitext
 * - WikiEditor integration: Only add VE switch button if VE is available
 * - Update CommandHelpRegistry calls for breaking change in core
 * - ve.init.mw.Target: Update TitleBlacklist error code
 * - ApiVisualEditor: Return the correct notice when user is not allowed to create page
 * - CommandHelpDialog: Move registrations to where sequences are defined
 * - MWCommandHelpDialog: update for core changes
 * - Don't allow keeping changes when switching from wikitext *section* editing
 * - Apply same hide/show logic to both education popup dots
 * - Unbreak 404 handling code
 * - Source icon: Use double brakcets
 * - Target init: Add edit mode switch icons to VE and WE toolbars
 * - Set wgAction when messing with the action URL parameter
 * - Fix check for loading from modified action=edit
 * - Use mw.loader.using instead of weird hacks to load OOjs UI on action=edit
 * - AceEditorWidget: Add method to clear undo stack
 * - VESwitchConfirmDialog: Set pending on the correct button
 * - VESwitchConfirmDialog: Use modes to hide 'keep' button

WikiLove

 * - Added Rakefile

WikimediaEvents

 * - Restore satisfaction schema and fix the performance issue that it had
 * - Log backend response time on edit requests

WikimediaMaintenance

 * - Trim dblist entries
 * - Improve LB handling

Vector

 * - Rework Vector style of Preferences to prevent FOUC
 * - Update packages
 * - Update codesniffer version