MediaWiki 1.36/wmf.12/Changelog

Core changes

 * - Branch commit for wmf/1.36.0-wmf.12 by trainbranchbot
 * - Sync up with Parsoid parserTests.txt by Arlo Breault
 * - Use the same character set for link prefix as for suffix in Arabic 'ar' by Ed Sanders
 * - Check if non-JSON-serializable data passed to ParserOutput by Petr Pchelko
 * - Remove note about deprecated SpecialPageFactory in SpecialPageFactory by Umherirrender
 * - Add language support for Madurese (mad) by MarcoAurelio
 * - Delete wrong translations of `recentchanges-summary` by Raymond
 * - BlockUtils: remove unused params, rename methods by Daimona Eaytoy
 * - Do not call SpecialBlock from BlockUser by Martin Urbanec
 * - [tests] Move UnblockUserTest to integration tests by Martin Urbanec
 * - LivePreview: Enable live diff, and keep live preview disabled after first preview, on user CSS/JS by Nardog
 * - Fix PHP 8 compat with strcspn $length parameter exceeding string by Florian
 * - Revision: Remove some unnecessary temporary variables for returns by Reedy
 * - Add check that $bp doesn't is set by Reedy
 * - Remove all hard-deprecated methods of UserGroupMembership by Petr Pchelko
 * - Correct position of $expected and $actual in TitleTest::testGetCascadeProtectionSources by Reedy
 * - MessagesCs.php: Update Czech book sources by Martin Urbanec
 * - Add GENDER for consistency by Raymond
 * - LivePreview: Show "Templates used in this preview" when creating a new page or editing a section by Nardog
 * - Inject dependencies into PasswordReset, and cleanup by DannyS712
 * - Drop hard-deprecated User::getAllRights and ::isEveryoneAllowed by Petr Pchelko
 * - Drop null fallbacks in PasswordReset constructor by Petr Pchelko
 * - Clarify that IPs can appear in blocklists in composite block messages by Thalia
 * - MessagesNds_nl.php: Fix incorrect namespace alias by zoranzoki21
 * - Move SkinTemplate::getFooterLinks to Skin. by Ammar Abdulhamid
 * - Remove NonSerializableTrait from User object by Martin Urbanec
 * - ParserCache: be resilient to string values by daniel
 * - resourceloader: Show name of failed module in error by Thalia
 * - ApiHelp: ensure help urls are an array for count by DannyS712
 * - Cover ParserCache with integration tests by Petr Pchelko
 * - HACK/ParserCache: Force cache-miss if mUsedOptions is undefined by Timo Tijhof
 * - Revert "Revert "Revert "Hard deprecate all public properties in CacheTime and ParserOutput""" by Ppchelko
 * - Change SpecialUnblock::processUIUnblock to closure and inject service by Umherirrender
 * - Fix typo in upload API by Ed Sanders
 * - Surface new talks on SkinMustache by jdlrobson
 * - Add WatchlistExpiry support to ApiBlock by Ammar Abdulhamid
 * - Introduce BlockUtils service by Martin Urbanec
 * - [docker] Update working directory to /var/www/html/w  by Kosta Harlan
 * - Revert "Revert "ApiEditPage: Show existing watchlist expiry if status  by Ammar Abdulhamid
 * - Revert "ApiEditPage: Show existing watchlist expiry if status is not being changed."  by DannyS712
 * - Expose footer data in SkinMustache by jdlrobson
 * - Remove phpcs suppression of ValidGlobalName.wgPrefix by DannyS712
 * - Make TransactionProfiler use an "exception" SPI field by Aaron Schulz
 * - Add UserRigorOptions interface by DannyS712
 * - Doxygen: Stop documenting .inc files, we don't use them now by James D. Forrester
 * - AutoloadGenerator: Drop support for .inc files, we don't use them now by James D. Forrester
 * - Move prepareSubtitle method to Skin by Ammar Abdulhamid
 * - ApiEditPage: Show existing watchlist expiry if status is not being changed. by Ammar Abdulhamid
 * - Move User::newFromName logic to UserFactory by DannyS712
 * - Add namespace translations for Inari Sámi (smn) by Jon Harald Søby
 * - Use DBAccessObjectUtils in some User methods. by Ammar Abdulhamid
 * - Clean up ParserCache construction and inject logger by Petr Pchelko
 * - Add 'actor' to default $wgSharedTables by kevinbazira
 * - WatchlistExpiryWidget: Move focus to expiry dropdown after hitting Tab by MusikAnimal
 * - RELEASE-NOTES: Update with missing languages since REL1_35  by MarcoAurelio
 * - Names.php: Add support for Nias/Li Niha language by MarcoAurelio
 * - purgeList.php Fix all-namespaces option to match one used in code by Reedy
 * - Document hook names in hook interfaces. by daniel
 * - GenderCache::getGenderOf - remove use of global $wgUser by DannyS712
 * - Revert "Revert "Remove support for (Archived|OldLocal)File::userCan without a user"" by DannyS712
 * - Migrate querycachetwo table to abstract schema by Amir Sarabadani
 * - Migrate querycache to abstract schema  by Amir Sarabadani
 * - maintenance: Move cleanupTable from .inc to .php by James D. Forrester
 * - Add ARIA attributes to watchlink and its notification by Sam Wilson
 * - Avoid hard coded AS for column aliases by Umherirrender
 * - ApiEditPage: Don't swap undo and undoafter parameters by Dov Alperin
 * - Empty Monolog loggers are now real blackholes and add tests by Seb35

