MediaWiki 1.25/wmf15/Changelog

Core changes

 * - Update NavigationTiming for cherry-picks
 * - Unbreak interwiki user rights granting
 * - Hack for T87645, since maybe it is still happening
 * - Update WikimediaEvents for cherry-picks
 * - Add XAnalytics extension
 * - Bring UploadWizard submodule up to date
 * - Update Wikidata
 * - Update MobileFrontend
 * - Revert update to CentralNotice
 * - Update CentralNotice
 * - ApiPageSet lazy loads content models
 * - Title: Always add title to LinkCache when necessary (in 3 methods)
 * - Update NavigationTiming for cherry-picks
 * - Almost no-op update MobileFrontend
 * - Backport GWToolset HHVM bugfix
 * - Update Flow in 1.25wmf15
 * - Update ContentTranslation to Id2fe0bfb9fc9049f4fb3cf1cc7dc8f0ee435b615
 * - Update ZeroPortal to latest wmf/1.25wmf15
 * - Update TemplateData
 * - Update VisualEditor
 * - Add new Polish translation for DEFAULTSORT magic word
 * - JsonContent: Support non-object values as root structure
 * - Revert regression in description sanitization
 * - Catch exceptions thrown by navigator.sendBeacon
 * - Update EventLogging for cherry-picks
 * - updated ZeroPortal to master
 * - Update Thanks extension
 * - Fix array index for oldid parameter
 * - Add plural support for message config-no-db in the installer
 * - Made SqlDataUpdate use lazy DB connections
 * - tests: Move npm-test to repo root
 * - Add Timing-Allow-Origin header for cross-domain API responses
 * - Allow mobile for jquery.throttle-debounce
 * - mediawiki.js: Clean up and improve documentation
 * - installer: Don't generate $wgDefaultSkin='' when no skins are present during installation
 * - mediawiki.test.js: Document wgSiteName can't be mocked
 * - mw.loader: Remove support for IE6
 * - Move DeferredStringifier into libs, add tests
 * - Add missing @covers tag
 * - Add plural support for message upload-permitted on Special:Upload
 * - Add User::equals
 * - mw.Map: Check presence of value argument in set
 * - mediawiki.js: Move mw.format definition to where it's exposed
 * - jsduck: Update references to renamed resources/ directories
 * - Don't auto-select first alphabetical item in import subproject list
 * - Handle more cases in convertExtensionToRegistration.php
 * - registration: Add ConfigRegistry to the extension.json schema
 * - exception: Hide suppressed errors in 'error' log, flag in 'error-json'
 * - Don't call $wgOut-&gt;disable from wfHttpError if $wgOut isn't set up yet
 * - Check $wgCheckFileExtensions on client side on Special:Upload
 * - Add *.orig to .gitignore
 * - Add .*.orig to .gitignore
 * - Escape unsafe messages in CategoryViewer.php
 * - Skip cache hint about 0 seconds on Special:ActiveUsers
 * - mediawiki.page.gallery: Support live preview
 * - Fix gallery rearrange on resize with missing images
 * - Move Test files under same folder structure where class is (/languages/)
 * - Remove unused message 'rollback_short'
 * - Add data provider to split MediaHandlerTest::testFitBoxWidth
 * - ApiEditPage: Fix Wikipedia-specific wording
 * - Let subclasses specify content model in JsonContent
 * - Update OOjs UI to v0.6.2
 * - maintenance: Have update-oojs-ui.sh update composer.json too
 * - Updated some try-catch statements: MWException -&gt; Exception
 * - Tweaked the message for non-MW exceptions
 * - Add version comments to DatabaseUpdater for 1.25
 * - Update Moment.js from 2.8.3 to 2.8.4
 * - Make Linker::formatLinksInComment format links to other wikis
 * - Fix ApiStashEdit wrt custom DataUpdates.
 * - Drop ss_total_views and page_counter fields from MediaWiki
 * - Guard against unset key access in ResourceLoaderImageModule
 * - Check $wgAjaxEditStash before using cached edits.
 * - Remove silly debug line
 * - Skip ApiStashEdit if custom DataUpdates are present.
 * - Exponent to testExponentLineBreaking
 * - Unbreak master by restoring Profiler::profile(In|Out)
 * - Don't discourage usage of Html::element
 * - Export mw.Message's string formatter as mw.format
 * - Introduce Composer merge plugin
 * - Don't call localisation functions when initializing pageset
 * - Don't say either when providing only one example
 * - Fix phpcs errors in includes/
 * - Log to DBPerformance log when many LB connections are acquired
 * - Fix typo references in comments to ResourceLoaderStartUpModule
 * - Change loading order of Chinese conversion tables
 * - Cleanup SiteListFileCache test files in tearDown
 * - Allow CACHE_NONE as a fallback for ObjectCache::newAccelerator
 * - mw.ui: Add an example of using the icon class with a button
 * - Switched API to using scopedProfileIn
 * - Removed remaining profile calls
 * - Added ProfilerSectionOnly class
 * - Made profileIn/profileOut methods a no-op
 * - Remove $wgDebugFunctionEntry, unused
 * - Converted some profiling to scopedProfileIn
 * - Implement extension registration from an extension.json file
 * - Converted some section profiling to scopedProfileIn
 * - Add a sort parameter to SearchEngine
 * - API: Improve handling of interwiki redirects when resolving
 * - Removed ProfilerStandard and ProfilerSimpleTrace
 * - Cookie: Fix @throws comment
 * - Implement namespace inversion on WhatLinksHere
 * - Remove obvious function-level profiling
 * - Marked replaceMultiple as deprecated
 * - Add type hinting for WikiPage::onArticleEdit, etc
 * - jquery-ui: Remove dark color from links inside dialogs
 * - CleanUpTest: Consolidate individual &quot;@todo Document&quot; comments into one
 * - mw.ui: checkbox: Add state change transition
 * - PostgreSQL: Fix Special:ActiveUsers GROUP BY query
 * - Always use the canonical extension name when necessary
 * - Add autocomplete for WhatLinksHere subpages
 * - Run the ImagePageShowTOC hook before adding the 'metadata' link
 * - Added MapCacheLRU::getAllKeys method
 * - mediawiki.action.edit.stash: set timeout to 4 seconds

