MediaWiki 1.31/wmf.27/Changelog

Core changes

 * - Overhaul site_stats table
 * - Sync up with Parsoid parserTests.txt
 * - tests: Remove some unused stuff in phpunit tests
 * - Revert "Pass revision being reverted to edit code"
 * - Bump required Postgres version to 9.2
 * - Make WikiPage::doViewUpdates use a PRESEND deferred update
 * - Drop the ProfileSection class, deprecated in 1.25 and unused
 * - Drop HTMLForm & VFormHTMLForm::isVForm, deprecated in 1.25
 * - Drop Title::getTitleInvalidRegex, deprecated in 1.25
 * - Remove deprecated functions from ChangeTags class
 * - Stop test from randomly failing
 * - mediawiki.user: Implement mw.user.stickyRandomId
 * - PostgresUpdater: Rename custom "dropIndex" to "dropPgIndex"
 * - Added heartbeat for pingback.
 * - RCFilters: Hide 'reload watchlist automatically' setting if RCFilters is enabled
 * - Improve test coverage for ApiBlock.php to 100%
 * - Improve test coverage for ApiDelete.php
 * - Cleanup ProfilerOutputDb try/catch logic for DBErrors
 * - ParserTest: clear Language namespaces cache
 * - Modify : Kurdî should be written lower-case instead
 * - rdbms: ignore DBO_IGNORE if passed into Database::__construct
 * - rdbms: add "use" statement for UnexpectedValueExcetion in Database
 * - mediawiki.api.upload: Fix test assumption about
 * - Update OOUI to v0.26.1
 * - Fix typo in word visibility
 * - Fix whitespace trimming in headings
 * - SECURITY: Fix variable usage in ApiQueryUserContributions
 * - Add missing ActorMigration use statement to MediaWikiServices
 * - Move most User::clearAllNotifications logic to WatchedItemStore
 * - rdbms: remove Database::ignoreErrors
 * - Add missing return types to User::getOption
 * - Remove 0.8em default overlay hack
 * - rdbms: make getMasterPos ignore GTIDs outside of gtid_domain_id
 * - Use OOUI's checkAll instead of doubleCheck from Echo
 * - User: Fully clear instance variables when loading not-blocked status
 * - mediawiki.ui: Update mw-ui-input padding/line-height to match OOUI
 * - rdbms: IDatabase interface cleanups
 * - Do not assume rc_patrolled is binary in ChangesListSpecialPage
 * - rdbms: Add ATOMIC_CANCELABLE flag for micro-optimization
 * - resourceloader: Use getRawVal instead of slower getVal in StartupModule
 * - rdbms: Add IDatabase::cancelAtomic
 * - resourceloader: Document 'target' query param in StartupModule
 * - Drop SpecialPageFactory::getList, deprecated in 1.24
 * - exception: Improve formatting of fatal error log messages
 * - Update OOUI to v0.26.0
 * - Update purtle to 1.0.7
 * - Improve test coverage for ApiLogin.php
 * - Selenium: Replace nodemw with mwbot
 * - Selenium: Upgrade WebdriverIO to 4.12.0
 * - Selenium: Do not run CirrusSearch smoke tests in Jenkins
 * - Lock postcss-less to v1.1.3 because v 1.1.4 breaks CI
 * - Convert OutputHandler functions to a class
 * - parser: Update MWTidy::checkErrors error message
 * - resourceloader: Remove redundant state assignment for styles in ClientHtml
 * - rdbms: upgrade transaction misuse warnings to exceptions
 * - phpunit: Add some @covers and @large/@medium to integration tests
 * - Sync up with Parsoid parserTests.txt
 * - Test ApiDisabled.php
 * - rdbms: fix bogus $fname parameter in LoadMonitorMySQL
 * - rdbms: clean up DBO_TRX behavior for onTransactionPreCommitOrIdle
 * - rdbms: cleanup runMasterPostTrxCallbacks transaction check
 * - Create save/publish buttons labels with ellipses
 * - rdbms: make selectRowCount use $var argument to exclude NULLs
 * - Uncomment and fix a test
 * - Clarify -{ => {{ transition
 * {{git|211d1650}} - HTMLSizeFilterField: Add OOUI version ({{phabricator|T183765}})
 * {{git|4cc9011b}} - mediawiki.language: Implement non-digit-grouping of four-digit numbers ({{phabricator|T177846}})

Vendor

 * - Update OOUI to v0.26.1
 * - Update OOUI to v0.26.0
 * - Update purtle library to 1.0.7

3D

 * - Remove use of wgEnable[Write]API, deprecated and assumed true

AbuseFilter

 * - Use integers when calculating edit_delta
 * - Avoid calls to deprecated wfSetupSession, $_SESSION, and session_id

AdvancedSearch

 * - Remove unintentionally added spacing in front of "remember" checkbox
 * - Refactor browser tests which use nodemw module
 * - Make the space between the checkbox and the label bigger.
 * - Restore broken namespace selection and remember feature
 * - Use MediaWiki core's "blanknamespace": "(Main)" message
 * - Add checkbox for "Remember selection for future searches"
 * - Show users default namespaces after submit without namespaces
 * - Remove enforced main (article) namespace

ArticlePlaceholder

 * - Use namespaced PHPUnit\Framework\TestCase

CentralAuth

 * - Add aliases for Serbian language
 * - Remove deprecated dieUsage methods

CirrusSearch

 * - Small cleanup in BaseRegexFeature
 * - Fix type convertion and actually use float for ns weights
 * - Use Wikimedia\Assert library
 * - Pin postcss-less to 1.1.3
 * - Disable results if there are too many categories

Cite

 * - Add separate message for missing reference in references list
 * - Force re-rendering of ref list for clipboard
 * - Update icons for new 20px grid

CodeEditor

 * - Use OOUI icons
 * - Remove browser support comments
 * - Remove comment about resolved upstream issue
 * - HACK: Force downgrade of postcss-less so CI will pass

CodeMirror

 * - Use upstream OOUI icons for WikiEditor toolbar

CodeReview

 * - Remove use of wgEnable[Write]API, deprecated and assumed true
 * - Remove deprecated dieUsage and setWarning methods

Cognate

 * - Use namespaced PHPUnit\Framework\TestCase

Collection

 * - Remove use of wgEnable[Write]API, deprecated and assumed true

ConfirmEdit

 * - Remove use of wgEnable[Write]API, deprecated and assumed true

ContentTranslation

 * - Remove temporarily forced postcss-less version
 * - CX2: Mark the restored sections and log if anything not restored
 * - Use mixin instead of just word-wrap
 * - Use mixin for clearfixes
 * - Update icons for new 20px grid
 * - Image adaptation using the data given by cxserver
 * - Revert "Replace publish settings icon"
 * - Fix tools column font sizes
 * - Replace publish settings icon
 * - Include target categories in published page
 * - Highlight corresponding source section for placeholders
 * - Fix config passing from Iec79e687ef
 * - Remove a file that is not used at all
 * - Reduce gap correction on sticky translation header
 * - Remove gap on sticky translation header
 * - Add space to log message from Ie062b054d9
 * - Force postcss-less to 1.1.3 temporarily.

DisableAccount

 * - Convert Special:DisableAccount to OOUI

DonationInterface

 * - Update SmashPig to 0.5.3
 * - Use namespaced PHPUnit\Framework\TestCase
 * - Update Amazon JS for new widget ready event

Echo

 * - Detect reverts differently
 * - Revert my fix for summary pings in reverts
 * - build: Make SVGO indent with tabs
 * - Follow-Up Ie6252a8c: Fix suffices of constructive icons
 * - Use updated bell/tray icons from OOUI 0.26
 * - Update OOUI-copied icons
 * - Replace double-check with checkAll from OOUI
 * - Remove unused 'trash' icon
 * - Remove unused bellOn icons

EducationProgram

 * - Remove deprecated unprefixFieldName and unprefixFieldNames
 * - Remove deprecated dieUsage methods

FileImporter

 * - Include validation steps relevant for AbuseFilter
 * - Add ImportOperation validation step
 * - Remove isParsable and related unused code from SourceUrl
 * - Add type hints to SpecialImportFileIntegrationTest
 * - Inform the user of a potential wait during the import

FlaggedRevs

 * - Fix typo in word visibility

Flow

 * - API parameters with defaults cannot be required
 * - CancelConfirmDialog: Don't set to small size, which is the default
 * - CancelConfirmDialog: Drop verbose option, ignored since v0.20.0
 * - Removed deprecated position statements from resource loader module
 * - Fit user-mention.svg to new 20x20 canvas
 * - Don't wrap text in fake placeholders (to avoid FOUC)
 * - Remove special `font-size` treatment following-up UI unification for `14px` base
 * - Test with hardcoded UUID to ensure they meet the tests requirements
 * - Replace fixed `transition` values with mixin

GWToolset

 * - Remove use of wgEnable[Write]API, deprecated and assumed true

GettingStarted

 * - Removed deprecated position statements from resource loader module

GlobalBlocking

 * - Convert Special:GlobalBlockWhitelist to OOUI
 * - Convert Special:GlobalBlockList to OOUI

GlobalUserPage

 * - Removed deprecated position statements from resource loader module

Graph

 * - Redraw icon to fit 20x20 canvas better
 * - Rename deprecated icon 'remove' => 'trash'
 * - Update icons for new 20px grid

InterwikiSorting

 * - Use namespaced PHPUnit\Framework\TestCase

LiquidThreads

 * - Don't call deprecated function Title::getTitleInvalidRegex
 * - Update for the actor table change

Math

 * - Redraw icons to fit 20x20 canvas better
 * - Update icons for new 20px grid

MobileApp

 * - Remove additional outdated and unnecessary styles
 * - Remove custom external link counter CSS
 * - Rename mobile.app.android -> mobile.app.parsoid and split up styles
 * - Add snippet to hide (listen) parenthetical across platforms

MobileFrontend

 * - Override tryTeardown instead of close
 * - Fix toolbar size in VE mobile
 * - Use OOUI's checkAll instead of doubleCheck from Echo
 * - Load MediaWiki:Mobile.css as a render-blocking style
 * - Amend icon sizing to align to new icon set
 * - Add $wgMFMobileMainPageCss config flag
 * - ReferenceGateway can handle encoded components
 * - Hygiene: Auto namespace ResourceLoader modules
 * - Right align RTL languages in language list
 * - Return a Deferred that always resolves
 * - Improve infinite-scroll behaviour on Special:Uploads

NavigationTiming

 * - Remove version from extension.json
 * - Collect Navigation Timing gaps

ORES

 * - Move tests covering PreferencesHookHandler to a dedicated file
 * - Clean up old config style

Popups

 * - Standardise disambiguation icon
 * - Abandon use of skinStyles for settings dialog
 * - Hygiene: Update comment of application initialization
 * - Doc: ADR for replacing Mustache with ES6 strings
 * - Doc: update some of the popups / preview terminology
 * - Hygiene: remove unused resources
 * - Fix: use localized close labels in settings dialog
 * - Hygiene: restrict use of $.each and fix offenders
 * - Fix: erroneous build product diffs
 * - Hygiene: favor string templates over concatenation
 * - Hygiene: use consistent ESLint severity syntax
 * - Hygiene: forbid lint warnings
 * - Hygiene: favor const
 * - build: Remove redundant excludes from "eslint:sources" task
 * - Tooling: Remove some redundant max-len patterns
 * - Hygiene: replace var with let and const
 * - Hygiene: remove unneeded renderer test setup
 * - Hygiene: use arrow for anonymous functions
 * - Hygiene: replace obvious function methods
 * - Hygiene: use object shorthand where obvious
 * - Fix: JSDoc Node.js file copy bug

ProofreadPage

 * - Use OOUI icons in WikiEditor toolbar
 * - Use OOUI radios for page status, and improve appearance
 * - Update icons for new 20px grid
 * - Remove special `font-size` treatment following-up UI unified in `14px` base

QuickSurveys

 * - Easier survey invocation

RevisionSlider

 * - Tweaks OOUI overrides

Score

 * - VE icon: Increase stroke thickness
 * - Redraw icon to fit 20x20 canvas better
 * - Update icons for new 20px grid

Scribunto

 * - Stop using deprecated class from UtfNormal library

SecurePoll

 * - $conds value passed from getQueryInfo must be an array

SyntaxHighlight_GeSHi

 * - Use OOUI 'markup' icon instead of VE's deprecated 'alienextension'
 * - Parser tests: Update for breaking whitespace change in MediaWiki core

TemplateData

 * - Update icons for new 20px grid
 * - Remove special `font-size` treatment following-up UI unified in `14px` base

TextExtracts

 * - Adjust expectations for API consumers when using the TextExtracts API

Thanks

 * - Add GENDER support to thanks-thanked-notice
 * - Add revision-thanking links to some log entries
 * - Update for the actor table change

Translate

 * - Add aliases for Serbian (Latin)
 * - Add ulsPurpose to the ULS initialization

UniversalLanguageSelector

 * - Remove temporarily forced postcss-less version
 * - Switch the current tab to the new language only if it was not Ctrl/Command/Shift-Click
 * - Update jquery.uls from upstream
 * - Lock postcss-less to 1.1.3

UploadWizard

 * - Remove use of wgEnable[Write]API, deprecated and assumed true
 * - Add ulsPurpose to the ULS initialization
 * - Remove 'width' overrides for blurry icons

VisualEditor

 * - DesktopArticleTarget: use -published message instead of -saved
 * - Make edit notices popup wider (320 -> 380)
 * - ve.ui.MWPopupTool: Allow labels of buttons in help menu to wrap
 * - Revert "Make edit notices popup wider (320 -> 450)"
 * - Replace deprecated 'comment' with 'speechBubble' icon
 * - *Dialog: Don't set to small size, which is the default
 * - Update VE core submodule to master (320f01589)
 * - Update VE core submodule to master (28a9de285)
 * - *Dialog: Drop verbose option, ignored since v0.20.0
 * - Remove unused static overrides from dialog
 * - [BREAKING CHANGE] Use upstream tryTeardown instead of close in MobileArticleTarget
 * - Move some deactivation code from DesktopArticle to ArticleTarget
 * - Match audio & video elements in gallery DOM
 * - Update VE core submodule to master (796af825b)
 * - Update VE core submodule to master (cd958f71d)
 * - Fix layout of media info fields
 * - Update VE core submodule to master (bca1212a4)
 * - Fix the image sizes in ve.ui.MWInternalLinkContextItem
 * - Make save commands only executable when article is saveable
 * - Follow-Up I84edeec38: Use font-size: 1em instead of unset for invisible templates
 * - Autosave recovery prompt
 * - Update for the actor table change
 * - Update VE core submodule to master (52b59d337)
 * - Update VE core submodule to master (dc98cb7ec)
 * - Use single-line editor for image captions
 * - Remove special `font-size` treatment following-up UI unified in `14px` base
 * - Update icons for new 20px grid
 * - MediaContext: Link filename to file page
 * - Improve media context item to show Image/Video/Audio instead of 'Media'
 * - Use OOUI 'markup' icon instead of local 'alienextension'
 * - MWTransclusionNode: describe parameter changes for Visual Diffs
 * - Create short save/publish buttons labels with ellipses
 * - Avoid jQuery.parseHTML
 * - Only use pre-computed measurements for position loading bar
 * - Autosave section title when adding new section in source mode
 * - Disable visual diffs on source mode section edits
 * - Factor out isSaveable method from updateToolbarSaveButtonState
 * - Remove unnecessary attachToolbarSaveButton override
 * - Make edit notices popup wider (320 -> 450)

WikiEditor

 * - Provide #setActive API for buttons
 * - Toolbar: Increase opacity on active tools
 * - Provide a 'tool-active' styling for toggle buttons
 * - Allow toolbar items to use OOUI icons as buttons
 * - Remove never-used tools

Wikibase

 * - Lua: Rename old mw.wikibase getters to new naming scheme
 * - Use namespaced PHPUnit\Framework\TestCase
 * - DumpEntities: Allow dumping a specific range of page ids
 * - Actually enable the query builder hook
 * - Update numbers for suppressed Phan issues
 * - Point $wgExtensionCredits paths to files instead of directories

WikibaseQuality

 * - Use namespaced PHPUnit\Framework\TestCase

WikibaseQualityConstraints

 * - Extract two functions in CheckResultDeserializer
 * - Correctly handle NullResult in CachingResultsSource
 * - Add DependencyMetadata to per-entity default result
 * - Add support for serializing EntityContextCursor
 * - Add support for serializing NullResult
 * - Remove ResultsBuilder and implementations
 * - Update help message for status parameter
 * - Use ResultsSource instead of ResultsBuilder
 * - Add CachingResultsSource
 * - Use namespaced PHPUnit\Framework\TestCase
 * - Make ResultsCache format version configurable
 * - Add CheckResultsRenderer
 * - Add ResultsSource and CheckingResultsSource
 * - Fix missing @license tags
 * - Add CachedCheckResults
 * - Use ViolationMessage for constraint exceptions
 * - Ensure that result is populated even for empty entities
 * - Add EntityContextCursor
 * - Replace NullResult’s Context with ContextCursor
 * - Remove stray space between link text and destination
 * - Work around CheckingResultsBuilder bug

WikimediaMaintenance

 * - Add deleteWiki.php

wikihiero

 * - Redraw icon to fit 20x20 canvas better
 * - Update icons for new 20px grid

CologneBlue

 * - Match font of OOUI dialogs/dropdowns to normal body font

MinervaNeue

 * - Remove unused $useHeadElement property from skins
 * - QA: Remove test not adding value
 * - Do not style links without href attribute
 * - Remove unnecessary file for gallery styles

Modern

 * - Match font of OOUI dialogs/dropdowns to normal body font

MonoBook

 * - Move Cite styles into separate skinStyles sheet
 * - Separate desktop and common styles, clean things up a bit
 * - Rename main.less to screen-common.less to prepare for splitting
 * - Vectorise book background image
 * - Fix default overlay selector
 * - Restructure files according to modern skin practices

Timeless

 * - Fix default overlay selector

Vector

 * - Use consistent font size for OOUI dialogs