Vendor
No changes for vendor

3D
No changes for 3D

AbuseFilter

 * - Add test traits for uploads and account creation by Daimona Eaytoy
 * - Add tests for retrieving RC variables  by Daimona Eaytoy
 * - Refactor AbuseFilterView instantiation by Matěj Suchánek
 * - updateVarDumps: avoid using services in the constructor by Daimona Eaytoy
 * - Use ::class in SpecialAbuseFilter by Daimona Eaytoy
 * - Remove void unset statement by Matěj Suchánek
 * - Use null defaults for search options on Special:AbuseFilter by Daimona Eaytoy
 * - Integrate with Renameuser  by Matěj Suchánek
 * - Deduplicate instance variables in Pagers by Matěj Suchánek
 * - Selenium tests: wait for clickable button by Daimona Eaytoy
 * - Exclude old, single-use scripts from coverage reports by Daimona Eaytoy
 * - Rewrite the VariableHolder code to translate deprecated variables by Daimona Eaytoy
 * - Add a lot of selenium tests for the editing view by Daimona Eaytoy
 * - Fix check for central wiki by Matěj Suchánek
 * - Hide rule search if global filters are to be shown by Matěj Suchánek
 * - Introduce a KeywordsManager service by Daimona Eaytoy
 * - Move some misplaced AbuseFilterParser entry points by Daimona Eaytoy
 * - Actually apply patch-afl_change_deleted_patrolled. by Alexia E. Smith
 * - ext.abuseFilter.edit.js - minor cleanup by DannyS712

ActiveAbstract
No changes for ActiveAbstract

AdvancedSearch
No changes for AdvancedSearch

AntiSpoof
No changes for AntiSpoof

ApiFeatureUsage
No changes for ApiFeatureUsage

ArticleCreationWorkflow
No changes for ArticleCreationWorkflow

ArticlePlaceholder

 * - Stop using TermIndex, BufferingTermIndexTermLookup by Lucas Werkmeister
 * - Add specialPageAliases for Arabic (ar) by Meno25

Babel
No changes for Babel

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
No changes for CentralAuth

CentralNotice
No changes for CentralNotice

CharInsert
No changes for CharInsert

CheckUser

 * - [i18n] Add Czech aliases for the special page by Martin Urbanec
 * - SpecialInvestigate: Ensure consistent display of indicator buttons by Thalia
 * - SpecialInvestigateBlock: Don't assume 'DisableUTEdit' exists by Thalia

