MediaWiki 1.34/wmf.23/Changelog

Core changes

 * - wdio-mediawiki: update signatures in README.md by Lucas Werkmeister
 * - Deprecate `$wgSysopEmailBans` by DannyS712
 * - MergeHistory: Update revactor_page too by Brad Jorsch
 * - Use TextFormatter in the REST API by Tim Starling
 * - REST: Properly handle HEAD requests by Tim Starling
 * - Bump PHP version requirement to 7.2.0+  by James D. Forrester
 * - SectionProfiler: Do not attempt to use null values as arrays by Máté Szabó
 * - services: Do not use deprecated ReflectionType::__toString in tests by Máté Szabó
 * - wdio-mediawiki: extract bot function by Lucas Werkmeister
 * - wdio-mediawiki: fix @since versions by Lucas Werkmeister
 * - Make WatchedItemQueryService depend on PermissionManager by Petr Pchelko
 * - Chinese Conversion Table Update 2019-3 by Chiefwei
 * - Note in `Createacct-reason` that the reason provided is publicly visible by DannyS712
 * - objectcache: remove references to recently removed methods by Aaron Schulz
 * - OutputPage: Add visibility to various methods & do some micro-optimizations by Derick Alangi
 * - Update docblocks for methods potentially returning null by Daimona Eaytoy
 * - Remove getMainWANInstance and getMainStashInstance functions by Zoranzoki21
 * - phan: Disable enable_class_alias_support by Umherirrender
 * - mediawiki.page.ready: Convert to packageFiles, remove jquery.checkboxShiftClick by Timo Tijhof
 * - mediawiki.page.ready: Avoid duplicate DOM query on logout click by Timo Tijhof
 * - Integrate module 'jquery.checkboxShiftClick' into 'mediawiki.page.ready' by Fomafix
 * - Update old URLs in DefaultSettings related to Squid caching by Thalia
 * - ChangesListSpecialPage: Cache the change tag list and its summary by Roan Kattouw
 * - resourceloader: Add Doxygen group and improve overall docs by Timo Tijhof
 * - Log DNS blacklist matches with info level, non-matches with debug level by Martin Urbanec
 * - Suppress PhanUndeclaredProperty for custom properties and phan bugs by Daimona Eaytoy
 * - Declare dynamic properties by Daimona Eaytoy
 * - Make doTestLockCalls faster by Aaron Schulz
 * - Storage: Use a more descriptive WAN cache keyclass in 'SqlBlobStore' by Timo Tijhof
 * - actions: Rename Doxygen group from "Action done on pages" to "Actions" by Timo Tijhof
 * - docs: Remove aliases that are only used in tests/ by Timo Tijhof
 * - docs: Disable GENERATE_TESTLIST and GENERATE_BUGLIST by Timo Tijhof
 * - API: Add missing `@ingroup API` to a few Api-related classes by Timo Tijhof
 * - Make PageArchive/WikiPage CDN purges use JobQueueGroup::lazyPush in one batch by Aaron Schulz
 * - Follow-up 7960d53: Mark when the SecondaryDataUpdates and WikiPageDeletionUpdates hooks were deprecated by James D. Forrester
 * - BaseTemplate: Hard-deprecate msgWiki by James D. Forrester
 * - Remove User::setNewpassword by Reedy
 * - deleteLogFormatter: explicitly declare parsedParametersDeleteLog by Daimona Eaytoy
 * - Declare dynamic properties by Daimona Eaytoy
 * - user: Use cached singleton instance variable by Reedy
 * - Remove usages of Title::get{Previous,Next}RevisionId by Petr Pchelko
 * - docs: Exclude extra markdown files from Doxygen by apaskulin
 * - Fix a typo (folow -> follow) by DannyS712
 * - Reset all logging tables together by Adam Wight
 * - Improve MediaWikiIntegrationTestCase::resetDB by Lucas Werkmeister
 * - Remove dead code from RCCacheEntryFactory by Matěj Suchánek
 * - output: Narrow Title type hint to LinkTarget by Thiemo Kreuz
 * - Fix a typo (yeild -> yield) by DannyS712
 * - Make CdnCacheUpdate::expand private and update the sole caller by Aaron Schulz
 * - Fix spaces in doc comments by Umherirrender
 * - Avoid Database::tableName in WikiExporter by Umherirrender
 * - Fix param docs and passed type of UserMailer::sendWithPear by Umherirrender
 * - Add namespace restrictions to `meta=siteinfo&siprop=namespaces` API result by DannyS712
 * - Allow logging arbitrary extra data in MWExceptionHandler::logException by Gergő Tisza
 * - StreamFile: Merge duplicate switch cases 'jpg' and 'jpeg' by Derick Alangi
 * - StreamFile: Deprecate ::parseRange and ::send404Message methods by Derick Alangi
 * - filebackend: Use HTTPFileStreamer::send404Message in caller instead by Derick Alangi
 * - Resources: Consistently use base paths without trailing '/' by Fomafix
 * - Make SpecialBlankPageTest independend from the language by Thiemo Kreuz
 * - changes: Fix wrong typehint by Daimona Eaytoy
 * - libs: Declare dynamic properties and improve doc types by Daimona Eaytoy
 * - Replace usages of deprecated User::isAllowed. Step 2. by Petr Pchelko
 * - Fix XMP parser errors due to trailing nullchar by Derk-Jan Hartman
 * - Make DefaultPreferencesFactory depend on PermissionManager. by Petr Pchelko
 * - Cleanup File::purgeEverything to use JobQueueGroup::lazyPush in one batch by Aaron Schulz
 * - Cleanup LinksUpdate::invalidateProperties to use JobQueueGroup::lazyPush in one batch by Aaron Schulz
 * - Cleanup field visibility and comments in CdnCacheUpdate and HTMLCacheUpdate by Aaron Schulz
 * - Cleanup Title::touchLinks to use JobQueueGroup::lazyPush in one batch by Aaron Schulz
 * - Title: Fix case mismatch for function/method calls by Derick Alangi
 * - deferred: Fix MW version number when hard deprecating to '1.34' by Derick Alangi
 * - mediawiki.util: Add debounce function by Timo Tijhof
 * - Expose LinksUpdate recursive flag with a getter by David Causse
 * - mw.ForeignApi: don’t set origin for same-origin requests by Lucas Werkmeister
 * - SpecialRunJobs: optional output stats and status. by daniel
 * - Change the Balinese language autonym to "Bali" by Amir Aharoni
 * - Pass the user and request into BlockManager::getUserBlock by Thalia
 * - Allow users who are partially blocked to delete revisions. by David Barratt
 * - Update OOUI to v0.34.1    by Volker E
 * - mediawiki.special.userlogin.signup: Remove unused debounce dependency by Timo Tijhof
 * - mediawiki.util: Improve escapeId* docs and minor optimisations by Timo Tijhof
 * - mediawiki.util: Remove redundant IE8 support from addCSS by Timo Tijhof
 * - jquery.color: Merge $.colorUtil back into this module by Timo Tijhof
 * - Standardise preview warning box when using ?action=edit by jdlrobson
 * - Add general messagebox (neutral) styling to shared.css by Volker E
 * - SpecialExpandTemplates: Add semantic 'errorbox' class to error by Volker E
 * - Deprecate $wgContentHandlerUseDB by Brad Jorsch
 * - Fix property filter for ApiQueryStashImageInfo::getPropertyNames by Umherirrender
 * - dispatchUser should use a 302 http status code by sbassett
 * - Allow partially blocked users to tag unrelated revisions by David Barratt
 * - Restore FileBackendStoreOpHandle::call by Daimona Eaytoy
 * - Revert "Improve MultiHttpClient connection concurrency and reuse" by Reedy
 * - specials: Declare dynamic properties by Daimona Eaytoy
 * - widget: Improve properties documentation by Daimona Eaytoy
 * - resourceloader: Replace Xml::encodeJsCall by encodeJsonForScript by Fomafix
 * - resourceloader: Remove comment about XmlJsCode wrapper by Fomafix

