MediaWiki 1.36/wmf.28/Changelog

Core changes

 * - Branch commit for wmf/1.36.0-wmf.28 by trainbranchbot
 * - objectcache: add statsd key metrics to BagOStuff classes by Aaron Schulz
 * - rdbms: fix bogus read-only mode bug in LoadBalancer by Aaron Schulz
 * - Hard deprecate CacheHelper, ICacheHelper, CachedAction, SpecialCachedPage. by Petr Pchelko
 * - Remove unneeded @return documentation by Umherirrender
 * - Revert "message boxes: Use CSS classes adhering to class naming scheme" by VolkerE
 * - Update the converter for the Tashelhit language (shi) by Amir Aharoni
 * - Use my real name in CREDITS instead of the pseudonym + update CREDITS file by Ferran Tufan
 * - Migrate ipblocks to abstract schema   by Amir Sarabadani
 * - Add clearfix to upload warnings by Ed Sanders
 * - HTMLForm: Fix documentation for tryAuthorizedSubmit by Thalia
 * - Don't limit .thumbborder to img by Arlo Breault
 * - ParserTests: Update error message to point to the failing test file by Subramanya Sastry
 * - tests: Fix invalid @covers tags by Kunal Mehta
 * - Upgrade wikimedia/html-formatter from 2.0.0 to 2.0.1 by James D. Forrester
 * - Revert most of the changes from 16b76a4  by Arlo Breault
 * - HTMLFileField: Make 'accept' parameter optional by Thalia
 * - Follow-up: I21d17de56: HtmlFileField fixes by Ed Sanders
 * - Use always filled rev_user_text on Special:MergeHistory by Umherirrender
 * - Move select file messages from oojs-ui-widgets to oojs-ui-core by Ed Sanders
 * - set revision Title before setting text, or there may be no content model by Ariel T. Glenn
 * - WikiRevision::model can be null so don't pass it as an arg by Ariel T. Glenn
 * - LinkBatch: Fix property documentations by Ammarpad
 * - RevisionStore: Prevent useless DB query by Ammarpad
 * - Introduce MockAuthorityTrait for Authority test helpers by Petr Pchelko
 * - DefaultSettings: Update $wgUseTagFilter documentation by DannyS712
 * - Remove references to dropped valid_tags table in TagsDefTest by Umherirrender
 * - maintenance: Fix errors in parameter handling and output of findBadBlobs by daniel
 * - Special:Contributions reports negative namespace error on php8 by Umherirrender
 * - Rest: use Authority in all core handlers by Petr Pchelko
 * - Create HtmlFileField by Ed Sanders
 * - Migrate RevisionStore from User to Authority where possible by Petr Pchelko
 * - Rest: inject Authority into Handler by Petr Pchelko
 * - Remove usages and hard deprecate User::changeable(By)Group by Petr Pchelko
 * - Convert RevisionRecord to Authority and PageIdentity by Petr Pchelko
 * - Move User::changeable(By)Groups methods to UserGroupManager by Petr Pchelko
 * - Remove hard-deprecate param fallbacks in RevisionStore by Petr Pchelko
 * - Make ContributionsLookup use Authority by Petr Pchelko
 * - Remove trailing whitespace from paramvalidator-notmulti by Niklas Laxström
 * - MWRestrictionsTest: add missing parent::setUpBeforeClass call by DannyS712
 * - SpecialUnblockTest: add missing parent::tearDown call by DannyS712
 * - Misc cleanup to api integration tests by DannyS712
 * - Remove `UserWrapper` class from tests, not used by DannyS712
 * - Add Unit tests for Title class by DannyS712
 * - Remove broken/outdated @param/@throws tags from @dataProviders by Thiemo Kreuz
 * - tests: Remove @param docs from test code that just repeat the signature by Thiemo Kreuz
 * - Make ReleaseNotesTest a pure unit test by DannyS712
 * - rdbms: cleanup comments and constants "conns" field of LoadBalancer by Aaron Schulz
 * - Chain MutableRevisionRecord method calls by Ammar Abdulhamid
 * - Inject $user for validation instead of creating it inside Trait by Peter Ovchyn
 * - Add test to assert uniform table prefix usage in abstract schema by Ammar Abdulhamid
 * - WikiPage: add test for invalid titles by daniel
 * - PageIdentityValue: fix isSamePageAs for foreign wikis by daniel
 * - Title: add tests for makeTitle and makeTitleSafe by daniel
 * - Make Maintenance::STDIN_ALL integer by Ammarpad
 * - Add Authority to Context by Petr Pchelko
 * - WikiPage: deprecated construction on bad titles by daniel
 * - Migrate objectcache to abstract schema  by Ammar Abdulhamid
 * - LogEventsList: Remove unused property by Ammarpad
 * - update.php: Purge database caches unconditionally after upgrade by Ammarpad
 * - ApiQuerySearch: Include prop/info when requested in generator mode by Erik Bernhardson
 * - Make User implement Authority by Petr Pchelko
 * - Define equality for PageIdentity and LinkTarget by daniel
 * - Skip div with mw-edit-longpage-hint when it is empty by Umherirrender
 * - Deprecate premature instantiation of services. by daniel
 * - Audit margins in content.media.less by Arlo Breault
 * - rdbms: sanity check if $conn is false in LoadBalancer::getConnection by Aaron Schulz
 * - Make sure RUN_MAINTENANCE_IF_MAIN is defined in tests. by daniel
 * - Remove nonfunctional default sampling for WANObjectCache metrics by Máté Szabó
 * - RevisionRecord: add getPage by daniel
 * - filebackend: inject the proxy backend logger into FileBackendMultiWrite sub-backends by Aaron Schulz
 * - rdbms: use LoadBalancer::MAX_LAG_DEFAULT constant within LoadMonitor by Aaron Schulz
 * - mime: Add strict type hints to MimeAnalyzer class by Timo Tijhof
 * - UploadBase: Don't call MimeAnalyzer if mTempPath is null by James D. Forrester
 * - Exif::isSlong: Cast input to float so PHP 8.0 abs doesn't whine by James D. Forrester
 * - mediawiki.special.upload: Use then instead of done by Timo Tijhof
 * - Pingback.php: Minor cleanup by Reedy
 * - Strict return types for PageIdentity by daniel
 * - exception: Remove "exception_id" key in favour of reqId by Timo Tijhof
 * - Fix Postgres index drifts on recentchanges table  by Amir Sarabadani
 * - mediawiki.skinning: Add form elements `margin` normalization to 'normalize.less' by Volker E
 * - message boxes: Use CSS classes adhering to class naming scheme by Volker E
 * - Content navigation links can provide their own IDs by jdlrobson
 * - Respect used options for ParserOptions::isSafeToCache by Petr Pchelko
 * - CacheTime: remove mVersion field by Petr Pchelko