AbuseFilter

 * - Add file_size variable

CentralAuth

 * - Try to verify emails before testing passwords
 * - Correctly parse links in block reasons on SpecialCentralAuth
 * - Only test passwords once in CentralAuthUser::prepareMigration
 * - Reduce Password object creations needed for an account merge

CentralNotice

 * - Revert &quot;Merge branch 'master' into wmf_deploy&quot;
 * - Test fixtures: standardize props on underscores
 * - Remove defaults for setup in test fixtures
 * - Remove unused variable
 * - Fix 'license-name' to match SPDX conventions
 * - Remove defaults for choices in test fixtures
 * - Use mw.Uri in bannerController to allow ugly URLs
 * - Comment about non-funcitonal code for mobile URLs
 * - Impression data can be manipulated outside of the alterImpressionData hook
 * - Delete BannerDiet mixin
 * - Instrumentation to report when alterImpressionData is not found
 * - Minor improvements in test fixtures
 * - Register some missing autoload classes, to satisfy structure tests
 * - Remove unused banner variance parameters
 * - QUnit: small RLmodulefixturefixes
 * - QUnit: provide fixtures via a RL module

CirrusSearch

 * - Make sendDocuments the public kind of private
 * - Break 2 mappingconfigbuilder arguments out of constructor
 * - Remove remaining wfProfile* calls
 * - Move validateIndex code into separate class

Cite

 * - MWException -&gt; Exception

CommonsMetadata

 * - Add line endings to the end of PHP files

Echo

 * - Fix the overlay chevron position for RTL
 * - Cleanup whitespace in modules/overlay/ext.echo.overlay.less
 * - Fix EchoTitleLocalCacheTest::testGet corner case

EventLogging

 * - Catch exceptions thrown by navigator.sendBeacon
 * - JsonSchemaContent: Minor clean up
 * - JsonSchemaContent: Fix html rendering of objects and arrays
 * - Fix wrong change on LogParser old specifiers
 * - Use navigator.sendBeacon if available
 * - MWException -&gt; Exception
 * - Use mw.format to format error messages
 * - Remove old specifiers when creating LogParser
 * - Remove efBeautifyJson, efLogServerSideEvent

FlaggedRevs

 * - API: Fix action=review for binary flagging
 * - Remove long-deprecated ApiBase::getVersion
 * - ApiReviewActivity: Repair example
 * - MWException -&gt; Exception