CirrusSearch
No changes for CirrusSearch

Cite
No changes for Cite

CiteThisPage
No changes for CiteThisPage

Citoid

 * - Fix "Change reference type" button appearing in unrelated dialogs by Bartosz Dziewoński
 * - Allow any reference to be replaced using Citoid  by Bartosz Dziewoński

cldr
No changes for cldr

CodeEditor
No changes for CodeEditor

CodeMirror
No changes for CodeMirror

CodeReview
No changes for CodeReview

Cognate
No changes for Cognate

Collection
No changes for Collection

CommonsMetadata
No changes for CommonsMetadata

ConfirmEdit
No changes for ConfirmEdit

CongressLookup
No changes for CongressLookup

ContactPage
No changes for ContactPage

ContentTranslation

 * - ContentTranslation Skin by Santhosh Thottingal
 * - CXReferenceNode: Ensure getAdaptationInfo always returns an object by Ed Sanders
 * - UI library: Documentation update for Dialog component by Santhosh Thottingal
 * - UI lib MWDialog: Add overlay color and opacity props by NikG
 * - SXContentComparator: Fix present section banner to show only for present sections by NikG

CreditsSource
No changes for CreditsSource

Dashiki
No changes for Dashiki

Disambiguator
No changes for Disambiguator

DiscussionTools

 * - Remove number when reading heading node by Ed Sanders
 * - Work around Chromium bug with triple-click selection and reply links by Bartosz Dziewoński
 * - Ignore other empty-ish things at the beginning of comments by Bartosz Dziewoński
 * - Fix detecting username from the wrong links sometimes by Bartosz Dziewoński
 * - Update test case to match actual output by Bartosz Dziewoński
 * - Ignore empty paragraphs at the beginning of comments by Bartosz Dziewoński
 * - Ignore HTML comments which are more than two lines from a reply by Ed Sanders

DismissableSiteNotice
No changes for DismissableSiteNotice

DonationInterface
No changes for DonationInterface

DoubleWiki
No changes for DoubleWiki

DynamicSidebar
No changes for DynamicSidebar

Echo

 * - Fix incorrect use of $.extend by Bartosz Dziewoński
 * - Make tests match actual expected format for user-locators by Matthias Mullie
 * - Use MockHttpTrait by daniel

Elastica
No changes for Elastica

ElectronPdfService
No changes for ElectronPdfService

EntitySchema

 * - build: Update lint-staged config to avoid jsonlint by Umherirrender

EventBus
No changes for EventBus

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
No changes for FileImporter

FlaggedRevs

 * - Use ParserCacheFactory to obtain a stable ParserCache by Petr Pchelko

Flow

 * - Catch InvalidDataException errors to avoid log spam by Kosta Harlan

FundraiserLandingPage
No changes for FundraiserLandingPage

FundraisingTranslateWorkflow
No changes for FundraisingTranslateWorkflow

Gadgets
No changes for Gadgets

GeoCrumbs
No changes for GeoCrumbs

GeoData
No changes for GeoData

GettingStarted
No changes for GettingStarted

GlobalBlocking
No changes for GlobalBlocking

GlobalCssJs
No changes for GlobalCssJs

GlobalPreferences
No changes for GlobalPreferences

GlobalUsage
No changes for GlobalUsage

GlobalUserPage
No changes for GlobalUserPage

GlobalWatchlist
No changes for GlobalWatchlist

GoogleNewsSitemap
No changes for GoogleNewsSitemap

Graph
No changes for Graph

