MediaWiki 1.26/wmf17/Changelog

Core changes

 * - Sync up with Parsoid parserTests.
 * - mw.widgets.CalendarWidget: Improve today's date highlighting
 * - mw.widgets.DateInputWidget: Don't set today's date on activation
 * - resourceloader: In startup, move RLQ handling to after mw.config
 * - Sample StatsD messages when instructed
 * - Automatically de-duplicate EnqueueJob jobs when possible
 * - Delete &quot;Currently unused&quot; regarding generateTOC
 * - Use lower case edit link on Special:WhatLinkshere
 * - registration: Document 'templates' property of ResourceModules objects
 * - Add base interface for setters in RequestContext and DerivativeContext
 * - registration: Actually set the merge strategy for $wgExtensionCredits
 * - registration: Allow setting $wgCapitalLinkOverrides
 * - registration: Allow setting $wgNamespaceProtection
 * - registration: Overhaul merging of globals
 * - Update the comment in MessagesAzb.php to be consistent with Names.php
 * - ApiQueryInfo: Remove unused variable
 * - Remove classmap-authoratative: true from composer.json
 * - Use notification on successful preferences save
 * - Use XmlSelect in SpecialListusers
 * - resourceloader: Remove ESI support (previously disabled)
 * - OutputPage: Add \n between &lt;/style&gt; and &lt;script&gt;
 * - registration: Fix merging of $wgRevokePermissions
 * - registration: Fix &quot;namespaces&quot; schema to match code
 * - Revision::newNullRevision: Make sure the Title is set in the constructor
 * - Revert I4afaecd8: Avoiding writing sessions for no reason
 * - Fix spelling mistake in ResourceLoader inline documentation
 * - mediawiki.filewarning: Use 'visibility: hidden' instead of 'display: none'
 * - Monolog: Add Formatter that uses MWExceptionHandler::getRedactedTraceAsString
 * - mw.widgets.DateInputWidget: Allow not having a date selected
 * - resourceloader: Use WrappedString library to merge RLQ inline scripts
 * - XmlSelect: Tweak documentation
 * - Use Perso-Arabic numberic system for South Azeri (azb)
 * - array_shift returns null on empty array, not false
 * - Add wikimedia/wrappedstring library
 * - Make Special:MIMESearch expensive again
 * - Throw exception on falsy server in RedisConnectionPool.
 * - resourceloader: Restore minification for 'user' and 'site' module
 * - Use XmlSelect in ProtectionForm
 * - Use XmlSelect in WebInstallerPage
 * - Add getImageInfo to mw.Upload
 * - Revert &quot;Use OOUI HTMLForm for Special:Watchlist&quot;
 * - resourceloader: Convert inline statements to queued functions
 * - Add pageid to API parse output
 * - Use STRAIGHT_JOIN in SpecialWhatlinkshere query
 * - ObjectFactory: add support for setter injection
 * - Added sanitizeHdrs tests for Swift
 * - logger: Fix undefined variable $data
 * - resourceloader: Ensure 'user' loads after 'site' (asynchronously)
 * - Have RedisConnectionPool explicitly implement Psr\Log\LoggerAwareInterface
 * - RedisConnectionPool: convert to PSR3 logging
 * - resourceloader: Implement support for 'site' into mw.loader
 * - Add Content-Length header to thumb.php redirects
 * - mw.widgets.CalendarWidget: Silence jshint for one line, not entire file
 * - Switch search-suggest message to use Message::parse
 * - Special:WhatLinksHere Don't show edit links for non-direct-editing pages
 * - Avoid revision lookup post-save in InfoAction::invalidateCache
 * - Defer the InfoAction purge in onArticleEdit
 * - RedisBagOStuff: if no alternatives, skip master link status check
 * - Update OOjs UI to v0.12.2
 * - HTMLForm: Correct documentation
 * - Track key authentication metrics
 * - Update liuggio/statsd-php-client: v1.0.12 -&gt; v1.0.16
 * - Log errors in Http::request
 * - Actually run the Less compilation tests
 * - Improve messages related to $wgAllowCategorizedRecentChanges
 * - Decolonize 'viewsourcetext' and 'viewyourtext' messages
 * - Populate rev_content_model when a move causes default content model to change
 * - Added DBAccessObjectUtils class to avoid duplication