Vendor

 * - Upgrade wikimedia/html-formatter from 2.0.0 to 2.0.1 by James D. Forrester
 * - Add wikimedia/request-timeout 1.0.0 by Kunal Mehta
 * - Bump wikimedia/parsoid to 0.13.0-a23  by C. Scott Ananian

3D
No changes for 3D

AbuseFilter

 * - Catch FilterNotFoundException in ApiQueryAbuseLog by Daimona Eaytoy
 * - Catch ClosestFilterVersionNotFoundException in ViewDiff by Daimona Eaytoy
 * - Do not mock User in TextExtractorTest. by Petr Pchelko
 * - Don't return the status of doBlockInternal when processing block actions by Daimona Eaytoy
 * - Catch CentralDBNotAvailableException in ViewExamine by Daimona Eaytoy

ActiveAbstract

 * - Fix param types in tests by Umherirrender

AdvancedSearch
No changes for AdvancedSearch

AntiSpoof
No changes for AntiSpoof

ApiFeatureUsage
No changes for ApiFeatureUsage

ArticleCreationWorkflow
No changes for ArticleCreationWorkflow

ArticlePlaceholder
No changes for ArticlePlaceholder

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

 * - Use @inheritDoc to complete documentation by Umherirrender

CategoryTree
No changes for CategoryTree