Vendor

 * - Update OOUI to v0.34.1 by Volker E

3D

 * - mmv.3d: Don't try to use internal (now removed) ext property of mw.Title by James D. Forrester

AbuseFilter

 * - Show link to test filter to all users who can use it by DannyS712
 * - Prevent blocked users from using /revert by Daimona Eaytoy
 * - Throw AFPUserVisibleExceptions for empty operands in CachingParser by Daimona Eaytoy
 * - Better logging for unset variables by Daimona Eaytoy
 * - Use dieBlocked instead of directly using apierror-blocked by Daimona Eaytoy
 * - CachingParser: ensure to catch errors inside short-circuited blocks by Daimona Eaytoy
 * - Annotate the AST with var names before caching the AST by Daimona Eaytoy
 * - Prohibit sitewide blocked users from restoring autopromotion by DannyS712
 * - Don't show the form for restoring autopromotion to unprivileged users by Daimona Eaytoy
 * - Actually return errors for action=edit API by Bartosz Dziewoński

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

CategoryTree
No changes for CategoryTree

CentralAuth

 * - Fix some typos in the code comments/documentation by MarcoAurelio
 * - Make `onAbuseFilterShouldFilterAction` static  by DannyS712
 * - Tell AbuseFilter not to filter moves during a rename by Daimona Eaytoy