GrowthExperiments

 * - Update mobile summary small task card when filters change by Kosta Harlan
 * - Use info-unpadded icon for task explanation widget by Kosta Harlan
 * - HomepageModule: Export taskcount, tasks and topics on server-side by Kosta Harlan
 * - StartEmail: Export state to homepage logger by Kosta Harlan
 * - HomepageModule: Update schema version for startemail module by Kosta Harlan
 * - GrowthTasksApi: Correctly distinguish when topic filters were never set by Roan Kattouw
 * - StartEditingDialog: Remove reference to "Cancel" button in intro messages by Roan Kattouw
 * - StartEditingDialog: Don't allow user to close dialog in modal mode by Roan Kattouw
 * - Suggested edits: Make transparent border when activated actually work by Roan Kattouw
 * - SuggestedEdits: Fix footer display  by Roan Kattouw
 * - Move apierror message to i18n/help/api by Martin Urbanec
 * - StartEditing: Disallow escaping when user is in variant D by Kosta Harlan
 * - Instrumentation: Adjust start editing teardown logging by Kosta Harlan
 * - Only preload task cards for users who have activated the SE module by Kosta Harlan
 * - Fix UserNotLoggedIn usage in QuestionPoster by Gergő Tisza
 * - Catch UserNotLoggedIn error in ApiHelpPanelPostQuestion by Gergő Tisza
 * - Add special page aliases for Turkish (tr) by Roan Kattouw
 * - Use 20px size for info-unpadded icon on desktop/mobile by Kosta Harlan
 * - Unbreak links containing small task cards by Gergő Tisza
 * - Use custom info icon in variant C suggested edits header by Gergő Tisza
 * - Use all task templates instead of current ones in TemplateFilter by Gergő Tisza
 * - Variant C/D instrumentation by Gergő Tisza
 * - Ensure variant A homepage sidebar is always at least 300px by Gergő Tisza
 * - StartEmail: Styling fixes by Roan Kattouw
 * - StartEditingDialog: Use fixed height when embedded on the homepage by Roan Kattouw
 * - Adjust padding on task type selection by Kosta Harlan
 * - StartEditing: Reduce topic image size for variant C by Kosta Harlan
 * - Mobile discovery: Simplify arrow CSS by Roan Kattouw
 * - Homepage: Adjust max-width / wide breakpoint by Kosta Harlan
 * - [ci bugfix] MentorPageMentorManager::getRandomAvailableMentor should always return an user object or throw by Martin Urbanec
 * - TaskTypeSelectionWidget: Styling tweaks by Roan Kattouw
 * - Change suggested edits pager loading text from ? to … by Gergő Tisza
 * - StartEditingDialog: Fix font sizes by Roan Kattouw
 * - Prevent returning the full templatelinks table in TemplateFilter by Gergő Tisza

GuidedTour

 * - Display authors as a list on Special:Version/Credits/GuidedTour by DannyS712

GWToolset
No changes for GWToolset

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
No changes for Kartographer

LabeledSectionTransclusion
No changes for LabeledSectionTransclusion

LandingCheck
No changes for LandingCheck

LdapAuthentication
No changes for LdapAuthentication

Linter
No changes for Linter

LiquidThreads

 * - Filter query values in specifiedMustShow by Niklas Laxström

Listings
No changes for Listings

LocalisationUpdate
No changes for LocalisationUpdate

LoginNotify
No changes for LoginNotify

MachineVision
No changes for MachineVision

MapSources
No changes for MapSources

MassMessage

 * - Update bug references to Phabricator by Niklas Laxström
 * - Use Title::inNamespace(s) by Niklas Laxström

Math
No changes for Math

MediaModeration
No changes for MediaModeration

MobileApp
No changes for MobileApp

MobileFrontend

 * - Set MFDefaultEditor to 'preference' by default by Ed Sanders
 * - Fixes Uncaught TypeError: Cannot read property 'match' of undefined by jdlrobson
 * - Refactor: Move `Transforms` related code to correct transform classes by Derick A
 * - Restore check for duration in BlockMessageDetails by Thalia
 * - Pass transforms directly to MobileFormatter::applyTransform as argument by Peter Ovchyn
 * - build: Update eslint-config-wikimedia by Umherirrender
 * - Remove $wgULSPosition hack for ULS extension by Ammar Abdulhamid
 * - Only apply desktop preference if we have evidence VE has been used by Ed Sanders