Vendor

 * - Add wikimedia/wrappedstring 2.0.0
 * - Add composer/semver 0.1.0
 * - Alphabetize keys in composer.json
 * - Update OOjs UI to v0.12.2

CirrusSearch

 * - Allow disabling cirrus request logging from query string
 * - Remove unit tests from generated autoload
 * - Basic script to run cirrus queries in bulk
 * - Fix intermittent broken test
 * - Allow customization of &quot;Did you mean&quot; suggestions

Cite

 * - Use display: inline-block instead of unicode-bidi

ContentTranslation

 * - Add support for &lt;math&gt;
 * - Improve reference adaptation to avoid parsoid errors
 * - Remove CX generated attributes from content to publish
 * - Wrong replaceWith causes all spans getting removed
 * - Align the sections based on integer value of section heights
 * - MT Card: Refactor the event listeners to listen method
 * - MT Card: Hightlight the section when hovering action buttons
 * - Corrections for draft restore based on permanent ids
 * - Remove unwanted &lt;span&gt; tags getting added to published content
 * - Avoid highlight color of CX appearing in published articles
 * - Show Wikipedia articles in 'Find articles missing in your language' tool
 * - Adjustment for language selector arrow
 * - Fix spacing between translations and right rail in dashboard
 * - Apply selected action on Translation card to the current paragraph too
 * - Correct the jsdoc for $.fn.machineTranslate
 * - Fix crash in ContentTranslationHooks::onSaveOptions
 * - Use parsoid permanent ids for section instead of CX generated ids
 * - Do not show the article selector unless all params passed in URL
 * - Add &lt;code&gt; and &lt;kbd&gt; markup to apihelp message

Echo

 * - Remove useless and misleading comment
 * - Fix usage of UserMailer::Send to use new signature
 * - Fix more &quot;the job queue can run against different wikis&quot;

Flow

 * - SECURITY: Strip edit tokens in mw.flow.data
 * - Update VE target constructor call for breaking change
 * - Load talk page manager user less often.
 * - Suppress notifications during talk page conversion to Flow
 * - Update tests to reflect trailing newline being stripped from Parsoid output
 * - Flagging and filtering &quot;new pages&quot;
 * - Clean up 'Flow talk page manager' related code
 * - Allow 0's when handling magic word.
 * - Attach VE toolbar after VE debug bar, if there is one
 * - Don't add trailing newline when switching from VE to wikitext
 * - Add &quot;inital&quot; to typos file

Gadgets

 * - Remove deprecated API functions
 * - Remove ConfigRegistry entry for gadgets
 * - Move GadgetResourceLoaderModule class to separate file

Gather

 * - Tweak versioning for jscs to avoid errors

GlobalBlocking

 * - Make local blocks editownusertalk consistent with global blocks

LdapAuthentication

 * - AIn connect, avoid ldap_connect in case of empty servers list

Math

 * - Support for LaTeXML line break feature
 * - Remove double space in a message
 * - Add en.json credits
 * - Add full stop to a message for consistency with a similar message
 * - Convert spaces to tabs in en.json
 * - Fix: Set default MathStyle to inlineDisplaystyle
 * - Disable overwriting of the fallback image
 * - Add info about failed tests to MathStatus

MobileFrontend

 * - Don't register unloadable test modules
 * - Move ImageGalleryNew to stable (partially)
 * - Add @integrate tag to all the things that currently pass
 * - Fix search in pages feature in firefox
 * - Use OO.ui button for category overlay and fix saving spinner
 * - Implement a way in MobileContext::getMobileUrl to work with local URLs
 * - Make registered schemas reflect active schemas
 * - Post border box tweaks to pointer overlays
 * - Remove new page handling from beta
 * - Use placeholder message in VE
 * - Load all mobile license messages along with Skin.js
 * - Move more code to VE
 * - Use simplified toolbar for VE now that it handles back/save itself
 * - Rename mobileViewTarget to mobileArticleTarget
 * - QA: Upgrade MW-Selenium to 1.5 for video recording support
 * - Reduce the module build time

MultimediaViewer

 * - Set test assertions to new date format
 * - Track image load time with statsv

SecurePoll

 * - Remove unused talliers.
 * - Rename &quot;parent&quot;, SecurePoll_BasePage, SecurePoll_Page to be more descriptive
 * - Remove deprecated calls to wfMsg and updated SecurePoll special pages
 * - Refactor tooltip patch that removes &lt;p&gt; tags
 * - Remove &lt;p&gt;&lt;/p&gt; wrapping around label that shows in tooltip