CharInsert
No changes for CharInsert

CheckUser
No changes for CheckUser

CirrusSearch

 * - Selenium: fix selenium-daily-beta-CirrusSearch Jenkins job  by Zfilipin
 * - Add support OR in hastemplate by David Causse
 * - Fix new morelikethis browser test by David Causse
 * - Add a new query api prop: QueryCompSuggestBuildDoc by David Causse
 * - Upgrade cucumber to node10 compatible version by Erik Bernhardson
 * - Stop using PHP_SAPI != 'cli' to route jobs to the prioritized queue by David Causse

Cite
No changes for Cite

CiteThisPage
No changes for CiteThisPage

Citoid

 * - build: Update linters by Ed Sanders

cldr
No changes for cldr

Cognate
No changes for Cognate

CodeEditor
No changes for CodeEditor

CodeMirror

 * - build: Update linters by Ed Sanders

CodeReview
No changes for CodeReview

CollaborationKit

 * - Reuse skin toc styles and simplify hubpage and subpage tocs  by Isarra
 * - Properly register tracking categories in extension.json by Isarra
 * - Align form stuff better by Isarra
 * - Consolidate colour selection down to ten base colours by Isarra
 * - Add tracking categories to hubs and lists by Isarra

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

 * - Fix: Articles published with Content Translation are no longer linked to Wikidata by Santhosh Thottingal
 * - Don't auto flip gray interlanguage link dialog by petarpetkovic
 * - Avoid exception in site mapper constructor by Niklas Laxström
 * - Merge mw.cx.ui.TranslationIssueWidget with mw.cx.tools.IssueTrackingTool by petarpetkovic
 * - Merge mw.cx.ui.TitleOptionWidget into mw.cx.ui.PageSelectorWidget by petarpetkovic
 * - Fix indentations in site mapper docs by petarpetkovic
 * - Remove two variables on every page view by using packageFiles by Niklas Laxström
 * - Show Abuse Filter errors on sections even if there is no message body by petarpetkovic
 * - Update Abuse Filter error handling code by petarpetkovic
 * - Remove obsolete abuse filter error handling in CX1 by petarpetkovic
 * - Fix typo in ApiContentTranslationSave.php by petarpetkovic
 * - Optimize when ext.cx.interlanguagelink is loaded by petarpetkovic

ContributionTracking
No changes for ContributionTracking

CreditsSource
No changes for CreditsSource

Dashiki
No changes for Dashiki

Disambiguator
No changes for Disambiguator

DismissableSiteNotice
No changes for DismissableSiteNotice

DonationInterface

 * - Add IE to Adyen form settings by Elliott Eggleston
 * - Center payment icons for mobile by XenoRyet
 * - Revert "Privacy policy update notice - leave in place for 1 mo" by Elliott Eggleston
 * - Add missing titles to form fields by Elliott Eggleston
 * - Cancel text for error form by Elliott Eggleston
 * - Trim trailing newlines from mustache partials by Elliott Eggleston

DoubleWiki
No changes for DoubleWiki

DynamicSidebar
No changes for DynamicSidebar

EUCopyrightCampaign
No changes for EUCopyrightCampaign

Echo

 * - Inject PermissionManager into Userrightspage in tests by mainframe98