MultimediaViewer
No changes for MultimediaViewer

NavigationTiming
No changes for NavigationTiming

Newsletter

 * - Replace usage of deprecated SkinTemplateNavigation hook by Artrixs

NewUserMessage
No changes for NewUserMessage

Nuke
No changes for Nuke

OATHAuth

 * - Make SQLite compatible patches by Reedy

OAuth

 * - oauth2: Add user id to profile response by Bryan Davis
 * - Fixed client ID not appearing in details view by Cindy Cicalese
 * - Resource: add two private consts and replace string literals with them by vladshapik
 * - Dynamic validation for the OAuth client creation REST endpoint scopes param by Bill Pirkle
 * - Updating 'scopes' field restrictions. by arttsymbar

OAuthRateLimiter
No changes for OAuthRateLimiter

OpenStackManager
No changes for OpenStackManager

ORES
No changes for ORES

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

 * - build: Update eslint-config-wikimedia by Umherirrender

ProofreadPage

 * - Moved mw.config vars from PageViewAction::show to getParserOutput by Sohom
 * - Fix escaping in PageContentBuilder::buildDefaultContentForPageTitle by Thiemo Kreuz
 * - Fix warnings due to the newly introduced no-shadow rule (eslint) by Sohom
 * - Added formatted page number of Page: page to mw.config by Sohom

PropertySuggester
No changes for PropertySuggester

QuickSurveys
No changes for QuickSurveys

Quiz
No changes for Quiz

ReadingLists

 * - Decrement rl_size on entry deletion only if it is currently positive by Michael Holloway

RelatedArticles
No changes for RelatedArticles

Renameuser
No changes for Renameuser

RevisionSlider
No changes for RevisionSlider

RSS
No changes for RSS

SandboxLink
No changes for SandboxLink

Score
No changes for Score

Scribunto

 * - Add module namespace translations for Inari Sámi (smn) by Jon Harald Søby

SearchExtraNS
No changes for SearchExtraNS

SecureLinkFixer
No changes for SecureLinkFixer

SecurePoll
No changes for SecurePoll

ShortUrl
No changes for ShortUrl

SiteMatrix
No changes for SiteMatrix

SpamBlacklist

 * - Ensure instance cache does not interfere with tests. by daniel

SubPageList3
No changes for SubPageList3

SubpageSortkey
No changes for SubpageSortkey

SyntaxHighlight_GeSHi
No changes for SyntaxHighlight_GeSHi

TemplateData

 * - Use MessageWidgets instead of LabelWidgets in Dialog by Ed Sanders
 * - Remove default padding from panels, uses padded:true/false instead by Ed Sanders
 * - Use a MessageWidget for the sub-page warning by Ed Sanders

TemplateSandbox
No changes for TemplateSandbox

TemplateStyles
No changes for TemplateStyles

TemplateWizard

 * - eslint: Cleanup config, fix jsdoc warning by Ed Sanders

TextExtracts
No changes for TextExtracts

Thanks
No changes for Thanks

TheWikipediaLibrary

 * - build: Updating mediawiki/mediawiki-phan-config to 0.10.3 by libraryupgrader
 * - Remove double empty line by Umherirrender

TimedMediaHandler
No changes for TimedMediaHandler

timeline
No changes for timeline

TitleBlacklist
No changes for TitleBlacklist

TocTree
No changes for TocTree

TorBlock
No changes for TorBlock

Translate

 * - [Regression] Centre graph on translation stats page by Abijeet
 * - Make translation stats graph types configurable by Niklas Laxström
 * - Convert Special:MovePage to OOUI Part 2 by Jayprakash12345
 * - Add table and aria-label for the translation stats graph by Abijeet

TranslationNotifications
No changes for TranslationNotifications

TrustedXFF
No changes for TrustedXFF

TwoColConflict

 * - build: Updating rdf-canonize to 1.2.0 by libraryupgrader

