MediaWiki 1.36/wmf.10/Changelog

Core changes

 * - Branch commit for wmf/1.36.0-wmf.10 by trainbranchbot
 * - Handle CORS preflight request and prevent anon users from unsafe methods  by David Barratt
 * - mediawiki.page.watch.ajax: resolve notif promise, then update watch link by MusikAnimal
 * - Deprecate Skin::makeVariablesScript by Ammar Abdulhamid
 * - Remove unnecessary calls to SpecialBlock::getTargetAndType by Thalia
 * - Remove SpecialUnblock dependency on SpecialBlock::getTargetAndType by Thalia
 * - DevelopmentSettings: Make sure all currently used global have a `global` call by Reedy
 * - Correct Finnish translation of Special:PasswordPolicies by 01miki10
 * - Fix GuzzleHttpRequest request headers by Tim Starling
 * - Ensure dropdown label is always on its own line by Sam Wilson
 * - Add Finnish special page aliases by 01miki10
 * - Hard deprecate SpecialUnblock::processUnblock by Martin Urbanec
 * - [tests] Remove SpecialUnblock::processUnblock calls in SpecialUnblockTest by Martin Urbanec
 * - Explicitly wrap some XML calls in libxml_disable_entity_loader by Reedy
 * - Drop Message->getFormat, hard deprecated since 1.29 by James D. Forrester
 * - Hard-deprecate the ParserBeforeStrip/ParserAfterStrip hooks  by James D. Forrester
 * - Updating nikic/php-parser (v4.9.1 => v4.10.0) by Reedy
 * - MessagesVec.php: update `$namespaceNames` and `$namespaceAliases` by MarcoAurelio
 * - Fix typo 'Watchlst' in `apihelp-edit-param-watchlistexpiry` by Amorymeltzer
 * - Add missing indent in some special page pagers by Umherirrender
 * - Do not create TitleValue when calling LinkBatch in CategoryPager by Umherirrender
 * - Do not call SpecialBlock::canBlockEmail in ApiBlock by Martin Urbanec
 * - Deprecate SpecialBlock::checkUnblockSelf by Martin Urbanec
 * - [docs] BlockPermissionChecker::$targetType can be null by DannyS712
 * - Add tests for ApiBlock return values when blocking by userid by DannyS712
 * - Move SpecialBlock::canBlockEmail to BlockPermissionChecker by Martin Urbanec
 * - Use ::class to refer HTML form field classes by Umherirrender
 * - Inject service into SpecialFewestRevisions/SpecialMostRevisions by Umherirrender
 * - [tests] SpecialBlockTest: Do not save an empty block in testProcessFormUserTalkEditFlag by Martin Urbanec
 * - Fix description for pruneFileCache.php by Reedy
 * - Updating pear/net_smtp (1.9.1 => 1.9.2) by Reedy
 * - [tests] SpecialBlockTest: Make testProcessFormRestrictionsChange not to save an empty block by Martin Urbanec
 * - Updating nikic/php-parser (v4.4.0 => v4.9.1) by Reedy
 * - Updating guzzlehttp/guzzle (6.5.5 => 7.0.1) by Reedy
 * - Updating guzzlehttp/guzzle (6.5.4 => 6.5.5) by Reedy
 * - Allow logos to be altered by current language variant by jdlrobson
 * - Require Skin name when passing options to Skin constructor by Ammar Abdulhamid
 * - Remove double space in two template-equals messages by Amir Aharoni
 * - Hard deprecate all methods in Autopromote class by Martin Urbanec
 * - Installer: consistently reset Language objects by daniel
 * - Language: ensure commafy does not corrupt UTF-8 strings by C. Scott Ananian
 * - FileImporter browser tests require uploads enabled by Adam Wight
 * - EditPage: ensure we only try to formatNum numeric strings by C. Scott Ananian
 * - SpecialUserrights: Make use of UserGroupManager by DannyS712
 * - Require three parameters to ParserCache::__construct by Tim Starling
 * - Make the HookContainer parameter to Rest\Router be required by Tim Starling
 * - Deprecations from HookRunner call site migration by Tim Starling
 * - Add doc comment for PoolCounter::isFastStaleEnabled by Tim Starling
 * - Prevent service injection to LoadExtensionSchemaUpdates hook by Tim Starling
 * - Don't preface test description with comment by Arlo Breault
 * - Change error message for unblocking hidden user without rights to do so by Martin Urbanec
 * - Use localized success message after watching via action=watch by Sam Wilson
 * - Introduce TinyInt db datatype for doctrine DBAL by Amir Sarabadani
 * - Migrate change_tag_def table to abstract schema  by Amir Sarabadani
 * - Migrate watchlist_expiry to abstract schema  by Amir Sarabadani
 * - Introduce TimestampType for handling custom db type in doctrine by Amir Sarabadani
 * - Use $msg2 in CoreParserFunctionsTest::testGender by Reedy
 * - resourceloader: Use a local HookRunner by Timo Tijhof
 * - objectcache: Add QoS flags to HashBagOStuff by daniel
 * - MediaWikiIntegrationTestCase docs: call parent::setUp by DannyS712
 * - BlockPermissionChecker: Add docs to constructor by Martin Urbanec
 * - BlockPermissionCheckerFactory: Make accepted targets in line with AbstractBlock::parseTarget by Martin Urbanec
 * - emptyUserGroup.php: handle more than 5000 users by Gergő Tisza
 * - Drop down lists: Do not use the value for 'other' as option group by Umherirrender
 * - LBFactory: use HashBagOStuff in CLI mode by daniel
 * - Hard deprecate File::userCan with $user=null by C. Scott Ananian
 * - Revert "Remove support for (Archived|OldLocal)File::userCan without a user" by Jforrester
 * - Add import permissions to new import grant by Martin Urbanec
 * - Fix failure of rebuildLocalisationCache.php due to RL hook by Tim Starling
 * - Conform to selector-class-pattern for watchlist expiry class by Sam Wilson
 * - Move notification area to end of body   by Sam Wilson
 * - Language::translateBlockExpiry update $user docs by DannyS712
 * - EditPageTest: No need to set $wgUser by DannyS712
 * - UserTest: No need to set $wgUser by DannyS712
 * - CheckBlocksSecondaryAuthenticationProviderTest: No need to set $wgUser by DannyS712
 * - CoreParserFunctions: ensure formatNum is only called on numeric strings by C. Scott Ananian
 * - Tracking category and parser warning for deprecated uses of = by C. Scott Ananian
 * - Allow independent parser test files to (re)define articles w/ the same names by C. Scott Ananian
 * - ApiQueryUserInfo: Add `theoreticalratelimits` by DannyS712
 * - Use word instead of substring selector in Parsoid skinning by Arlo Breault
 * - Add release note for BaseTemplate::getToolbox by Ammar Abdulhamid
 * - Collapsible HTMLForms need to add JS module by jdlrobson
 * - ApiOptions: log when userjs-* option changes by daniel
 * - Throw exception if EditPage has no context title set by Kunal Mehta
 * - resourceloader: Add skin-based 'mediawiki.skin.variables.less' import by Timo Tijhof
 * - cleanupSpam - reduce direct references to $wgUser by DannyS712
 * - Manually redirect in UploadFromUrl by Holger Knust
 * - MediaWiki\Rest\HttpException: Support 3xx codes and wrapped Response by C. Scott Ananian
 * - Allow REST API Responses to be JsonSerializable objects by David Barratt
 * - Provide link to view diff of deleted revision in missing-rev message by Ammar Abdulhamid
 * - Allow for safe deserialization of WikiPage objects. by daniel
 * - Don't pass stdin to commands by default by Tim Starling
 * - Add `mrh` Mara to Names.php by Jon Harald Søby