Elastica
No changes for Elastica

ElectronPdfService
No changes for ElectronPdfService

EntitySchema
No changes for EntitySchema

EventBus

 * - Remove LegacyEventFactory. by Petr Pchelko
 * - Fix CentralNoticeCampaignChange hook handler failing with null's by Thiemo Kreuz

EventLogging
No changes for EventLogging

ExtensionDistributor
No changes for ExtensionDistributor

ExternalGuidance
No changes for ExternalGuidance

FeaturedFeeds
No changes for FeaturedFeeds

FileExporter
No changes for FileExporter

FileImporter

 * - SpecialImportFileIntegrationTest: Independent from local config by Thiemo Kreuz
 * - Remove unused Config from WikiRevisionFactory by Thiemo Kreuz
 * - SourceWikiCleanupSnippet: Pass bool flags instead of global config by Thiemo Kreuz
 * - Use PHPUnits assertFalse and such where possible by Thiemo Kreuz
 * - Turn @return PHPDocs into strict PHP 7 return types by Thiemo Kreuz
 * - Use wfExpandUrl instead of hard-coded strings by Thiemo Kreuz
 * - Log response headers and actual URL for remote API failures by Adam Wight
 * - Use https rather than protcol-relative remote API URLs by Adam Wight
 * - Make InterwikiTablePrefixLookup::prefetchInterwikiMap private by Thiemo Kreuz
 * - Add missing space to log message by Thiemo Kreuz
 * - Remove dependency on all config from InterwikiTablePrefixLookup by Thiemo Kreuz
 * - Rename $sourceUrlPrefixer to $prefixLookup in a test by Thiemo Kreuz
 * - Send a User-Agent with remote API requests by Adam Wight
 * - Add link to Licensing to the relevant warning messages by Thiemo Kreuz
 * - Remove some tiny pieces of unused code by Thiemo Kreuz
 * - Add debug logging for remote API failures by Adam Wight
 * - Present missing/bad license errors as (unfixable) warnings by Thiemo Kreuz
 * - Remove unused PostImportException by Thiemo Kreuz
 * - Avoid slow Hamcrest HTML assertions where possible by Thiemo Kreuz
 * - Exclude the Project namespace from unlocalization by Thiemo Kreuz

FlaggedRevs

 * - Add missing "use" to getTopReviewers by Aaron Schulz

Flow

 * - Inject ObjectFactory into ApiModuleManager by mainframe98

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

 * - Replace Linker::link usage with LinkRenderer by Matěj Suchánek

GlobalCssJs
No changes for GlobalCssJs

GlobalPreferences
No changes for GlobalPreferences

GlobalUsage
No changes for GlobalUsage

GlobalUserPage
No changes for GlobalUserPage

GoogleNewsSitemap
No changes for GoogleNewsSitemap

Graph
No changes for Graph

GrowthExperiments

 * - ApiQuestionStore: Allow help panel questions to be queried by Roan Kattouw
 * - Homepage: Remove question asking functionality from help module by Roan Kattouw
 * - Standardize error handling by Gergő Tisza
 * - Use more conventional API error handling by Gergő Tisza
 * - Homepage: Fix start module layout bugs   by Roan Kattouw
 * - Homepage discovery for desktop no-JS users by Kosta Harlan

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

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

Listings
No changes for Listings

LocalisationUpdate
No changes for LocalisationUpdate

LoginNotify
No changes for LoginNotify

MachineVision

 * - Add aliases for some languages by Zoranzoki21
 * - Rename Special:MachineAidedTagging to Special:SuggestedTags by Michael Holloway
 * - build: Add i18n/api to banana checker by Umherirrender
 * - Add headless JS unit tests using mw-node-qunit library by Eric Gardner
 * - Update README handler config by Michael Holloway
 * - Change behavior of accepted/rejected labels by Eric Gardner

MapSources
No changes for MapSources

MassMessage
No changes for MassMessage

Math

 * - build: Update linters by Ed Sanders
 * - Remove unused config variables from extension.json by Moritz Schubotz (physikerwelt)
 * - Use renamed OOUI icon 'labFlask' by Volker E

MobileApp
No changes for MobileApp

