MediaWiki 1.38/wmf.2/Changelog

Core changes

 * - Branch commit for wmf/1.38.0-wmf.2 by trainbranchbot
 * - QueryPage: s/Sometime/Sometimes/ by Reedy
 * - Follow-up I210c66c35: Add Parsoid update to RELEASE-NOTES-1.38 by James D. Forrester
 * - Bump wikimedia/parsoid to v0.15.0-a1 by C. Scott Ananian
 * - preferences: Allow wrapping text of "Restore all default settings..." button by Bartosz Dziewoński
 * - Add script to delete a user email's address by Samuel Guebo
 * - Unbreak "show changes" in live preview for page creations by Daimona Eaytoy
 * - Change return format of UndeletePage::undelete by Daimona Eaytoy
 * - ChangeTags: Set interface flag when parsing tag names by Bartosz Dziewoński
 * - Remove hard-deprecated methods returning User from Parser by Petr Pchelko
 * - Change 'fromdbmaster' to WikiPage::READ_LATEST by Umherirrender
 * - Hard deprecate User::setOption by Alexander Vorwerk
 * - Remove the deprecated IP class by Alexander Vorwerk
 * - Allow int on ApiQueryGeneratorBase::setContinueEnumParameter by Umherirrender
 * - Merge mediawiki.widgets.StashedFileWidget module into only user by DannyS712
 * - Soft deprecate PageProps::getInstance by Alexander Vorwerk
 * - resourceloader: Remove execute handling of legacy style formats by DannyS712
 * - GlobalFunctions: Test clean up for wfExpandUrl by Timo Tijhof
 * - resourceloader: Remove `wgCommentByteLimit` from mw.config  by DannyS712
 * - Inject UserFactory into special pages by Alexander Vorwerk
 * - Inject UserIdentityLookup into SpecialLog by Alexander Vorwerk
 * - Ignore pages that can't exist on Special:ListRedirects by Alexander Vorwerk
 * - PHPUnit: enable convertDeprecationsToExceptions by DannyS712
 * - ResourceLoader: remove reference to resolveIndexedDependencies by DannyS712
 * - RELEASE-NOTES-1.38: Tweak wgBrowserFormatDetection introduction by James D. Forrester
 * - Remove $wgShellLocale, always use C by Tim Starling
 * - Update wikimedia/shellbox to 2.1.0 by Kunal Mehta
 * - resourceloader: Add test for getVersionHash in debug mode by Timo Tijhof
 * - docs: LogFormatter: $plaintext and $irctext are booleans by lens0021
 * - Stub threshold: Remove CSS by Ammarpad
 * - Remove stylelint-disable-next-line plugin/no-unsupported-browser-features by Bartosz Dziewoński
 * - resourceloader: Document reasons for forced downgrades to Basic  by Timo Tijhof
 * - checkboxShift.js: fix @class documentation by DannyS712
 * - MovePage: don't create a recent change for a redirect by Petr Pchelko
 * - docs: Fix nullable documentation for class properties by Umherirrender
 * - build: Add /cache to eslintignore by Timo Tijhof
 * - resourceloader: drop some unneeded startup compatibility checks by DannyS712
 * - sql.php: Fix typos by Reedy
 * - Allow skipping $wgMaxImageArea check by Kunal Mehta
 * - Detect and monitor against multiple Parser invocation during edit requests by Cindy Cicalese
 * - Expand local URLs to absolute URLs in ParserOutput by Petr Pchelko
 * - htmlform: Fix checkmatrix row vertical alignment by Bartosz Dziewoński
 * - mediawiki.util: Update addPortletLink to support 'text-wrapper' option by bwang
 * - Update RELEASE_NOTES with replacements by jdlrobson
 * - Remove deprecated skin methods 3 by Ammarpad
 * - Fix code example in IDatabase::makeList documentation by Lucas Werkmeister
 * - Update composer/semver from 3.5.4 to 3.5.5 by Reedy
 * - Update composer/spdx-licenses from 1.5.4 to 1.5.5 by Reedy
 * - Expand set of data returned by SkinTemplate::getTemplateData by Ammarpad
 * - Remove deprecated skin methods 2 by Ammarpad
 * - Revert "resourceloader: add local variable for mw.loader" by Krinkle
 * - resourceloader: remove `return` from mw.Message constructor by DannyS712
 * - resourceloader: Move mw.loader.getModuleNames to mediawiki.base by DannyS712
 * - Use PageUpdater's fluent interface as in some parts of our codebase by Derick Alangi
 * - OutputHandler: Omit debug call for common case by Timo Tijhof
 * - Update doctrine/dbal for PHP >= 7.3 from 3.0.0 to 3.1.2 by Reedy
 * - Update doctrine/dbal for PHP < 7.3 from 2.10.4 to 2.13.3 by Reedy
 * - Fix $wgDisableOutputCompression and $phase checks in OutputHandler by Aaron Schulz
 * - permissions: Avoid null as init for PermissionManager->usersRights cache by Umherirrender
 * - Remove deprecated skin methods (1) by Ammarpad
 * - Hard deprecate SkinTemplate::getPersonalToolsList by Alexander Vorwerk
 * - Hard deprecate Skin::getSkinStylePath by Ammarpad
 * - MysqlUpdater: Add updatelog entries for dropDefault by Reedy
 * - HTMLTitleTextField: Remove B&C code by Martin Urbanec
 * - ActivityUpdateJob: accept PageReference by DannyS712
 * - Drop deprecated BeforeResetNotificationTimestamp hook by DannyS712
 * - API: Fix null docs in ApiBase by Umherirrender
 * - Update block option heading text to match design by STran
 * - UndeletePage cleanup, part 1 by Daimona Eaytoy
 * - Move code from PageArchive to a new UndeletePage command by Daimona Eaytoy
 * - Hiding fallback button depends on HTML order by jdlrobson
 * - Use mw.Title for capitalizing and drop wgCapitalizeUploads by Fomafix
 * - Chinese Conversion Table Update 2021-2 by Chiefwei
 * - Move some methods from FileDeleteForm to a subclass of DeleteAction by Daimona Eaytoy