CentralAuth

 * - Require that all new and modified global group names are lowercase by Taavi Väänänen
 * - Mark user page moves as bot on rename user process by melos
 * - Improve function and property documentation in tests by Umherirrender
 * - Add injectable CentralAuthUtilityService to replace CentralAuthUtils by Taavi Väänänen

CentralNotice
No changes for CentralNotice

CharInsert
No changes for CharInsert

CheckUser
No changes for CheckUser

CirrusSearch

 * - Improve function and property documentation in tests by Umherirrender
 * - Add an option to limit the size of the file_text field by David Causse

Cite

 * - CitationNeededContext: Support encapsulated content by Ed Sanders
 * - ve-cite: Update DiffElement test with fixed output by Ed Sanders

CiteThisPage
No changes for CiteThisPage

Citoid

 * - CitoidAction: Pass inStaging param by Ed Sanders

cldr
No changes for cldr

CodeEditor
No changes for CodeEditor

CodeMirror

 * - Rename our customized matchbrackets addon by Thiemo Kreuz
 * - Lower maxHighlightLineLength limit to 5000  by Thiemo Kreuz
 * - Concretised comment around WMDE disabled line by WMDE-Fisch
 * - Disable non-matching highlighting via config flag by Thiemo Kreuz

CodeReview

 * - Replace static User::getGroupsWithPermission in favour of GroupPermissionsLookup  by Peter Ovchyn

Cognate
No changes for Cognate

Collection
No changes for Collection

CommonsMetadata

 * - Fix some parameter names in tests by Umherirrender

ConfirmEdit

 * - Remove incomplete @param from test function by Umherirrender

CongressLookup
No changes for CongressLookup

ContactPage
No changes for ContactPage

ContentTranslation

 * - Add dependency on ext.cite.visualEditor for CXReference handlers by Ed Sanders
 * - CX3 Build 0.1.0+20210125 by NikG
 * - SX Pick a sentence: Add card for already translated segments by NikG
 * - SX i18n: Add v-i18n-html-safe directive by NikG
 * - SX Dashboard: Hide "New pages" section by NikG
 * - SX Pick a sentence: Fix select previous segment action for title by NikG
 * - SX Publish options: Fix publish target option persistence by NikG
 * - UI lib MwButton: Fix click handling for text buttons with icons by NikG
 * - CX3 Build 0.1.0+20210119 by NikG
 * - CXDashboard: Hide views not currently supported on mobile by NikG

CreditsSource
No changes for CreditsSource

Dashiki
No changes for Dashiki

Disambiguator
No changes for Disambiguator

DiscussionTools

 * - Add a link to the project page to the "New topic" change tag by Bartosz Dziewoński
 * - A/B test output when a specific feature is being tested by David Lynch
 * - NewTopicController: Clear section title on teardown by Bartosz Dziewoński
 * - Separate dialog for abandoning a new topic by Bartosz Dziewoński
 * - CommentController: Better handle clicking links while already commenting by Bartosz Dziewoński
 * - Store reply links in the parser cache by Ed Sanders
 * - Fix skipping past our own reply buttons for wrapped comments by Bartosz Dziewoński
 * - Padding and border around new topic tool by Ed Sanders

DismissableSiteNotice
No changes for DismissableSiteNotice

DonationInterface
No changes for DonationInterface

DoubleWiki
No changes for DoubleWiki

DynamicSidebar
No changes for DynamicSidebar

Echo
No changes for Echo

Elastica
No changes for Elastica

ElectronPdfService
No changes for ElectronPdfService