MobileFrontend

 * - Hygiene: ContentProviderFactory should become a service by Piotr Miazga
 * - Remove obsolete `.previewnote p` selector by Volker E
 * - Search within pages icon should always be aligned with input icon by jdlrobson
 * - mobile.init/editor: Fix exception when loading on action=edit URLs by Bartosz Dziewoński
 * - mobile.init/editor: Fix handling loading errors other than being blocked by Bartosz Dziewoński
 * - EditorGateway: Remove unnecessary module preloading by Bartosz Dziewoński
 * - mobile.init/editor: Fix triggering section edits by Bartosz Dziewoński
 * - Follow up to diff pages text sizing and icon positioning by jdlrobson
 * - Updates for overlay padding-top fixes by Bartosz Dziewoński
 * - 📖 Document the relationship between the editor overlay and block drawers by jdlrobson
 * - Address Special:MobileDiff text and bytes changed regressions by jdlrobson
 * - Provide feature for exposing desktop Special:Watchlist page by Jan Drewniak
 * - Replacing Anchors with Button component in talk overlay by Jan Drewniak
 * - Search content margin should match search input by jdlrobson
 * - Flush reference drawer and Special:MobileDiff icons to relevant places by jdlrobson
 * - Fix styling of edit publish and talk contine buttons by jdlrobson
 * - Remove unneccessary icon CSS after icon refactor by Jan Drewniak
 * - mobile.init/fakeToolbar: Update styles for icon changes by Bartosz Dziewoński
 * - Update storybook to use new mw-ui-icon definition by jdlrobson
 * - Prepare for the icon changes by jdlrobson
 * - Fix Storybook amOutreachDrawer icon by Nicholas Ray
 * - Dev: Pull out SearchHeader from SearchOverlay by jdlrobson
 * - Tests: Add some unit tests for Search feature by jdlrobson
 * - Dev: Include all files in code coverage reports by jdlrobson
 * - Restore arrows to ImageCarousel by jdlrobson
 * - SourceEditorOverlay: Fix CSS class name error → errorbox by Bartosz Dziewoński
 * - userAvatar on diff page different variant from contributions by jdlrobson
 * - Exclude docs from code coverage reports by jdlrobson
 * - Add new EditAttemptStep stage: firstChange by David Lynch
 * - Limit Istanbul to test env by Nicholas Ray
 * - Code coverage reports should exclude entry points by jdlrobson
 * - Add more assertions to AmcEnableForm.test.js by Nicholas Ray
 * - Code coverage reports are more accurate with babel-plugin-istanbul by jdlrobson
 * - Add unit tests for BetaOptinPanel by jdlrobson
 * - Remove all the icon hacks by jdlrobson
 * - Update icon variants in storybook by jdlrobson
 * - VisualEditorOverlay: Fix flickering on load by Bartosz Dziewoński
 * - Change height of overlay headers to 3em by Bartosz Dziewoński

MultimediaViewer

 * - mmv: Don't try to use internal (now removed) ext property of mw.Title by James D. Forrester

NavigationTiming
No changes for NavigationTiming

Newsletter

 * - Fix the settings icon by artrix

NewUserMessage
No changes for NewUserMessage

Nuke
No changes for Nuke

OATHAuth
No changes for OATHAuth

OAuth

 * - Avoid mentioning real names on wikis which do not use it by Gergő Tisza

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

 * - Fix addition of extraneous parameters when advancing to next article. by DannyS712
 * - ActionQueue: Allow for invoking multiple actions by Moriel Schottlender
 * - Add ability to filter by date range in Special:NewPagesFeed by hmonroy
 * - Adding page to the queue functionality by Max Semenik
 * - Add an asynchronous ActionQueue for external tools by Moriel Schottlender
 * - Prevent all notification badges from obscuring clicks on toolbar icons by Sam Wilson

PageViewInfo
No changes for PageViewInfo

ParserFunctions
No changes for ParserFunctions

ParsoidBatchAPI
No changes for ParsoidBatchAPI

PdfHandler
No changes for PdfHandler

PerformanceInspector
No changes for PerformanceInspector

Petition
No changes for Petition

Poem
No changes for Poem

PoolCounter
No changes for PoolCounter

Popups

 * - Build: Update linters by Ed Sanders