Vendor

 * - Bump parsoid to 0.15.0-a1  by sbailey
 * - Update wikimedia/shellbox to 2.1.0 by Kunal Mehta
 * - Updating composer/ca-bundle (1.2.8 => 1.2.10) by Reedy
 * - Updating composer/semver (3.2.4 => 3.2.5) by Reedy

AbuseFilter

 * - Stop requiring the Skin interface in AbuseFilterChangesList by Matěj Suchánek
 * - Make mysql/patch-remove-afl_filter.sql valid SQL by Reedy
 * - Remove leftovers of AbuseFilterAflFilterMigrationStage by Daimona Eaytoy
 * - Add method to properly check visibility of AbuseLog entries by Daimona Eaytoy
 * - Remove afl_filter entirely by Daimona Eaytoy
 * - Refactor ParserStatus by Daimona Eaytoy

AdvancedSearch

 * - Consistent code formatting with empty lines by Thiemo Kreuz

ArticlePlaceholder

 * - Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Bump load-grunt-tasks from 3.5.2 to 5.1.0 by Addbot
 * - Add Github Actions Dependabot workflow by toan

CentralAuth

 * - Replace usage of deprecated SkinTemplate::getPersonalToolsList by Alexander Vorwerk
 * - Enable codesniffer ExtendClassUsage.FunctionVarUsage rule by Alexander Vorwerk
 * - Avoid $wgUser deprecation warnings by DannyS712