SemanticForms

 * - Fixed handling for &quot;values from external data&quot; when XPath used

SpamBlacklist

 * - Actually use clearCache instead of copy-pasting key names
 * - Added local blacklist caching

TextExtracts

 * - SECURITY: Disallow extracts for non-wikitext for now.

TimedMediaHandler

 * - ogv.js media player for desktop Safari/IE/Edge (2 of 2)
 * - Update ogv.js libs to 0.9.6
 * - Update ogv.js libraries to 0.9.5 release
 * - Increase quality of Ogg Theora video transcodes
 * - Fix broken video player on first popup dialog open
 * - Fix for double-playback of videos in IE/Edge with WebM components
 * - Tiny bug in error condition
 * - Natural sort for transcode list
 * - Remove use of ResourceLoader::makeLoaderConditionalScript

Translate

 * - Remove undeclared member variable &quot;highlight&quot;.
 * - Allow wildcard strings search

UniversalLanguageSelector

 * - Update jquery.uls from upstream to 5f35b1805e

UploadWizard

 * - mw.UploadWizardUpload: Replace some pubsub usage, use promises
 * - Remove some dead commented-out code
 * - Use OO.ui.ProgressBarWidget instead of jQuery UI progressbar
 * - Remove no-op method #prefillSource
 * - jquery.morphCrossfade: Do not set 'overflow: hidden' permanently
 * - Never import the time of creation from anywhere, only the date
 * - Remove commented-out for ages 'altitude' code
 * - Remove unused message 'mwe-upwiz-error-date'
 * - Use HTTPS for links to Commons and MediaWiki.org
 * - Remove some pointless datepicker code

VisualEditor

 * - Follow-up fd2ef3e: Keep passing data.isRedirect in #onSave
 * - Revert &quot;Revert &quot;For empty / whitespace-only headings, output &lt;p&gt; instead of &lt;h#&gt;&quot;&quot;
 * - Follow-up fd2ef3e: Call prototype., not ve.init.mw.Target#onSerialize
 * - Unbreak meta dialog cancel button
 * - MWImageModel#insertImageNode: Separate out linmod generation
 * - MWMediaDialog: Remove redundant check of this.imageModel existence
 * - Use target-specific command registry for lookup
 * - MWCommandRegistry: Move commands' registrations to their code
 * - MWSaveDialog: Remove unnecessary &lt;br /&gt; from diff panel
 * - Use super constructors in ArticleTargets
 * - ve.init.mw.Target#save: Bind this#onSave, not #onSave
 * - Revert &quot;Revert &quot;Replace wgVisualEditorNamespaces with an associative array&quot;&quot;
 * - Update VE core submodule to master (d9d4e33)
 * - MWSaveDialog: Make a FragmentDialog now that's available
 * - MW target: Make 'static' methods either static or be instance methods
 * - Revert &quot;Only change edit tab text if the current text is as expected&quot;
 * - Only change edit tab text if the current text is as expected
 * - Move toolbarSaveButton init to base class
 * - Revert &quot;Replace wgVisualEditorNamespaces with an associative array&quot;
 * - Bring in code from MobileFrontend
 * - Remove empty DesktopArticleTarget-shared.css
 * - Follow-up Ieb4e4eb3: Remove @until jsduck tag
 * - Update VE core submodule to master (8feab4e)
 * - Fix target rename merge conflict in CSS
 * - MobileArticleTarget: Collapse text style buttons
 * - [BREAKING CHANGE] Bring in some code from MobileFrontend
 * - Settings dialog: Focus redirect target input when redirect is enabled
 * - DesktopArticleTarget-*.css: Placeholder CSS fixes for skins
 * - Remove mobileViewTarget alias hack
 * - DesktopArticleTarget#activate: Rename pageTarget to target
 * - Replace ve-init-mw-desktopArticleTarget-* with ve-init-mw-target-*
 * - [BREAKING CHANGE] Rename (View|Mobile)PageTarget to (Desktop|Mobile)ArticleTarget
 * - When saving from review screen, swap to main save screen
 * - Follow-up 8250c8ad54: unbreak ApiResponseCache
 * - Stop removal of only template placeholder from transclusion

WikimediaEvents

 * - Count log events in the authmanager channel
 * - Increase search sampling from 1 in 1000 to 1 in 200