Flow

 * - Disallow moving in Topic: namespace
 * - Scroll to menu item before clicking
 * - TOC bug: duplicated topics in some views
 * - QA: locator changed for no javascript topic
 * - Bug: Update the number of expected items when increasing page size
 * - Also scroll the TOC when it is toggled
 * - TOC: Replace code for inserting topics to live page
 * - Hygiene: get rid of some statics &amp; duplicate code
 * - Recompile handlebars templates
 * - Update ApiResult handling for mediawiki/core change I7b37295e
 * - Use unitless line-height for consistent inheritance
 * - Fix phpunit failure in SpamBlacklistTest::testSpam
 * - Revert &quot;Temporary remove UserTuple id &amp;&amp; ip restriction&quot;
 * - Make sure there are no datatype mismatches when doing updates
 * - TOC: Reset affixed topic and events after board reset
 * - TOC: Stable scrolling when a new element is loaded
 * - TOC: Scroll toc at same time as board
 * - Bug: BoardHistoryStorage::find never worked
 * - Bug: Comparing array against maybe array
 * - TOC: Trigger the loadmore check after each load
 * - J-2b &amp; J-2d.IV Implement TOC on front-end
 * - Fixed edit title overlap with action menu
 * - Fix to use 'mouseenter mouseleave' instead of 'hover'
 * - recent_changes_page is generic, so no Flow prefix
 * - J-2d.III Load more revamp and jumpTo support
 * - Introduce include-offset option to pager
 * - Add component to api callback info object
 * - J-2a.II Current topic title in affixed board nav
 * - J-2a Affix board navigation to viewport top on scroll
 * - Various JS hygiene improvements
 * - J-2e Remove all collapsing functionality
 * - Commit .arcconfig to the repository

GWToolset

 * - Do not assume that PHP_SAPI is cli when running jobs
 * - Do not spam gwtoolset log entries to RC

GettingStarted

 * - Update ApiResult handling for mediawiki/core change I7b37295e

LabeledSectionTransclusion

 * - Change canonical entry points around

Math

 * - Remove unused global
 * - Correct wrong variable name
 * - Update MathParser tests
 * - MWException -&gt; Exception

MobileFrontend

 * - Remove unnecessary clarification
 * - Adding Sam and Rob to MobileFrontend credits
 * - Fix Skin qunit tests
 * - Fix icons
 * - Hygiene: Don't add missleading class to SpecialUploads
 * - Add Talk button url
 * - Implement infinite scroll independently from PhotoList
 * - Make WikiGrok A and B use same code for Thanks step
 * - Hygiene: Move isTestA to mw.user
 * - Remove Mantle dependency from MobileFrontend
 * - Hygiene: Move ResourceLoaderParsedMessageModule to MobileFrontend
 * - Regression: Fix broken upload workflow
 * - Hygiene: Make mobileoption DOM consistant between cleint-side and server-side
 * - Hygiene: Update deprecated jsduck tag and add missing documentation
 * - Hygiene: Remove duplicate test
 * - Don't break Special:Uploads when uploads not enabled for the user
 * - Fix jsduck warnings
 * - Hygiene: Remove jscs comments
 * - Update how jscs runs on the test files
 * - Pass campaign name as part of each claim
 * - MWException -&gt; Exception
 * - Fixing EventLogging classes so they don't fail schema validation
 * - Adding documentation to try to explain what an MF module is
 * - Hygiene: move loadModule to its own module
 * - Add tests for define and require methods
 * - Hygiene: Move JavaScript from Mantle to MobileFrontend
 * - Hygiene: Enable jscs for test files
 * - Fix pinch zoom on images
 * - Hygiene: Apply jscs rules to search, talk, references tests
 * - Hygiene: optional arguments, jQuery selectors, hasOwnProperty and other fixes
 * - Hygiene&quot; Apply jscs to specials test file
 * - Hygiene: Apply jscs rules to wikigrok,lists,watchstar tests
 * - Hygiene: Apply jscs to toggling and uploads tests
 * - Hygiene: Apply jscs to mediaViewer,nearby,preferred languages tests
 * - Hygiene: Apply jscs to editor, issues, language, lastEdited
 * - Hygiene: Apply jscs to first level test files
 * - Fix FIXMEs
 * - Documentation updates
 * - Allow query string overrides even when user isn't in sample
 * - Throttling WikiGrok to 16% of users for upcoming reader test
 * - Hygiene: Remove unnecessary init function
 * - Hygiene: Make OO a JSHint global
 * - Regression: MobileUI follow up
 * - Always enable red links in alpha
 * - Fix mobile image viewer and back button behaviour
 * - Hygiene: Only omit warning messages on LoginForm
 * - Hygiene: Remove misleading FIXME
 * - Hygiene: Add helper methods to MobileUI
 * - Conform to schema
 * - Hygiene: Create models folder
 * - Make WikiGrok v B support multiple campaigns at the same time
 * - Refactor: Move position fixed emulation / viewport classes to skin
 * - Fix mobile watchlist rendering when SpecialMobileEditWatchlist::images hook fails
 * - Hygiene: Don't use images/ in less code
 * - Hygiene: Move Talk-related stuff to SkinMinervaBeta
 * - Hygiene: Use Config object for global variables in MinervaTemplate