ProofreadPage
No changes for ProofreadPage

PropertySuggester
No changes for PropertySuggester

QuickSurveys
No changes for QuickSurveys

Quiz
No changes for Quiz

ReadingLists

 * - Inject ObjectFactory into ApiModuleManager by mainframe98

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

 * - build: Update linters by Ed Sanders

Scribunto
No changes for Scribunto

SearchExtraNS
No changes for SearchExtraNS

SecureLinkFixer

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

SecurePoll
No changes for SecurePoll

Sentry
No changes for Sentry

ShortUrl
No changes for ShortUrl

SiteMatrix
No changes for SiteMatrix

SkinPerPage
No changes for SkinPerPage

SpamBlacklist

 * - Actually return errors for action=edit API by Bartosz Dziewoński
 * - Remove backwards compatibility code for Revision::getQueryInfo by Bartosz Dziewoński

SubPageList3
No changes for SubPageList3

SubpageSortkey
No changes for SubpageSortkey

SyntaxHighlight_GeSHi
No changes for SyntaxHighlight_GeSHi

TemplateData

 * - Merge 'ext.templateDataGenerator.ui.images' into 'ext.templateData.images' by Timo Tijhof
 * - Merge 'ext.templateDataGenerator.ui' into 'ext.templateDataGenerator.editTemplatePage' by Timo Tijhof

TemplateSandbox

 * - Standardise preview error and warning messages by Volker E

TemplateStyles
No changes for TemplateStyles

TemplateWizard
No changes for TemplateWizard

TextExtracts
No changes for TextExtracts

Thanks

 * - Create mobile thanks using the mobile library by jdlrobson

TheWikipediaLibrary
No changes for TheWikipediaLibrary

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

 * - Use correct version number for code marked for removal by Niklas Laxström
 * - Add new validators to match newlines in translations by Abijeet Patro
 * - Mark custom AbuseFilter and SpamBlacklist handling for removal by Niklas Laxström
 * - Add GettextPluralValidator by Niklas Laxström
 * - Let the special page factory construct the Movepage instance by mainframe98
 * - Format numbers properly in MediaWiki plural validator messages by Niklas Laxström
 * - Defer message group stats update in message index rebuild by Niklas Laxström

TranslationNotifications

 * - Replace Linker::link usage with LinkRenderer by Matěj Suchánek

TrustedXFF
No changes for TrustedXFF

TwoColConflict

 * - Standardise preview warning box by Volker E

UniversalLanguageSelector

 * - build: Update linters by Ed Sanders

UploadsLink
No changes for UploadsLink

UploadWizard
No changes for UploadWizard

UrlShortener
No changes for UrlShortener

UserMerge
No changes for UserMerge

VipsScaler
No changes for VipsScaler

VisualEditor

 * - Remove cache group setting from styles modules by Timo Tijhof
 * - ApiVisualEditorEdit: Remove special handling for SpamBlacklist by Bartosz Dziewoński
 * - Add new EditAttemptStep stage: firstChange by David Lynch
 * - Add unit tests for read-mode reference filter by Ed Sanders
 * - Use MW import rules in MW tests by Ed Sanders
 * - Add another looser selector for catching pasted references by Ed Sanders
 * - ve.init.mw.MobileArticleTarget: Really deactivate the surface by Bartosz Dziewoński