CentralNotice

 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender
 * - Close all tags in multiselect for jQuery update  by Andrew Green
 * - Add unit test for CentralNotice::sanitizeSearchTerms by Thiemo Kreuz
 * - selenium: Update README file to use @selenium-test by Željko Filipin
 * - Avoid using ContentHandler::getContentText by Alexander Vorwerk
 * - selenium: Update README.md file by sahil
 * - Update small code pieces to use more modern PHP 7 syntax by Thiemo Kreuz
 * - selenium: Upgrade WebdriverIO to v7 by sahil
 * - Explicitly require EventLogging by Elliott Eggleston
 * - Replace link function with linkRenderer by palak199

ChessBrowser

 * - Add tags to display a single position with a static board by DannyS712
 * - Add a11y chessboard grid with labels and pieces by Derk-Jan Hartman
 * - Remove jquery.ui from ext.chessViewer module by Derk-Jan Hartman
 * - SVG optimize the SVG resources by Derk-Jan Hartman
 * - Remove unneeded overflow by Derk-Jan Hartman
 * - Add, expand, and refactor tests by wugapodes
 * - Parse Numeric Annotation Glyphs (NAGs) by wugapodes

Cite

 * - Use .containsValuableData method from transclusion model by Thiemo Kreuz

Cognate

 * - build(deps-dev): bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions Dependabot workflow by toan

Collection

 * - Api: Introduce the `collection-renamechapter` api module by Derick Alangi
 * - Api: Introduce `collection-addchapter` api module by Derick Alangi
 * - Api: Introduce the `collection-addcategory` API module by Derick Alangi
 * - Api: Introduce module to remove an article from a user's collection by Derick Alangi
 * - Introduce api action module to replace onAjaxCollectionSetTitles by TChin
 * - Api: Introduce module to add an article to a user's collection by Derick Alangi
 * - Api: Introduce the `collection-list` API module by Derick Alangi

CommonsMetadata

 * - Remove a temporary hook hack to make absolute URLs by Petr Pchelko

ContentTranslation

 * - CX Skin: Fix missing icons in toolbar by Santhosh Thottingal
 * - CX3 Build 0.1.0+20210927 by Santhosh Thottingal
 * - SX getSubSectionNodes: Fix issue when references are unresolved by NikG
 * - Merge two dependencies into mw.cx.init.Translation by DannyS712
 * - Merge mw.cx.visualEditor.* modules into mw.cx.visualEditor by DannyS712
 * - CXTranslationList: Refactor to use composition api by NikG
 * - SX: Add wgSectionTranslationTargetLanguages config as state variable by NikG
 * - SX: Update dependencies by Santhosh Thottingal
 * - Remove Resource loader module mw.cx.ui.PublishSettingsWidget by Santhosh Thottingal
 * - Mobile Frontend Language search entry point: Redirect to target wiki by Santhosh Thottingal
 * - Merge some widget ResourceLoader modules into their only users by DannyS712
 * - SX: Add lang and dir attributes to Editor view by Santhosh Thottingal
 * - SX: Add redirection to target wiki on target language change by NikG
 * - SXArticleLanguageSelector: Refactor to use composition api by NikG
 * - SX: Add lang and dir to proposed translation content container by Santhosh Thottingal
 * - SX ProposedTranslationCard: Use composition API by Santhosh Thottingal
 * - SX Language selector: Handle search inputs using debounce by Santhosh Thottingal
 * - SX Language selector: Confine the scrolling to search results by Santhosh Thottingal
 * - SX: Provide lang and dir attributes for content compare screen elements by Santhosh Thottingal
 * - SX: Avoid icon size overrides from mw-ui-icon from mw core by Santhosh Thottingal
 * - SX: Use v-model to use language selector, update tests by Santhosh Thottingal
 * - SX MWDialog: Use composition API by Santhosh Thottingal
 * - siteMapper.getCXUrl: Add page and targettitle params only if not null by NikG
 * - SX Remove LanguageSearchEntrypointTargetLanguages config parameter by NikG
 * - SX: Update SectionTranslationTargetLanguage parameter to accept array by NikG