MultimediaViewer

 * - Improve error messages UI for Media Viewer
 * - Display the file name in metadata panel
 * - Fix download panel not showing on rclick after pressing esc

NavigationTiming

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

PageImages

 * - MWException -&gt; Exception

PoolCounter

 * - Comments about make test
 * - poolcounter: Depends: adduser

Scribunto

 * - Update unit tests for recent core changes

SemanticForms

 * - Version 3.1
 * - Escape unescaped messages in Special:CreateClass

TemplateData

 * - Adapt the type input to work with the new ooui getMenu
 * - MWException -&gt; Exception

TextExtracts

 * - Don't flatten spans
 * - MWException -&gt; Exception

Thanks

 * - Mobile: Conform to new LoggingSchema

TimedMediaHandler

 * - MWException -&gt; Exception

Translate

 * - Guard against using undefined cutoff config var
 * - Remove all simple wfProfile(In|Out) calls
 * - Guard against undefined index when expanding language code
 * - Remove trailing dot from translate-group-desc-inaturalist
 * - Set wgArticlePath in test environment
 * - YandexWebService: set format to html

UniversalLanguageSelector

 * - Revert &quot;Restore support for IE8&quot;
 * - Restore support for IE8
 * - Margin below disable input tools button

UploadWizard

 * - Fix formdata filename field
 * - Revert &quot;Sanitize | characters in descriptions&quot;
 * - Move progress bar handling to upload step
 * - Move showTooManyFilesWarning to Upload step and ui
 * - Move deed step preparation to its step controller
 * - Update links to issue tracker
 * - Add Deed UI class, move next-step handling to it
 * - Duplicate name test
 * - Test removing uploads
 * - lib for testing multiple uploads and 1 such test
 * - Remove spurious uploads

VisualEditor

 * - Don't add __STATICREDIRECT__ whenever the user sets up redirect details
 * - [BrowserTest] Add test for missing parameter error msg
 * - Update VE core submodule to master (65dcbaf)
 * - [BrowserTest] update Cite test for new Journal fields
 * - [BrowserTest] Make the Save page element language independent
 * - [BrowserTest] Change the Heading menu item from a to span
 * - [BrowserTest] Remove the page settings scenario from language screenshots test
 * - build: Bump copyright notices to 2015
 * - Toolbar: Make save button progressive, not constructive
 * - SurfaceWidgets should listen to history
 * - Revert &quot;Don't rely on 'user' and 'site' modules working correctly&quot;
 * - ve.dm.{MWTransclusionModel,MWTemplateModel}: Remove unused parameters
 * - Don't rely on 'user' and 'site' modules working correctly
 * - Update VE core submodule to master (535dcb3)
 * - Update ApiResult handling for mediawiki/core change I7b37295e
 * - Fix styling of MWCategoryWidget to match MW theme
 * - Fix Parsoid transformation calls

WikiEditor

 * - jquery.wikiEditor.toolbar.css: Remove selectors without prefix &quot;cell-&quot;
 * - Fix whitespaces for JavaScript and CSS
 * - Use mw.Api instead of $.ajax

WikiGrok

 * - Fix fatal
 * - Improve API error checking
 * - Fix false positives in tests
 * - Require a campaign field in WikiGrok responses
 * - Show for anons by default, import classes

WikimediaEvents

 * - Insert page_id and ns on XAnalyticsHeader
 * - Remove sendBeacon experiment

ZeroPortal

 * - API analyticsconfig will return all historical items

CologneBlue

 * - Allow numeric headers in Sidebar

Vector

 * - Allow numeric headers in Sidebar