EntitySchema

 * - Fix calls to OO.ui.infuse by Ed Sanders
 * - tests: Fix WikiPage calls with impossible page names by James D. Forrester
 * - Update diff marker generation by Lucas Werkmeister
 * - Fix EntitySchemaSlotDiffRendererTest for diff marker change by Lucas Werkmeister

EventBus

 * - Remove unrelated stream name from JobQueue backend exception by Timo Tijhof

EventLogging

 * - Fix possible undefined index warning in arg checking in EventServiceClient by Ottomata
 * - Refactor EventLogging Event Platform PHP integration by Ottomata

EventStreamConfig
No changes for EventStreamConfig

ExtensionDistributor
No changes for ExtensionDistributor

ExternalGuidance
No changes for ExternalGuidance

FeaturedFeeds
No changes for FeaturedFeeds

FileExporter

 * - Add missing @param to tests by Umherirrender

FileImporter

 * - Add missing @return in test by Umherirrender

FlaggedRevs

 * - Use FlaggableWikiPage only for real pages   by daniel
 * - Fix phan after introducing returns types to Title::getNamespace by Petr Pchelko
 * - Inline hard-coded FRPageConfig::selectFields value by Thiemo Kreuz

Flow
No changes for Flow

FundraiserLandingPage
No changes for FundraiserLandingPage

FundraisingTranslateWorkflow
No changes for FundraisingTranslateWorkflow

Gadgets

 * - Don't pass empty permissions to Authority::isAllowed by Petr Pchelko

GeoCrumbs
No changes for GeoCrumbs

GeoData

 * - Remove incomplete @param from test function by Umherirrender
 * - Remove int cast from Title::getNamespace return by Umherirrender

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

 * - Clarify globalwatchlist-markseen-allconfirm message by RhinosF1
 * - watchlistUtils: pass on expiry of log entries by DannyS712

GoogleNewsSitemap
No changes for GoogleNewsSitemap

Graph
No changes for Graph

GrowthExperiments

 * - Add missing @param to test by Umherirrender
 * - Add a link prototype with VisualEditor by Roan Kattouw
 * - Switch default help desk title to Main_Page by Kosta Harlan
 * - extension.json: Fix spelling in config description by Thalia
 * - Fix PSR12.Properties.ConstantVisibility.NotFound by Reedy
 * - Improve function and property documentation by Umherirrender
 * - Newcomer tasks: Add ability to exclude pages by template or category  by Gergő Tisza
 * - Code style: Improve CacheStorage::normalizeCacheData by Gergő Tisza
 * - Record link offset on link recommendation submission by Gergő Tisza
 * - Remove cache migration logic by Gergő Tisza

GuidedTour
No changes for GuidedTour

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

IPInfo
No changes for IPInfo

Jade

 * - Improve function and property documentation by Umherirrender

Josa
No changes for Josa

JsonConfig

 * - Remove incomplete @param from test function by Umherirrender

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

Listings
No changes for Listings

LocalisationUpdate
No changes for LocalisationUpdate

LoginNotify

 * - Remove incomplete @param from test function by Umherirrender

MachineVision

 * - Avoid use of file_exists and MWException by Timo Tijhof

MapSources
No changes for MapSources

MassMessage

 * - Improve function and property documentation by Umherirrender
 * - Put page content before custom message by Niklas Laxström

Math

 * - Improve function and property documentation by Umherirrender
 * - Fixes tags data being lost after first onParserAfterTidy call by Vedmaka

MediaModeration

 * - Improve function and property documentation by Umherirrender

MobileApp
No changes for MobileApp

MobileFrontend

 * - Fix toggling storage cleanup by jdlrobson
 * - View Source on protected pages in MobileFrontend Minerva. by yash9265

MultimediaViewer
No changes for MultimediaViewer

NavigationTiming
No changes for NavigationTiming

Newsletter

 * - Add missing @param to test by Umherirrender

NewUserMessage
No changes for NewUserMessage

Nuke
No changes for Nuke

OATHAuth
No changes for OATHAuth