DiscussionTools

 * - Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes by Bartosz Dziewoński
 * - Replace usage of deprecated PageProps::getInstance by Alexander Vorwerk
 * - Use MediaWiki's new section edit summary if the user didn't modify it by Bartosz Dziewoński
 * - Change the "Watch this page" label to distinguish it from topic subscriptions by Bartosz Dziewoński
 * - Enhance Echo user talk edit and mention notifications  by Bartosz Dziewoński
 * - Deduplicate logic for subscribable headings by Bartosz Dziewoński
 * - CommentParser: Remove outdated legacy ID algorithm by Bartosz Dziewoński

Echo

 * - Implement MessageLocalizer in EchoEventPresentationModel by Umherirrender
 * - Avoid using MWNamespace by Alexander Vorwerk

FlaggedRevs

 * - Expand sanitiy checks for null objects by Umherirrender
 * - Avoid using MWNamespace by Alexander Vorwerk
 * - doc: Add missing nullable information by Umherirrender
 * - Fix package-lock.json and api-testing by Lucas Werkmeister
 * - Use new REST DiffHeader endpoint by daniel
 * - Create diffheader endpoint through a RESTful interface by Roman Stolar

Flow

 * - Avoid non-namespaced aliases for Wikimedia\Rdbms namespace by Umherirrender

GeoData

 * - Avoid using MWNamespace by Alexander Vorwerk

GlobalUsage

 * - Avoid using MWNamespace by Alexander Vorwerk

GlobalUserPage

 * - Avoid using MWNamespace by Alexander Vorwerk

GrowthExperiments

 * - Cast unix timestamps to int to make type clear for static analyzer by Umherirrender
 * - updateMenteeData: Fix a typo by Martin Urbanec
 * - Add a link: support swipe navigation in mobile link inspector by MewOphaswongse
 * - updateMenteeData: Do not calculate last edit timestamp twice by Martin Urbanec
 * - Use false for context args of Status::getWikitext by Umherirrender
 * - Fix use of Message::numParams by Umherirrender
 * - Add Image: Insert image into document by Gergő Tisza
 * - Add an image: Save placeholder by Gergő Tisza
 * - Add rejection dialog by Gergő Tisza
 * - Make createRecommendation retrun compatible with parent class by Kosta Harlan
 * - Simplify recommendation provider error handling by Gergő Tisza
 * - Add return types for maybeOverridePreferredEditorWithVE, userPrefersSourceEditor, userHasDisabledVe by MewOphaswongse
 * - Suggested Edits: Update editor preference for tasks that shouldn't open the editor by default by MewOphaswongse
 * - refreshLinkRecommendations: Check if submission already exists by Kosta Harlan
 * - SpecialEditGrowthConfig: Add a sentence about the banner module by Martin Urbanec
 * - updateMenteeData.php: Decrease number of write queries made by Martin Urbanec
 * - Fix a typo in a message by Amir E. Aharoni
 * - Foward metadata errors in ServiceImageRecommendationProvider by Gergő Tisza
 * - Add an image: show suggestion-specific content in image inspector by MewOphaswongse
 * - NewcomerTasks: Excluded templates / categories per task type by Kosta Harlan
 * - Post-edit Panel: Set task.pageviews to null rather than undefined by MewOphaswongse
 * - selenium: Wait for saveOption promise to resolve by Kosta Harlan
 * - Explicitly pass role to callers of MentorStore's set/get functions by Martin Urbanec
 * - Translate mentor dashboard special pages to ar, bn, cs, vi by Martin Urbanec

GWToolset

 * - Support $wgMaxImageArea being false by AntiCompositeNumber

InterwikiSorting

 * - build(deps-dev): Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions Dependabot workflow by toan

JsonConfig

 * - Avoid using MWNamespace by Alexander Vorwerk