UniversalLanguageSelector

 * - Update jquery.ime from upstream by Amir Aharoni
 * - Update jquery.uls from upstream by Amir Aharoni

UploadsLink
No changes for UploadsLink

UploadWizard

 * - Fix vertical alignment of large button by Ed Sanders
 * - Convert uploadWizard.css to less by Ed Sanders

UrlShortener
No changes for UrlShortener

UserMerge

 * - Automatically register 'Anonymous' as a reserved username by Florian

VipsScaler
No changes for VipsScaler

VisualEditor

 * - Don't set alt text if attribute was originally 'null' by Ed Sanders
 * - Update VE core submodule to master (1a0cc7e1f) by Bartosz Dziewoński
 * - Return language code if language name not found by Ed Sanders
 * - Fix cancelled browser-back on desktop by Ed Sanders
 * - Don't navigate back immediately when trying to teardown by Ed Sanders

WebAuthn
No changes for WebAuthn

Wikibase

 * - wb_terms: remove terms migration for sqllite by Tobias Andersson
 * - FormatterCacheFactoryTest: fix accidental default use by Pablo Grass
 * - Stop mentioning WikibaseLib in CREDITS by Lucas Werkmeister
 * - Remove multiple-term-store logic from WikibaseRepo by Lucas Werkmeister
 * - Remove two unused term store writer classes by Lucas Werkmeister
 * - StatsdRecordingSimpleCache: fix variable typo by Pablo Grass
 * - EntitySearch: Don't delete 'suggestionsContext' object by Ed Sanders
 * - Remove normalized terms settings from DataAccessSettings by Lucas Werkmeister
 * - Restore MakeRowIDsBig.sql update for ips_row_id by Lucas Werkmeister
 * - Stop using BufferingTermIndexLookup by Tobias Andersson
 * - Override PropertyLabelResolver in Scribunto_LuaWikibaseLibraryTestCase by Marius Hoch
 * - bridge: npm audit fix by Lucas Werkmeister
 * - wb_terms, Remove old conflict detection from TermValidatorFactory by addshore
 * - Update docs: wb_terms removal by Tobias Andersson
 * - Drop wb_terms on update by Lucas Werkmeister
 * - Don't create wb_terms on install. by Tobias Andersson
 * - wb_terms: remove tests using the table by Tobias Andersson
 * - wb_terms, remove search settings from DataAccessSettings by addshore
 * - wb_terms, remove old search code by addshore
 * - Add Martin Urbanec to .mailmap by Lucas Werkmeister
 * - Remove the migration settings as they are no-longer read by the code. by Tobias Andersson
 * - Stop reading from migration variables from settings by Tobias Andersson
 * - Remove tmpPropertyTermsMigrationStage client setting by Lucas Werkmeister
 * - Make sure monolingual text languages extend term languages by Lucas Werkmeister
 * - Revert "Enable Termbox v2 for desktop behind a feature flag" by Pablo Grass (WMDE)
 * - Drop WikibaseLib.php by Amir Sarabadani
 * - Move the duplicated code into lib and use it as a factory on client and by Tobias Andersson
 * - travis: build release branches with respective MW branch by Pablo Grass
 * - Reenable tests disabled due to actor migration issues by Lucas Werkmeister
 * - Use proper test users in Client tests by Lucas Werkmeister
 * - Drop three unused indexes from wb_changes by Amir Sarabadani
 * - Add EntityDataFormatProvider to WikibaseRepo by Lucas Werkmeister
 * - Add EntityDataUriManager to WikibaseRepo by Lucas Werkmeister
 * - SpecialEntityData: get allowed formats only from entityDataFormatProvider by Pablo Grass
 * - [credits] Use my real name by Martin Urbanec

WikibaseCirrusSearch
No changes for WikibaseCirrusSearch