OAuth

 * - Improve function and property documentation by Umherirrender
 * - Avoid creating Router inside tests and update all tests accordingly by Peter Ovchyn
 * - Add two more required fields to createOAuthConsumer.php by Amir Sarabadani
 * - Add oauthVersion to createOAuthConsumer.php by Amir Sarabadani

OAuthRateLimiter

 * - Remove incomplete @param from test function by Umherirrender

OpenStackManager
No changes for OpenStackManager

ORES

 * - Update delimiter for problematic flag insertion by Matěj Suchánek

PageAssessments
No changes for PageAssessments

PagedTiffHandler

 * - Improve function documentation in tests by Umherirrender

PageImages

 * - Add missing @param to test by Umherirrender

PageTriage
No changes for PageTriage

PageViewInfo

 * - Improve function and property documentation in tests by Umherirrender
 * - Remove unused WikimediaPageViewServiceSmokeTest::$data by Umherirrender

ParserFunctions
No changes for ParserFunctions

PdfHandler
No changes for PdfHandler

Poem
No changes for Poem

PoolCounter
No changes for PoolCounter

Popups

 * - Add missing TextExtracts parameter sectionformat=plain by Thiemo Kreuz

ProofreadPage

 * - Allows formatting in a lot of indian systems inside of the tags  by Tpt

PropertySuggester
No changes for PropertySuggester

QuickSurveys

 * - Finialize migration of EventLogging schemas to Event Platform  by Ottomata

Quiz
No changes for Quiz

ReadingLists
No changes for ReadingLists

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

SearchExtraNS
No changes for SearchExtraNS

SecureLinkFixer

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

SecurePoll

 * - TallyPage: Use submit callbacks in HTMLForms by Thalia
 * - Use OOUI for TallyPage forms by Thalia
 * - Stop deleting the temp directory after decrypting by STran
 * - Replace addModule with addModuleStyles by wikitrent
 * - Visually hide the submit button only by STran
 * - Improve $crypt prop docs in ElectionTallier and ConvertVotes by Thalia
 * - Remove global var from SpecialSecurePoll.php by wikitrent
 * - Stop accessing global config variables from SecurePoll's ListPager by adham-khatean
 * - Add descriptions for some of the config options by Thalia
 * - Remove Global Vars from ActionPages by wikitrent
 * - Check if user is in electionadmin group by STran

ShortUrl

 * - Fix all excluded errors in PHPCS by zoranzoki21
 * - Move css/ and js/ files into the resources/ for consistency by zoranzoki21

SiteMatrix
No changes for SiteMatrix

SpamBlacklist
No changes for SpamBlacklist

StopForumSpam
No changes for StopForumSpam

SubPageList3
No changes for SubPageList3

SubpageSortkey
No changes for SubpageSortkey

SyntaxHighlight_GeSHi

 * - Avoid console warning when hash is empty by Ed Sanders
 * - VE: Fix highlight of block syntax next to floats by Ed Sanders
 * - Move position:relative to inner wrapper by Ed Sanders
 * - Line number selection: Remove user-select:none by Ed Sanders

TemplateData

 * - Remove inconsistent capitalization of parameter names by Thiemo Kreuz

TemplateSandbox
No changes for TemplateSandbox

TemplateStyles
No changes for TemplateStyles

TemplateWizard
No changes for TemplateWizard

TextExtracts
No changes for TextExtracts

Thanks

 * - Inline class property in tests by Umherirrender
 * - Remove unused jquery.cookie dependency by Niklas Laxström

TheWikipediaLibrary

 * - Update text and remove secondary link by Jsn.sherman

TimedMediaHandler

 * - Sync up with Parsoid timedMediaHandlerParserTests.txt by Subramanya Sastry
 * - Append passed in classes to media attributes by Arlo Breault
 * - Call getMediaAttr before getHtmlMediaTagOutput by Arlo Breault
 * - Move setting units in getMediaAttr by Arlo Breault
 * - Fix casing on function call by Arlo Breault
 * - Use TestingAccessWrapper::newFromObject to simplify tests by Umherirrender