MediaSearch

 * - Add Fix script and fix all fixable eslint issue by Simone This Dot
 * - Clean up "did you mean" handling by Roan Kattouw
 * - Close an XSS vulnerability in "did you mean" message by Eric Gardner
 * - Use text instead of parse for MediaSearch UI messages by Eric Gardner
 * - Modify MediaSearch filter behavior and add "all assessments" option by Eric Gardner

MobileApp

 * - Stop defining unused ResourceLoader modules by DannyS712

MobileFrontend

 * - Improve documentation of nullable types by Umherirrender
 * - Change null to [] for html attributes on call of Html functions by Umherirrender
 * - Make sure an IP address is valid by Alexander Vorwerk

OATHAuth

 * - switchTOTPScratchTokensToArray: Don't run a db update unless the row is changed by Reedy

OAuth

 * - Change null to [] for html attributes on call of Html functions by Umherirrender

PageAssessments

 * - Avoid using MWNamespace by Alexander Vorwerk

PagedTiffHandler

 * - Support $wgMaxImageArea being false by Kunal Mehta

PageImages

 * - Replace usage of deprecated PageProps::getInstance by Alexander Vorwerk

PageTriage

 * - Change 'fromdbmaster' to WikiPage::READ_LATEST by Umherirrender
 * - Revert "Remove deprecated date.js library" by Legoktm

PageViewInfo

 * - build: Disable phan option scalar_implicit_cast by Umherirrender
 * - Extract parameter only once in api modules by Umherirrender

PdfHandler

 * - build: Disable phan option scalar_implicit_cast and make pass by Umherirrender
 * - Remove unneeded check for return value of explode by Umherirrender

PropertySuggester

 * - build(deps-dev): Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions Dependabot workflow by toan

QuickSurveys

 * - Export wgEnabledQuickSurveys via package files instead of mw.config by DannyS712

Quiz

 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender

SecurePoll

 * - Implement MessageLocalizer in ActionPage by Umherirrender
 * - Use the new hook system for hooks provided by SecurePoll by Alexander Vorwerk
 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender
 * - Add table and script for mcdc2021 election by Reedy
 * - QoL improvements to purgeDecryptionKeys.php script by Sam Smith
 * - Redefine surplus to accomodate tied candidates by STran

SubpageSortkey

 * - Avoid using MWNamespace by Alexander Vorwerk

TemplateData

 * - Replace usage of deprecated PageProps::getInstance by Alexander Vorwerk

TimedMediaHandler

 * - Fix postgres typo by Reedy
 * - JavaScript: use packageFiles for wgParserEnableLegacyMediaDOM by DannyS712
 * - Merge mw.TextSource module into mw.TimedText by DannyS712
 * - Merge dependencies into mw.MediaWikiPlayer.loader module by DannyS712
 * - Drop unused mw.EmbedPlayerVlc and mw.EmbedPlayerGeneric by DannyS712
 * - Merge mw.ajaxProxy into mw.TextSource by DannyS712
 * - Merge mw.MwEmbedSupport.style module into only user by DannyS712
 * - Drop some unused MwEmbedModuleConfig values by DannyS712
 * - Merge two dependencies into `mw.MwEmbedSupport` module by DannyS712
 * - Merge 10 dependencies into mw.EmbedPlayer module by DannyS712
 * - Clean up mw.EmbedTypes.js and remove commented out code by DannyS712
 * - Grep comments for dynamically created RL module names loading by DannyS712
 * - Merge mw.PopUpMediaTransform.styles module into only user by DannyS712
 * - Remove dead code from mw.checkRequestPost by Kunal Mehta
 * - videojs: Drop the JSON language files, unused by James D. Forrester

timeline

 * - Use BoxedCommand for "easytimeline" Shellbox, not default by Kunal Mehta
 * - Migrate to BoxedCommand, copy structure from Score by Kunal Mehta