WikibaseLexeme

 * - Stop using BufferingTermIndexTermLookup, NullTermIndex by Lucas Werkmeister
 * - Register extracted vue template as resourceloader template for Qunit tests by rosalie
 * - Remove duplicated templates from test files by Tobias Andersson
 * - Deduplicate vue templates between php implementation and js tests by rosalie

WikibaseLexemeCirrusSearch
No changes for WikibaseLexemeCirrusSearch

WikibaseMediaInfo

 * - Add concept chips UI by annet
 * - Remove popularity sort options by annet
 * - Fix captions/statements header & button font sizes by Matthias Mullie
 * - Remove ConstantVisibility.NotFound exclusion now that they're all set by Matthias Mullie
 * - Update constant visibility by Cormac Parle
 * - Thumbnails should have grid height by Matthias Mullie
 * - Rewrite thumbnail urls to serve more common widths by Matthias Mullie
 * - Add API endpoint for related terms (for concept chips) by Matthias Mullie
 * - Abort autocomlete call on search by annet
 * - Fix images/videos grid margin by annet

WikibaseQualityConstraints

 * - build: Updating dependencies by libraryupgrader
 * - build: Update eslint-plugin-compat and eslint-plugin-jasmine by Umherirrender

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

 * - Making Callback URL not required in case of owner-only(bot) selection by arttsymbar
 * - Revert "NewClient: update of grants being sent when creating a Client." by Cicalese
 * - NewClient: update of grants being sent when creating a Client. by arttsymbar
 * - Adding missing error message for 'wikimediaapiportaloauth-email-not-confirmed' key. by arttsymbar
 * - oauth: Change scopes to reflect API functionality by apaskulin
 * - Initial implementation by Dejan Savuljesku

WikimediaBadges
No changes for WikimediaBadges

WikimediaEditorTasks
No changes for WikimediaEditorTasks

WikimediaEvents

 * - sessionTick: Correct invocation of mw.config.get by Jason Linehan
 * - Adds sessionTick instrument to measure session length. by Jason Linehan
 * - Collect data about CodeMirror preference usage by Adam Wight
 * - PrefUpdate: Only log if the preference update is user-initiated by Sam Smith

WikimediaIncubator
No changes for WikimediaIncubator

WikimediaMaintenance
No changes for WikimediaMaintenance

WikimediaMessages
No changes for WikimediaMessages

Wikisource
No changes for Wikisource

XAnalytics
No changes for XAnalytics

CologneBlue
No changes for CologneBlue

MinervaNeue
No changes for MinervaNeue

Modern
No changes for Modern

MonoBook
No changes for MonoBook

Nostalgia

 * - Use Skin::prepareSubtitle by Ammar Abdulhamid

Timeless
No changes for Timeless

Vector

 * - [docs] Add support note to `linear-gradient` fallback by Volker E
 * - Adjust the left-alignment of the sidebar by Jan Drewniak
 * - Drop unsupported skin CSS classes by jdlrobson
 * - Source footer data from SkinMustache by jdlrobson
 * - Prefer local data to parent data (attempt 2) by jdlrobson
 * - Make VectorIsSearchInHeader the default by jdlrobson
 * - Use newly available Skin::getPortletData method to get mw-portlet class  by jdlrobson
 * - Prefer local data to parent data by jdlrobson

WikimediaApiPortal

 * - Simplify less files and fix search icon behavior by Clara Andrew-Wani

VisualEditor

 * - Allow defining delete commands for focusable nodes by Bartosz Dziewoński
 * - Move ve.ce.Node.static.primaryCommandName to ve.ce.FocusableNode by Bartosz Dziewoński
 * - ve.ce.NodeFactory: Remove unused method #getNodePrimaryCommandName by Bartosz Dziewoński
 * - Convert tags to LanguageAnnotation by Ed Sanders
 * - Inherit LanguageAnnotation from TextStyleAnnotation by Ed Sanders
 * - FocusableNode: Check for surface after setTimeout by Ed Sanders
 * - build: Remove Gemfile and rubocop files by Timo Tijhof

Total Changes
271 Changes in 43 repos by 73 authors