Wikibase

 * - bridge: initialize MessagesRepository in createServices by Lucas Werkmeister
 * - bridge: simplify createServices.spec.ts by Lucas Werkmeister
 * - bridge: create message service by bitPogo
 * - bridge: test app entry point by bitPogo
 * - bridge: prefer toHaveBeenCalled* over toBeCalled* by Lucas Werkmeister
 * - Travis: No longer test PHP 7.0/7.1 by Marius Hoch
 * - Introduce Basic TaintedIcon by Thomas Arrow
 * - bridge: use edit tags directly by bitPogo
 * - bridge: global mock clear by bitPogo
 * - bridge: vertically align EventEmittingButton text by Pablo Grass
 * - bridge: add browser tests for property label by Lucas Werkmeister
 * - Move jquery.wikibase.entitysearch into packageFiles by Jakob Warkotsch
 * - Setup some Vue fundamentals for TaintedRefs by Thomas Arrow
 * - Drop RL 13 modules that are not used anywhere by Amir Sarabadani
 * - Revert "Generate fallback summary messages based on changed parts on entity" by Jakob
 * - bridge: use InitializedApplication on tests by bitPogo
 * - bridge: add squary option to EventEmittingButton by Pablo Grass
 * - bridge: make use of editTags by bitPogo
 * - Drop jquery.valueview.experts.SuggestedStringValue by Amir Sarabadani
 * - Update unspecific "array" and upper-case "Array" PHPDoc types by Thiemo Kreuz
 * - bridge: create config variable for tags by bitPogo
 * - TR: Adapt wikibase.statement.saved to include old and new statement by Noa Rave
 * - StatementsChanger: Keep track of an entity's statements by Marius Hoch
 * - bridge: External Events by bitPogo
 * - bridge: mend EventEmittingButton per OOUI by Pablo Grass
 * - bridge: copy EventEmittingButton by bitPogo
 * - Use qqx language in SpecialEntityUsageTest by Lucas Werkmeister
 * - bridge: use PropertyLabel in StringDataValue by Lucas Werkmeister
 * - bridge: add PropertyLabel component by Lucas Werkmeister
 * - bridge: Initialize EntityLabelRepository in Services by Michael Große
 * - Skip browser test checking edit links on old revisions  by Jakob Warkotsch
 * - Drop jquery.util.adaptlettercase by Amir Sarabadani
 * - bridge: InitializedEntityState by bitPogo
 * - bridge: save label in store by bitPogo
 * - bridge: Ensure responsiveness by bitPogo
 * - Introduce statementsChangerState and use by Thomas Arrow
 * - Move WikibaseView-only modules from lib/resource/lib to WikibaseView by Amir Sarabadani
 * - Merge wikibase.client.getMwApiForRepo and wikibase.client.linkitem by Amir Sarabadani
 * - bridge: handle property without label in language by Pablo Grass
 * - bridge: Introduce EntityLabelRepo to services by bitPogo
 * - bridge: Adjust Language interface by bitPogo
 * - bridge: add missing service test by bitPogo
 * - bridge: implement ForeignApiEntityLabelRepository by Michael Große
 * - TR: Configure a feature flag for Wikibase Tainted References by Noa Rave
 * - PSR-4 autoload more of Wikibase Client by Lucas Werkmeister
 * - Generate fallback summary messages based on changed parts on entity by alaasarhan
 * - Enable wikibase.client.css for timeless by Simon Legner

WikibaseCirrusSearch
No changes for WikibaseCirrusSearch

WikibaseLexeme

 * - Move wikibase.lexeme.special.NewLexeme.styles into wikibase.lexeme.special.NewLexeme by rosalie
 * - Use separate test modules for packageFiles tests by Jakob Warkotsch
 * - NewLexeme.js: remove related namespace module and files by Jakob Warkotsch
 * - Deduplicate test file names by Jakob Warkotsch
 * - Use packageFiles to manage Special:NewLexeme js dependencies by Jakob Warkotsch
 * - Remove usages of deprecated User methods. by Petr Pchelko
 * - Fix SpecialNewLexemeTest after permissions update by Lucas Werkmeister

WikibaseLexemeCirrusSearch
No changes for WikibaseLexemeCirrusSearch

WikibaseMediaInfo

 * - Add links to autocomplete options to enable middle-clicking by annet
 * - Add tests for GlobeCoordinateInputWidget by Matthias Mullie
 * - Improve StatementWidget test coverage by Matthias Mullie
 * - Improve ItemWidget test coverage by Matthias Mullie
 * - Add more tests to confirm 'change' events are emitted consistently by Matthias Mullie
 * - Add tests for AddPropertyWidget by Matthias Mullie
 * - Add more tests for expected QualifierValueInputWidget behavior by Matthias Mullie
 * - Make unsupported datatypes roundtrip properly by Matthias Mullie
 * - Add summary and tags parameters to StatementWidget by Lucas Werkmeister
 * - Skip formatValue calls for input types where we don't need it by Matthias Mullie
 * - Improve DOM merge logic - nodes with different props are not equal by Matthias Mullie