timeline
No changes for timeline

TitleBlacklist
No changes for TitleBlacklist

TocTree
No changes for TocTree

TorBlock
No changes for TorBlock

Translate

 * - SpecialManageGroups: Fix rename dropdown styles on Timeless by Abijeet
 * - Update version before MLEB release by Kartik Mistry
 * - Another fix for Special:SupportedLanguages by Niklas Laxström
 * - MessageUpdateJob: Check GroupSyncCache only for FileBasedMessageGroup by Abijeet
 * - SpecialManageGroups: Use word-wrap for long submit button label by Abijeet
 * - Add flag to toggle the usage of the group synchronization cache  by Abijeet
 * - ExportTranslationsMaintenanceScript: round durations to millisecond accuracy by Niklas Laxström
 * - ExportTranslationsMaintenanceScript: Convert to structured logging by Niklas Laxström

TranslationNotifications
No changes for TranslationNotifications

TrustedXFF
No changes for TrustedXFF

TwoColConflict
No changes for TwoColConflict

UniversalLanguageSelector

 * - Update version before MLEB release by Kartik Mistry
 * - Simplify ext.uls.preferences module by Nikerabbit
 * - Handle corrupted values in input preferences by Niklas Laxström

UploadsLink
No changes for UploadsLink

UploadWizard
No changes for UploadWizard

UrlShortener

 * - Restore focus to alt link after copy by Ed Sanders
 * - JS: Deduplicate some cleanup by putting it in #always by Ed Sanders
 * - Avoid duplicate result widget by Ed Sanders

UserMerge
No changes for UserMerge

VipsScaler
No changes for VipsScaler

VisualEditor

 * - Update VE core submodule to master (a8919f78e) by Ed Sanders
 * - Update VE core submodule to master (ca6a97f42) by Ed Sanders
 * - MWExternalLinkAnnotation: Call core method to evaluate diff by Ed Sanders
 * - Update VE core submodule to master (98c07ef95)  by James D. Forrester
 * - Fix typo in doc comment by Bartosz Dziewoński
 * - MWWikitextStringTransferHandler: Factor out Parsoid->DOM conversion by Ed Sanders
 * - MWSaveDialog: Use MessageWidget (inline, warning) to show save dialog warnings by Ed Sanders
 * - Update VE core submodule to master (36e21385b)  by Bartosz Dziewoński
 * - Follow-up e04e98458: Add missing "Moved down/up" messages by Ed Sanders

WebAuthn
No changes for WebAuthn

Wikibase

 * - SECURITY: Add job to purge entity data on page deletion by Lucas Werkmeister
 * - SECURITY: Add EntityDataPurger by Lucas Werkmeister
 * - Remove Wikibase.NewItemIdFormatter log channel by rosalie
 * - TypeError on Wikidata talk page diff by rosalie
 * - Ensure all entity type definition fields are documented by Lucas Werkmeister
 * - Track FormatterOptions+ParserOptions API usage by Michael Große
 * - Do not catch DBError in SqlSubscriptionManager by Amir Sarabadani
 * - ArticleRevisionVisibilitySetHookHandlerTest: better mock title by Petr Pchelko
 * - Add monolog/monolog depencency by Tobias Andersson
 * - Fix phan error by Amir Sarabadani
 * - Avoid using EntityContentFactory as EntityTitleLookup by Lucas Werkmeister
 * - Wikibase: remove mwlibs-testing and add lib-version-check by Noa wmde
 * - Fix unitStorage documentation by Lucas Werkmeister
 * - Tainted-Ref: replace mwlibs.js with lib-version-check by Noa wmde
 * - Maintenance script for removing deleted items from the term store by rosalie
 * - data-bridge: replace mwlibs-testing with lib-version-check by Noa wmde
 * - bridge: Record time of request in error template by Michael Große
 * - Update unit conversion script by Lucas Werkmeister
 * - Harmonize flags in grouped and ungrouped recent changes by Matěj Suchánek