Translate

 * - MoveTranslatablePageSpecialPage: Stop extending MovePageForm by Niklas Laxström
 * - Optimize metadata query on Special:Translate by Niklas Laxström
 * - Backports: Preserve order of message keys by Niklas Laxström
 * - Optimize Special:PageTranslation page list metadata query by Niklas Laxström
 * - TranslateUtils: fix phpcs failures by Niklas Laxström
 * - SpecialPageTranslationMovePage: Rename and move to namespace by Abijeet
 * - moveTranslatablePage: Make moving of sub pages the default by Abijeet
 * - TranslateMetadata: log caller info in preloadGroups by Niklas Laxström
 * - PageTranslation: Prevent non-wikitext pages from being marked for translation by AntiCompositeNumber

UniversalLanguageSelector

 * - Update jquery.uls from upstream by Abijeet

VipsScaler

 * - Only show Special:VipsTest if VipsExposeTestPage is true, default false by James D. Forrester

VisualEditor

 * - Stop adding $wgSVGMaxSize to JavaScript config variables by DannyS712
 * - Move .containsValuableData method from dialog to model by Thiemo Kreuz
 * - Implement basic Ctrl+Shift+Up/Down/Del support in new sidebar by Thiemo Kreuz
 * - Sync panels in narrow-view mode by Adam Wight
 * - Add @private tags to template dialog related methods by Thiemo Kreuz
 * - Rename misleading updateOutlineControlButtons event and handler by Thiemo Kreuz
 * - Rename outline "container" widget by Thiemo Kreuz
 * - Unhighlight all items when highlighting by Adam Wight
 * - Don't automatically focus the first parameter of each template by Adam Wight
 * - Prevent scrolling sidebar to heading of subitem by Adam Wight
 * - Don't automatically focus first element by Adam Wight
 * - Document the 3 ways the template dialog can be opened by Thiemo Kreuz
 * - Give the categories box a highlight on hover by David Lynch
 * - Move data model tests to correct directory by Thiemo Kreuz
 * - Order all messages in extension.json alphabetically by Thiemo Kreuz
 * - Disable unwanted auto-scroll feature in template dialog  by Thiemo Kreuz
 * - Always update mode on replace part by WMDE-Fisch
 * - Fix existing templates without TemplateData not showing a link by Thiemo Kreuz
 * - Consolidate messages about missing/bad templates by Thiemo Kreuz
 * - Document optional parameter by Adam Wight
 * - Merge custom "focusin" with "set" event handler  by Thiemo Kreuz
 * - Toggle the watchlist-expiry dropdown's disabled state by Bartosz Dziewoński
 * - Make up/down/remove buttons behave sane on …AddParameterPage by Thiemo Kreuz

WebAuthn

 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender

Wikibase

 * - Clarify comment in mw.wikibase.lua by Lucas Werkmeister
 * - Remove unused noUsageTracking Lua function by Lucas Werkmeister
 * - Replace usage of deprecated PageProps::getInstance by Alexander Vorwerk
 * - Bump grunt from 1.3.0 to 1.4.1 by Addbot
 * - Add SerializableEntityId class by tzhelyazkova
 * - Bump eslint-plugin-compat from 3.9.0 to 3.13.0 by Addbot
 * - Track number of Changes per DispatchChangesJob by Michael Große
 * - Use IDatabase::makeList in SqlSiteLinkConflictLookup by Lucas Werkmeister
 * - Add Github actions dependabot workflow by toan
 * - FP: remove unused service by Jakob Warkotsch
 * - Add logging to new change dispatching by Michael Große
 * - FP: Remove (De)SerializerFactory class aliases by Thomas Arrow
 * - Use constants for ChangeRow fields by Amir Sarabadani
 * - FP: allow enabling fed props without an api source by Jakob Warkotsch
 * - FP: enable Federated Properties in CI by Jakob Warkotsch
 * - Move (De)serializerFactory into (De)serializer Namespace by Thomas Arrow
 * - FP: Change PropertyId to NumericPropertyId by tzhelyazkova
 * - FP: Renable phpcs on packages by Thomas Arrow
 * - FP: Change PropertyId instances by tzhelyazkova
 * - Add index on change_object_id in wb_changes by Amir Sarabadani
 * - tests: Remove use of AtEase by Timo Tijhof