WikibaseQualityConstraints

 * - Slightly optimize RangeCheckerHelper::__construct by Lucas Werkmeister
 * - Don’t make network requests in DelegatingConstraintCheckerTest by Lucas Werkmeister
 * - Radically reduce ImportConstraintEntitiesTest data by Lucas Werkmeister

Wikidata.org
No changes for Wikidata.org

WikidataPageBanner
No changes for WikidataPageBanner

WikiEditor

 * - Update SpamBlacklist error logging by Bartosz Dziewoński
 * - Implement firstChange logging by David Lynch

wikihiero
No changes for wikihiero

WikiLove
No changes for WikiLove

WikimediaBadges
No changes for WikimediaBadges

WikimediaEditorTasks
No changes for WikimediaEditorTasks

WikimediaEvents

 * - Update EditAttemptStep version by David Lynch

WikimediaIncubator
No changes for WikimediaIncubator

WikimediaMaintenance

 * - blameStartupRegistry.php: Add total count/bytes by Timo Tijhof

WikimediaMessages

 * - Add Serbian cases for Wikiversity by Zoranzoki21
 * - Load interactions icons for feedback link on Special:Block by Thalia

XAnalytics
No changes for XAnalytics

CologneBlue
No changes for CologneBlue

EUCopyrightCampaignSkin

 * - BaseTemplate::msgWiki is deprecated by Max Semenik

MinervaNeue

 * - build: Update linters by Ed Sanders
 * - Fix icon alignment & padding of last-modified bar by Jan Drewniak
 * - Correct personal and overflow menu padding and positioning by jdlrobson
 * - Generalize SearchOverlay styles to all "header-chrome" overlays by Bartosz Dziewoński
 * - Only apply padding-top to overlays with headers by Bartosz Dziewoński
 * - Align right-most header icon with content. by Jan Drewniak
 * - Last modified bar background should fill entire bar by jdlrobson
 * - Adjust notification icon to be the same size as the other icons by jdlrobson
 * - Add general messagebox (neutral) styling to shared.css by Volker E
 * - Utilize the mw-ui-icon-flush-left/right classes to align icons by Jan Drewniak
 * - Fix truncated text showing through icons & last-modified bar  by Jan Drewniak
 * - Fix Main Menu text alignment problems by Nicholas Ray
 * - Drop width declaration on close button by jdlrobson
 * - [ICONS] Fix icon positions in page-issues, inline and overlay by Jan Drewniak
 * - New mw-ui-icon spec for Minerva by Jan Drewniak
 * - Prepare for new mw-ui-icon spec for Minerva by Jan Drewniak
 * - Rename UserRights to UserGroups by Piotr Miazga
 * - SearchOverlay: Fix position of the 'clear' button by Bartosz Dziewoński
 * - Remove the mw-ui-icon hacks and overrides by jdlrobson
 * - Also set `bottom` attribute on icon glyphs by jdlrobson
 * - Show darker background when toggle list is open by Piotr Miazga
 * - Remove obsolete `.previewnote p` selector by Volker E
 * - Change height of overlay headers to 3em, keep site header unchanged by Bartosz Dziewoński

MonoBook
No changes for MonoBook

Modern
No changes for Modern

Nostalgia
No changes for Nostalgia

Timeless

 * - Render unnecessarily large 2x logos to ensure we support unnecessarily high-res devices by Isarra
 * - Create wrapper for all junk below firstHeading, including nav stuff by Isarra
 * - Prevent edtisection icons from getting clipped by Isarra
 * - Prevent thumbnails from overflowing their backgrounds when coupled with random other floats where they don't fit by Isarra
 * - Prevent long sitenames from overflowing out of column and stuff by Isarra
 * - Consolidate and make monospace styles more consistent by Isarra
 * - Revert "Add settings to use a particular layout even at higher resolutions" by Krinkle
 * - Increase filetoc contrast, make it stand out more by Isarra

Vector

 * - Decrease onresize debounce from 100ms to 10ms by Timo Tijhof
 * - Use mw.util.debounce in collapsibleTabs.js by Timo Tijhof
 * - vector.js: Use idle callback (not rAF) for computed style read by Timo Tijhof

Total Changes
365 Changes in 50 repos by 74 authors