WikibaseCirrusSearch
No changes for WikibaseCirrusSearch

WikibaseLexeme

 * - Add test for Special:EntityData with Sense/Form ID by Lucas Werkmeister
 * - Run test:mwlibs in `npm run test` by Lucas Werkmeister
 * - WikibaseLexeme: replace mwlibs-testing with lib-version-check by Noa wmde
 * - Add lexeme language codes az-cyrl, ctg and rkt  by Remko de Keijzer

WikibaseLexemeCirrusSearch
No changes for WikibaseLexemeCirrusSearch

WikibaseMediaInfo

 * - Improve function and property documentation by Umherirrender
 * - Distinguish between null continue value and unknown one by annet
 * - Debounce the getResultStyle method by Eric Gardner

WikibaseQualityConstraints

 * - Use lazyPush for CheckConstraintsJob by Lucas Werkmeister
 * - Extract config values in SparqlHelper constructor by Lucas Werkmeister

Wikidata.org
No changes for Wikidata.org

WikidataPageBanner
No changes for WikidataPageBanner

WikiEditor

 * - Don't lowercase image caption/alt when prefilling image fields by Bartosz Dziewoński
 * - Parse alternative magic word translations when prefilling image fields by Bartosz Dziewoński
 * - Allow specifying alt-text in File dialog by Ammar Abdulhamid

wikihiero
No changes for wikihiero

WikiLove
No changes for WikiLove

WikimediaApiPortalOAuth

 * - widget: Hide callback URI for owner-only clients by apaskulin

WikimediaBadges
No changes for WikimediaBadges

WikimediaEditorTasks
No changes for WikimediaEditorTasks

WikimediaEvents

 * - Improve function documentation by Umherirrender

WikimediaIncubator
No changes for WikimediaIncubator

WikimediaMaintenance
No changes for WikimediaMaintenance

WikimediaMessages
No changes for WikimediaMessages

Wikisource

 * - Unescape tooltip text by Sam Wilson
 * - Remove the ElectronPdfService link from sidebar by Sam Wilson

XAnalytics
No changes for XAnalytics

CologneBlue

 * - Render the syslinks menu using data-portlets by jdlrobson

MinervaNeue

 * - Add max-width limit to empty watchlist page  by yash9265

Modern
No changes for Modern

MonoBook
No changes for MonoBook

Nostalgia
No changes for Nostalgia

Timeless
No changes for Timeless

Vector

 * - Align the menu dropdown list to the end of the "more" button. by Jan Drewniak
 * - Rename `wgVectorUseCoreSearch` to `wgVectorUseWvuiSearch` by Nicholas Ray
 * - Languages can be moved out of sidebar by jdlrobson
 * - Allow more control over the max-width rules by jdlrobson
 * - Add missing / for self-closing input element by Raymond
 * - Usages of page-langcode dropped for html-user-language-attributes by jdlrobson

WikimediaApiPortal
No changes for WikimediaApiPortal

VisualEditor

 * - Deep-freeze linear data added by transactions by David Chan
 * - Deep-freeze linear data by Ed Sanders
 * - Diff sidebar: Make font size slightly smaller by Ed Sanders
 * - Show attribute changes as diffs when appropriate by Ed Sanders
 * - Clear node offset cache when leaving read-only mode by Ed Sanders
 * - Add test for node offset caching in readOnly mode by Ed Sanders
 * - Follow-up I1361852: Only cache node offset in readOnly mode by Ed Sanders
 * - Diff sidebar: Fix vertical alignment of move arrow by Ed Sanders
 * - Create a separate descriptionItemsStack for each reflist by Ed Sanders
 * - Deduplicate logic for marking data/HTMLElement as moved by Ed Sanders
 * - Add missing check for move=null in internal list diff by Ed Sanders

Total Changes
286 Changes in 67 repos by 69 authors