WikibaseCirrusSearch

 * - Add i18n for wbstatementquantity error messages by Erik Bernhardson

WikibaseLexeme

 * - Replace usage of deprecated PageProps::getInstance by Alexander Vorwerk
 * - Use SerializableEntityId instead of EntityId by tzhelyazkova
 * - Bump sinon from 7.5.0 to 11.1.2 by Addbot
 * - Bump jsdom from 11.12.0 to 17.0.0 by Addbot
 * - Bump eslint-plugin-promise from 4.2.1 to 5.1.0 by Addbot
 * - Bump jasmine from 2.99.0 to 3.9.0 by Addbot
 * - Bump @wdio/dot-reporter from 6.11.0 to 7.0.0 by Addbot
 * - Bump @wdio/mocha-framework from 6.11.0 to 7.13.1 by Addbot
 * - Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Bump unexpected-dom from 4.18.0 to 5.0.1 by Addbot
 * - Bump jquery from 3.5.1 to 3.6.0 by Addbot
 * - Bump @wdio/junit-reporter from 6.11.0 to 7.0.0 by Addbot
 * - selenium: Fix failing test when targeting MediaWiki-Docker by Željko Filipin
 * - Add Github Actions Dependabot workflow by toan
 * - FP: tighten (De)SerializerFactory typings again by Thomas Arrow
 * - FP: relax (De)SerializerFactory Typings by Thomas Arrow
 * - Add missing i18n messages for new tags params by Lucas Werkmeister

WikibaseMediaInfo

 * - build: Disable phan option scalar_implicit_cast and make pass by Umherirrender
 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender
 * - Use SerializableEntityId instead of EntityId by tzhelyazkova
 * - Re-enable "mark as prominent" in UW by Matthias Mullie
 * - FP: tighten (De)SerializerFactory typings again by Thomas Arrow
 * - FP: relax (De)SerializerFactory Typings by Thomas Arrow

WikibaseQualityConstraints

 * - build: Disable phan option scalar_implicit_cast and make pass by Umherirrender
 * - build: Disable phan option null_casts_as_any_type and make pass by Umherirrender
 * - Use SerializableEntityId instead of EntityId by tzhelyazkova
 * - Bump jasmine from 3.6.4 to 3.9.0 by Addbot
 * - Bump unexpected from 10.40.2 to 12.0.3 by Addbot
 * - Bump eslint-plugin-jasmine from 4.1.1 to 4.1.2 by Addbot
 * - Bump sinon from 6.3.5 to 11.1.2 by Addbot
 * - Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions Dependabot workflow by toan
 * - FP: tighten (De)SerializerFactory typings again by Thomas Arrow
 * - FP: relax (De)SerializerFactory Typings by Thomas Arrow

Wikidata.org

 * - build(deps-dev): Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions Dependabot workflow by toan

WikiEditor

 * - Revert "Support colon link escapes for categories and files" by Ammarpad

WikimediaBadges

 * - build(deps-dev): Bump grunt from 1.4.0 to 1.4.1 by Addbot
 * - Add Github Actions dependabot workflow by toan

WikimediaIncubator

 * - Don't apply title prefix filter in Special:Search for site project by Erik Bernhardson

MinervaNeue

 * - Fix the download link to use addPortletLink by jdlrobson
 * - Enhance icons of previously added items by jdlrobson
 * - Search header should be vertically centered, not top aligned. by jdlrobson
 * - Improve support in Minerva for addPortletLink by jdlrobson
 * - Add alt attribute to logo by Nicholas Ray