Vendor

 * - Bump wikimedia/parsoid to 0.13.0-a10         by Subramanya Sastry
 * - Updating nikic/php-parser (v4.9.1 => v4.10.0) by Reedy
 * - Updating james-heinrich/getid3 (v1.9.19 => v1.9.20) by Reedy
 * - Updating ramsey/uuid (3.9.3 => 4.1.1) by Reedy
 * - Updating brick/math (0.8.15 => 0.8.17) by Reedy
 * - Update spomky-labs/* by Reedy
 * - Updating league/uri (6.2.1 => 6.3.0) by Reedy
 * - Updating lcobucci/jwt (3.3.2 => 3.3.3) by Reedy
 * - Updating pear/net_smtp (1.9.1 => 1.9.2) by Reedy
 * - Update symfony/* by Reedy
 * - Updating nikic/php-parser (v4.4.0 => v4.9.1) by Reedy
 * - Update web-auth libraries by Reedy
 * - Updating guzzlehttp/guzzle (6.5.5 => 7.0.1) by Reedy
 * - Updating guzzlehttp/guzzle (6.5.4 => 6.5.5) by Reedy

3D
No changes for 3D

AbuseFilter

 * - Let sysops see difflinks to deleted revisions on Special:AbuseLog by Matěj Suchánek
 * - Inject PermissionManager to SpecialAbuseLog by Matěj Suchánek
 * - parser: Add a BC option to get DNULL for unset variables by Daimona Eaytoy
 * - Add separate `abusefilter-log-search-filter-help-central` message by DannyS712
 * - Add MessageLocalizer to AbuseFilter::getActionDisplay by Umherirrender
 * - Allow Blockautopromote duration to be configured for wikis. by DannyS712
 * - Cleanup abuse log code and join it with revision by Matěj Suchánek
 * - Hide "User:" prefix from autopromote log entries by Matěj Suchánek
 * - Update hook calling to use new HookContainer by DannyS712
 * - Introduce searchFilters.php by Huji Lee
 * - Revert "Fix a test which will be broken by Hooks::run migration" by Daimona Eaytoy
 * - Hardcode 'abusefilter-view' right when adding CU log entry by proc
 * - Standardize the order of options in dropdown filters for search by Huji Lee

ActiveAbstract
No changes for ActiveAbstract

AdvancedSearch

 * - Don't put default …&sort=relevance in the URL  by Thiemo Kreuz

AntiSpoof

 * - Replace deprecated SpoofUser::getStatus in api by Umherirrender

ApiFeatureUsage
No changes for ApiFeatureUsage

ArticleCreationWorkflow
No changes for ArticleCreationWorkflow

ArticlePlaceholder
No changes for ArticlePlaceholder

Babel

 * - Convert Babel to use abstract schema by Reedy

BetaFeatures
No changes for BetaFeatures

BounceHandler
No changes for BounceHandler

Calendar
No changes for Calendar

Campaigns
No changes for Campaigns

Capiunto
No changes for Capiunto

CategoryTree
No changes for CategoryTree

CentralAuth

 * - Solve text-alignment issues on Special:GlobalRenameQueue by Martin Urbanec
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Alphasort hooks by Reedy
 * - Make CentralAuth lift its own local blocks by Martin Urbanec

CentralNotice
No changes for CentralNotice

CharInsert
No changes for CharInsert

CheckUser

 * - resources: Organize frontend files by module directory by Timo Tijhof
 * - Fix "Previously blocked" text if checkuser's current IP is blocked by Martin Urbanec
 * - SpecialCheckUser: Only tag user pages if the user was blocked by Thalia

CirrusSearch

 * - Remove pages from completion search by page id by Erik Bernhardson
 * - Simplify creating indices on all writable clusters by Erik Bernhardson
 * - Remove final modifier on private method by Ammar Abdulhamid

Cite

 * - eslint: Fix and enable the 'no-shadow' rule by Ed Sanders

CiteThisPage
No changes for CiteThisPage

Citoid
No changes for Citoid

cldr

 * - Add German translation for ja-xxx and ojp-xxx by Raymond
 * - Add monolingual language code ja-Hira, ja-Kana, ja-Hrkt, ja-Hani, ojp, ojp-Hira, ojp-Hani by Remko de Keijzer
 * - Add names of languages (gcr) and (hyw) in French by Raymond
 * - Add German translation for language code lij-MC by Raymond
 * - Add monolingual language code lij-MC by Remko de Keijzer

CodeEditor
No changes for CodeEditor

CodeMirror
No changes for CodeMirror

CodeReview
No changes for CodeReview

Cognate
No changes for Cognate

Collection

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

CommonsMetadata

 * - build: Install eslint and stylelint; drop jsonlint by James D. Forrester

ConfirmEdit

 * - Use floor division (//) when calculating chunks in python by Reedy
 * - Use $this->fatalError where $this->error is called with $die > 1 by Reedy

CongressLookup
No changes for CongressLookup

ContactPage
No changes for ContactPage

ContentTranslation

 * - Pass a WikiPage to AbuseFilter's VariableGenerator::addEditVars by Daimona Eaytoy
 * - CX3 build 0.1.0+20200918 by Santhosh Thottingal
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - SXContentComparator: Enable observer only for vertical intersection by NikG
 * - CX3: Set default target language to 'es' by Santhosh Thottingal
 * - SXSentenceSelector: Select first sentence on mounted by NikG
 * - SXEditor: First integration of visual editor by NikG

CreditsSource
No changes for CreditsSource

Dashiki
No changes for Dashiki

Disambiguator
No changes for Disambiguator

DiscussionTools

 * - Collapse advanced drawer when clearing by Ed Sanders
 * - Update link in error message by Ed Sanders
 * - Only reset summaryPrefixLength on user event by Ed Sanders
 * - When preventing switching modes, don't log a type-specific action by David Lynch
 * - Always send edit summary, regardless of visibility by Ed Sanders
 * - Add integration tests using pages from sr.wp by Bartosz Dziewoński
 * - Parsing discussions converted to language variants by Bartosz Dziewoński
 * - 'transcludedfrom' API response is an object, not array by Bartosz Dziewoński
 * - Remove few messages from translations on Serbian language by zoranzoki21
 * - Bypass useless API requests on non-existent pages by Ed Sanders
 * - ApiDiscussionToolsEdit: Use PARAM_TYPE => 'string' for single-line textfields by Bartosz Dziewoński
 * - Add content getters to Thread/Comment items by Ed Sanders
 * - Implement cloneContents on ImmutableRange by Ed Sanders
 * - Fix parsing links in Parsoid documents without short URLs by Bartosz Dziewoński

DismissableSiteNotice
No changes for DismissableSiteNotice

DonationInterface

 * - Form settings for Adyen AU and NZ by Elliott Eggleston
 * - Enable cc donations through Adyen for AU, NZ by Margaret Epps
 * - Disable Carte Bancaire by Elliott Eggleston
 * - Revert "Merge branch 'master' into deployment" by Elliott Eggleston
 * - Remove final modifier on private method by Ammar Abdulhamid
 * - Remove colon from amount header by pcoombe
 * - Add form settings for Adyen iDEAL. by jgleeson

DoubleWiki
No changes for DoubleWiki

DynamicSidebar
No changes for DynamicSidebar

Echo

 * - Drop private EchoCachedList::ONE_DAY, unused by James D. Forrester
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Change echo_push_* column types from TEXT to BLOB by Michael Holloway

Elastica
No changes for Elastica

ElectronPdfService
No changes for ElectronPdfService

EntitySchema

 * - eslint: Simplify one-off rule into an inline one by James D. Forrester
 * - build: Upgrade eslint-config-wikimedia from 0.16.2 to 0.17.0 by James D. Forrester
 * - build: Upgrade stylelint-config-wikimedia from 0.8.0 to 0.10.1 by James D. Forrester
 * - build: Upgrade grunt-banana-checker from 0.8.1 to 0.9.0 by James D. Forrester
 * - build: Upgrade grunt from 1.0.4 to 1.3.0 by James D. Forrester
 * - Uncomment visibility for constants by Amir Sarabadani

EventBus

 * - build: Updating npm dependencies by libraryupgrader
 * - Add 'use strict' to javascript files by Umherirrender

EventLogging
No changes for EventLogging

EventStreamConfig
No changes for EventStreamConfig

ExtensionDistributor
No changes for ExtensionDistributor

ExternalGuidance
No changes for ExternalGuidance

FeaturedFeeds
No changes for FeaturedFeeds

FileExporter
No changes for FileExporter

FileImporter

 * - Update a few unspecific "array" PHPDoc type hints by Thiemo Kreuz
 * - Block admins accidentally importing to protected titles as well by Thiemo Kreuz
 * - Block page titles which are marked as fully protected on the target wiki by Thiemo Kreuz
 * - Fix minor, recent PHPCS violations by Thiemo Kreuz
 * - Fix two-hop interwiki prefix lookup reducing "foo.org" to "org" by Thiemo Kreuz
 * - Update outdated FileImporterInterWikiMap docs by Thiemo Kreuz
 * - Use wfExpandIRI for compact, readable URLs in summaries by Thiemo Kreuz

FlaggedRevs

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Avoid isset and empty in a few more places by Thiemo Kreuz
 * - Fix APCOND_FR_NEVERBLOCKED handling (part 3) by Bartosz Dziewoński
 * - Fix APCOND_FR_NEVERBLOCKED handling (part 2) by DannyS712
 * - Fix APCOND_FR_NEVERBLOCKED handling by DannyS712

Flow

 * - Fix insufficient isset check in AbstractRevision by Thiemo Kreuz

FundraiserLandingPage
No changes for FundraiserLandingPage

FundraisingTranslateWorkflow
No changes for FundraisingTranslateWorkflow

Gadgets

 * - Add namespace translation for Romanian by Raymond

GeoCrumbs
No changes for GeoCrumbs

GeoData

 * - search: Pass through status return values from cirrus to api by Erik Bernhardson

GettingStarted
No changes for GettingStarted

GlobalBlocking
No changes for GlobalBlocking

GlobalCssJs
No changes for GlobalCssJs

GlobalPreferences

 * - Update for HookContainer by Tim Starling

GlobalUsage
No changes for GlobalUsage

GlobalUserPage
No changes for GlobalUserPage

GlobalWatchlist

 * - Update namespace of ResourceLoaderRegisterModulesHook by DannyS712
 * - Rename and cleanup modules/ files by DannyS712

GoogleNewsSitemap
No changes for GoogleNewsSitemap

Graph

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

GrowthExperiments

 * - Add TemplateFilter for validating TaskSet by Kosta Harlan
 * - Fix ResourceLoaderRegisterModulesHook namespace by Gergő Tisza
 * - Limit caching to local tasks by Gergő Tisza
 * - Factor out TaskTypeSelectionWidget by Roan Kattouw
 * - Factor out ArticleCountWidget by Roan Kattouw
 * - Homepage: Add hook for when mobile homepage summary HTML is loaded by Kosta Harlan
 * - Homepage: Don't show welcome notice for variant C/D users by Kosta Harlan
 * - build: Updating npm dependencies by libraryupgrader
 * - Extend MediaWikiUnitTestCase, not TestCase by Kosta Harlan
 * - Variant C/D welcome popup on desktop by Gergő Tisza
 * - Move TourHooks to the new hook system by Gergő Tisza
 * - Add missing dependency for Mentorship JS module by Gergő Tisza
 * - Avoid shadowed variables in javascript by Umherirrender
 * - Show task preview in variant C/D mobile summary by Gergő Tisza
 * - Homepage: Revert wider task card on desktop for now  by Roan Kattouw
 * - Fix width of sidebar modules in narrow mode in variant A by Roan Kattouw
 * - Homepage: Fix styling for mobile start module by Roan Kattouw
 * - Limit Suggested Edits enabled checks to main and talk namespaces by Kosta Harlan
 * - Partially revert RemoteSearchTaskSuggesterTest changes from Ia5ea51860 by Gergő Tisza
 * - StartEditingDialog: Change header text by Roan Kattouw
 * - Always load the first task on the server side by Gergő Tisza
 * - Newcomer tasks: Warm cache for variant C users by Kosta Harlan
 * - Define default task types as constant and export to frontend by Kosta Harlan
 * - Cache newcomer TaskSets per user by Kosta Harlan
 * - Memoize calls to HomepageModuleRegistry by Gergő Tisza
 * - Make wrapping SmallTaskCard in an  optional by Gergő Tisza
 * - StartEditingDialog: Various fixes for variant C onboarding by Roan Kattouw

GuidedTour
No changes for GuidedTour

GWToolset

 * - Add Phabricator project and parent task by MarcoAurelio

ImageMap
No changes for ImageMap

InputBox
No changes for InputBox

Insider
No changes for Insider

intersection
No changes for intersection

Interwiki
No changes for Interwiki

InterwikiSorting
No changes for InterwikiSorting

Jade
No changes for Jade

Josa
No changes for Josa

JsonConfig
No changes for JsonConfig

Kartographer

 * - Remove final modifier on private method by Ammar Abdulhamid

LabeledSectionTransclusion
No changes for LabeledSectionTransclusion

LandingCheck
No changes for LandingCheck

LdapAuthentication
No changes for LdapAuthentication

Linter

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

LiquidThreads
No changes for LiquidThreads

Listings
No changes for Listings

LocalisationUpdate
No changes for LocalisationUpdate

LoginNotify
No changes for LoginNotify

MachineVision

 * - build: Updating npm dependencies by libraryupgrader
 * - Avoid shadowed variables in javascript by Umherirrender

MapSources
No changes for MapSources

MassMessage
No changes for MassMessage

Math

 * - build: Updating npm dependencies by libraryupgrader
 * - Avoid shadowed variables in javascript by Umherirrender
 * - Fix mathoid test data for last changes to renderer by Umherirrender

MediaModeration
No changes for MediaModeration

MobileApp
No changes for MobileApp

MobileFrontend

 * - Don't fatal when creating new Mobile Skin by Ammar Abdulhamid
 * - Add visibility modifier to constants by Ammar Abdulhamid
 * - Drop ContentTransformations getter and setter by Ammar Abdulhamid
 * - Add visibility modifier to more constants (2) by Ammar Abdulhamid
 * - Flatten Section transforms by Peter Ovchyn
 * - Replace uses of var in block message drawer modules by Thalia
 * - Reinstate analytics tracking for the block message drawer by Thalia
 * - Update identifyLeadParagraph.js implementation by Ed Sanders
 * - build: Unify Storybook curl commands to Gerrit by Volker E
 * - tests: Use setTemporaryHook rather than legacy writing to wgHooks by James D. Forrester
 * - Simplify lead paragraph check by Ed Sanders
 * - Add test case for template styles inside paragraph with content by Ed Sanders
 * - Check $coords matched some nodes before comparing contents by Ed Sanders
 * - storybook: Update to account for new core LESS variables files by Volker E
 * - Fixes TypeError: s[t.title] is undefined by jdlrobson
 * - Introduce MobileFormatter::$transforms as private property by Peter Ovchyn
 * - Display the block reason HTML in the block message drawer by Thalia
 * - Ensure diff engine uses the correct title by Ed Sanders

MultimediaViewer
No changes for MultimediaViewer

NavigationTiming

 * - build: Updating eslint-config-wikimedia to 0.17.0 by libraryupgrader
 * - Account for empty layout shift sources array by gilles
 * - ext.navigationTiming: Avoid shadowed variables in javascript by Umherirrender

Newsletter

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

NewUserMessage
No changes for NewUserMessage

Nuke
No changes for Nuke

OATHAuth
No changes for OATHAuth

OAuth

 * - OAuth2 ext. - update README on $wgRestAPIAdditionalRouteFiles by arttsymbar
 * - Show applicable grant when consumer has only basic rights by Ammar Abdulhamid

OAuthRateLimiter

 * - Move LoadExtensionSchemaUpdatesHook handler to separate class. by Petr Pchelko

OpenStackManager
No changes for OpenStackManager

ORES

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Drop wgActorTableSchemaMigrationStage compatibility by James D. Forrester

PageAssessments
No changes for PageAssessments

PagedTiffHandler
No changes for PagedTiffHandler

PageImages
No changes for PageImages

PageTriage
No changes for PageTriage

PageViewInfo
No changes for PageViewInfo

ParserFunctions
No changes for ParserFunctions

PdfHandler
No changes for PdfHandler

Petition
No changes for Petition

Poem
No changes for Poem

PoolCounter
No changes for PoolCounter

Popups

 * - Avoid shadowed variables in javascript by Umherirrender
 * - storybook: Update to account for new core LESS variables files by Volker E

ProofreadPage

 * - Fix visibility of setUp/tearDown by Thiemo Kreuz
 * - Fix typos: leve -> level by DannyS712
 * - Allow subpages in ProofreadPage's namespaces by Martin Urbanec

PropertySuggester
No changes for PropertySuggester

QuickSurveys
No changes for QuickSurveys

Quiz
No changes for Quiz

ReadingLists
No changes for ReadingLists

RelatedArticles
No changes for RelatedArticles

Renameuser
No changes for Renameuser

RevisionSlider

 * - Migrate Pointer to packageFiles by Adam Wight
 * - Use correct context for checking for MobileDiff by Ed Sanders
 * - Migrate HelpDialog to packageFiles by Adam Wight

RSS
No changes for RSS

SandboxLink
No changes for SandboxLink

Score
No changes for Score

Scribunto
No changes for Scribunto

SearchExtraNS
No changes for SearchExtraNS

SecureLinkFixer

 * - Updating domains.php from Mozilla by SecureLinkFixer updater bot

SecurePoll

 * - SecurePoll: Remove usage of Skin::makeVariablesScript by Ammar Abdulhamid

ShortUrl
No changes for ShortUrl

SiteMatrix
No changes for SiteMatrix

SpamBlacklist
No changes for SpamBlacklist

SubPageList3
No changes for SubPageList3

SubpageSortkey
No changes for SubpageSortkey

SyntaxHighlight_GeSHi

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

TemplateData

 * - Add missing ResourceLoader module for the trash icon by Thiemo Kreuz
 * - Turn static variables into private constants by Thiemo Kreuz
 * - Prefer Html::rawElement instead of open/closeElement by Thiemo Kreuz
 * - Add and update soft PHPDoc type hints by Thiemo Kreuz

TemplateSandbox
No changes for TemplateSandbox

TemplateStyles
No changes for TemplateStyles

TemplateWizard

 * - build: Updating npm dependencies by libraryupgrader
 * - Avoid shadowed variables in javascript by Umherirrender

TextExtracts
No changes for TextExtracts

Thanks
No changes for Thanks

TheWikipediaLibrary
No changes for TheWikipediaLibrary

TimedMediaHandler

 * - Fix ?? guard for broken Ogg Vorbis comments  by Thiemo Kreuz
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Use `source` rather than `this` by jdlrobson
 * - Use SkinTemplateNavigation::UniversalHook by Ammar Abdulhamid

timeline
No changes for timeline

TitleBlacklist
No changes for TitleBlacklist

TocTree
No changes for TocTree

TorBlock
No changes for TorBlock

Translate

 * - Align translation stats graphs horizontally by Abijeet
 * - GroupSynchronizationCacheTest: Add missing parent::setUp call by DannyS712
 * - Show localized numbers in translation stats graph by Abijeet
 * - Ignore empty array options when generating TranslationStats template code by Abijeet
 * - Add Chart.js in Special:TranslationStats by Abijeet
 * - Add API to fetch translation stats by Abijeet

TranslationNotifications
No changes for TranslationNotifications

TrustedXFF
No changes for TrustedXFF

TwoColConflict

 * - build: Updating npm dependencies by libraryupgrader
 * - Avoid shadowed variables in javascript by Umherirrender

UniversalLanguageSelector

 * - Update language name search database by Niklas Laxström
 * - Add GochiHand font by Reedy
 * - Remove comment about eot file format by Reedy

UploadsLink
No changes for UploadsLink

UploadWizard
No changes for UploadWizard

UrlShortener
No changes for UrlShortener

UserMerge

 * - Remove/fix phpcs exclusions by Reedy
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Bump min MW version to 1.35.0 by Reedy

VipsScaler
No changes for VipsScaler

VisualEditor

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Update VE core submodule to master (1c3ca2da9)  by Bartosz Dziewoński
 * - Fixes: Error: Bad constructor arguments by jdlrobson
 * - Store revid as undefined when document doesn't exist (revid=0) by Ed Sanders

WebAuthn

 * - Update web-auth libraries by Reedy

Wikibase

 * - Temporarily unlink ResourceLoaderRegisterModulesHook interface by Timo Tijhof
 * - termbox: use gerrit repo instead of phab mirror by Jakob Warkotsch
 * - FP: add missing declare( strict_types = 1 ); by addshore
 * - Add a ChangeDeletionNotificationJob to ChangesModification NS by Itamar Givon
 * - Update termbox pin to latest master by Jakob Warkotsch
 * - Update guzzle to ^7.0.0 by Amir Sarabadani
 * - Fix watch-on-edit settings on grant-limited requests by Lucas Werkmeister
 * - OutputPageBeforeHTMLHookHandler: run for Special:Undelete   by Jakob Warkotsch
 * - Introduce and use StatsdMonitoring trait in term store by Amir Sarabadani
 * - CachingKartographerEmbeddingHandler: Pass a user to ParserOptions by DannyS712
 * - Enable Termbox v2 for desktop behind a feature flag by Amir Sarabadani
 * - Rename changes_* schema files by Amir Sarabadani
 * - Remove Store::rebuild by Amir Sarabadani
 * - Migrate wb_changes_subscription to abstract schema by Amir Sarabadani
 * - Migrate wb_changes table to abstract schema by Amir Sarabadani
 * - Migrate wb_items_per_site to abstract schema by Amir Sarabadani
 * - Align docs of wb_id_counters table with reality by Michael Große
 * - Add more .mailmap entries by Lucas Werkmeister
 * - Use extension registration for selenium by Thomas Arrow
 * - EntitySavingHelper: make array key check safe by Jakob Warkotsch
 * - Uncomment visibility for constants by Amir Sarabadani
 * - Migrate wb_id_counters to abstract schema by Amir Sarabadani

WikibaseCirrusSearch

 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy

WikibaseLexeme

 * - [docs] Fix spaces by DannyS712
 * - Add several lexeme language codes   by Remko de Keijzer
 * - Add monolingual language code lij-MC for lexemes by Remko de Keijzer
 * - Uncomment visibility for constants by Amir Sarabadani

WikibaseLexemeCirrusSearch
No changes for WikibaseLexemeCirrusSearch

WikibaseMediaInfo

 * - Add horizontal scrolling for filters on small screens by annet
 * - Programmatically generate responsive images for QuickView by Eric Gardner
 * - Only consider letters, marks, numbers & symbols for autocomplete by Matthias Mullie
 * - Add dialog base component and use for QuickView on mobile by annet
 * - Add horizontal scrolling to tabs on mobile by annet
 * - Use a higher-resolution thumbnail for Quickview by Eric Gardner
 * - Add "Other" tab by annet
 * - Don't phrase rescore media search queries by Matthias Mullie
 * - Turn fulltext signals back into bool query instead of dis_max by Matthias Mullie
 * - More rapidly decay item boost based on order by Matthias Mullie
 * - Optimize MediaWiki clone in `npm install` by Lucas Werkmeister

WikibaseQualityConstraints

 * - Avoid shadowed variables in javascript by Umherirrender
 * - Add return type to ConstraintsServices by Lucas Werkmeister

Wikidata.org
No changes for Wikidata.org

WikidataPageBanner
No changes for WikidataPageBanner

WikiEditor
No changes for WikiEditor

wikihiero
No changes for wikihiero

WikiLove
No changes for WikiLove

WikimediaApiPortalOAuth
No changes for WikimediaApiPortalOAuth

WikimediaBadges
No changes for WikimediaBadges

WikimediaEditorTasks
No changes for WikimediaEditorTasks

WikimediaEvents

 * - clientError: Strip hash from file uri as well by jdlrobson
 * - Disable MediaSearch A/B test by Matthias Mullie

WikimediaIncubator
No changes for WikimediaIncubator

WikimediaMaintenance

 * - Remove CirrusSearch initialization from addWiki.php by Erik Bernhardson
 * - Update Babel sql path by Reedy

WikimediaMessages

 * - Update `wikimedia-interfaceadmin-info` by DannyS712
 * - Temporarily unlink ResourceLoaderRegisterModulesHook interface by Timo Tijhof
 * - Fix typo for arbcom_ruwiki entry by MarcoAurelio

Wikisource
No changes for Wikisource

XAnalytics
No changes for XAnalytics

CologneBlue

 * - CologneBlue should use opt-in policy for ResourceLoaderSkinModule features by jdlrobson

MinervaNeue

 * - Center and align the expiry dropdown in watchstar widget by Sam Wilson
 * - Add `role=contentinfo` to `footer` element by Volker E
 * - build: Update eslint-config-wikimedia to 0.17.0 by Ed Sanders

Modern

 * - Set top offset for notifications by hmonroy
 * - Modern should use opt-in policy for ResourceLoaderSkinModule features by jdlrobson

MonoBook

 * - Set top offset for notifications by Sam Wilson
 * - Monobook should use opt-in policy for ResourceLoaderSkinModule features by jdlrobson
 * - Implement mediawiki.skin.variables.less for MonoBook by Timo Tijhof

Nostalgia

 * - mainPageLink is deprecated by jdlrobson
 * - Remove site footer links indirection by Ammar Abdulhamid

Timeless
No changes for Timeless

Vector

 * - Allow for expansion of styles with addition of table of contents code by jdlrobson
 * - Clarify documentation of SkinVector::__construct by Ammar Abdulhamid
 * - Follow-up I673c28c2: Only apply clearfix to main content area  by Ed Sanders
 * - Vector supports language variant logos by jdlrobson
 * - Tests: `name` option is now required by jdlrobson
 * - SearchBox: Add data-search-loc attribute by Sam Smith
 * - docs: Expand on curl options in Storybook setup script by Volker E
 * - Use setTemporaryHook in SkinVectorTest by Nikki Nikkhoui
 * - Fix the storybook instance by jdlrobson
 * - variables.less - replace tab with space by DannyS712
 * - Implement mediawiki.skin.variables.less for Vector by Timo Tijhof
 * - Vector should use opt-in policy for ResourceLoaderSkinModule features by jdlrobson

WikimediaApiPortal

 * - Remove use of deprecated mediawiki.skinning.content. by Cindy Cicalese
 * - Use OOUI for user menu and remove ULS user menu item  by Cindy Cicalese

VisualEditor

 * - Catch errors from getNodeAndOffset in annotationsAtModelSelection     by Ed Sanders
 * - ve.dm.Node: Check if attached before accessing document by Bartosz Dziewoński
 * - Catch exceptions caused by illegal offsets passed to native ranges by Ed Sanders
 * - Avoid the term "whitelist" in a few places by Thiemo Kreuz
 * - Handle tables with rowspans that exceed the matrix by Ed Sanders
 * - jsduck: Add UI classes to Diffing category by Timo Tijhof

Total Changes
381 Changes in 71 repos by 72 authors