Vector

 * - Wire up sticky header search feature by jdlrobson
 * - Vector menu items are wrapped in spans + improve Vector addPortletLink support  by jdlrobson
 * - Update anon user menu introduction link to be localized and not hardcoded by bwang
 * - Allow multiple search components on the same page by jdlrobson
 * - Prevent gadgets from adding to the sticky header user menu via addPortletLink by bwang
 * - Defer to core for more template data by Ammarpad
 * - Do not use User session in the constructor by jdlrobson
 * - Remove redundant template data by Ammarpad
 * - Fix sticky header language button by bwang

No changes

 * 3D
 * ActiveAbstract
 * AntiSpoof
 * ApiFeatureUsage
 * ArticleCreationWorkflow
 * Babel
 * BetaFeatures
 * BounceHandler
 * Calendar
 * Campaigns
 * Capiunto
 * CategoryTree
 * CharInsert
 * CheckUser
 * CirrusSearch
 * CiteThisPage
 * Citoid
 * CodeEditor
 * CodeMirror
 * CodeReview
 * CologneBlue
 * ConfirmEdit
 * CongressLookup
 * ContactPage
 * CreditsSource
 * Dashiki
 * Disambiguator
 * DismissableSiteNotice
 * DonationInterface
 * DoubleWiki
 * DynamicSidebar
 * Elastica
 * ElectronPdfService
 * EntitySchema
 * EventBus
 * EventLogging
 * EventStreamConfig
 * ExtensionDistributor
 * ExternalGuidance
 * FeaturedFeeds
 * FileExporter
 * FileImporter
 * FundraiserLandingPage
 * FundraisingTranslateWorkflow
 * Gadgets
 * GeoCrumbs
 * GettingStarted
 * GlobalBlocking
 * GlobalCssJs
 * GlobalPreferences
 * GlobalWatchlist
 * GoogleNewsSitemap
 * Graph
 * GuidedTour
 * IPInfo
 * ImageMap
 * InputBox
 * Insider
 * Interwiki
 * Josa
 * Kartographer
 * LabeledSectionTransclusion
 * LandingCheck
 * LdapAuthentication
 * Linter
 * LiquidThreads
 * Listings
 * LocalisationUpdate
 * LoginNotify
 * MachineVision
 * MapSources
 * MassMessage
 * Math
 * MediaModeration
 * Modern
 * MonoBook
 * MultimediaViewer
 * NavigationTiming
 * NearbyPages
 * NewUserMessage
 * Newsletter
 * Nostalgia
 * Nuke
 * OAuthRateLimiter
 * ORES
 * OpenStackManager
 * PageNotice
 * ParserFunctions
 * Poem
 * PoolCounter
 * Popups
 * ProofreadPage
 * RSS
 * ReadingLists
 * RelatedArticles
 * Renameuser
 * RevisionSlider
 * SandboxLink
 * Score
 * Scribunto
 * SearchExtraNS
 * SecureLinkFixer
 * ShortUrl
 * SiteMatrix
 * SpamBlacklist
 * StopForumSpam
 * SubPageList3
 * SyntaxHighlight_GeSHi
 * TemplateSandbox
 * TemplateStyles
 * TemplateWizard
 * TextExtracts
 * Thanks
 * TheWikipediaLibrary
 * Timeless
 * TitleBlacklist
 * TocTree
 * TorBlock
 * TranslationNotifications
 * TrustedXFF
 * TwoColConflict
 * UploadWizard
 * UploadsLink
 * UrlShortener
 * UserMerge
 * VisualEditor/VisualEditor
 * WikiLove
 * WikibaseLexemeCirrusSearch
 * WikidataPageBanner
 * WikimediaApiPortal
 * WikimediaApiPortalOAuth
 * WikimediaEditorTasks
 * WikimediaEvents
 * WikimediaMaintenance
 * WikimediaMessages
 * Wikisource
 * XAnalytics
 * cldr
 * intersection
 * wikihiero

Total changes
351 Changes in 59 repos by 67 authors