MediaWiki 1.35/wmf.21/Changelog

Core changes

 * - Update MW_VERSION to 1.35.0-wmf.21
 * - Include wmf/1.35.0-wmf.21 submodules and default settings
 * - updateCollation.php: fix PHP error
 * - [docker] Adjust UID/GID variable names
 * - Fix conditional phan config for Excimer
 * - Don't use a dynamic hook name when calling a hook
 * - MediaWikiVersionFetcher: Change regex to capture any quoted string
 * - Update all use of $wgVersion to MW_VERSION
 * - Provide MW_VERSION and deprecate fake global $wgVersion
 * - extension.schema.v2: Fix schemas for 'templates'
 * - GallerySlideshow.setSizeRequirement: Account for unrounded values on width/height
 * - Hard deprecate Revision::userCanBitfield
 * - [JavaScript] show / hide skin Special:Preferences
 * - parser: only apply $wgMiserMode to self-references in CoreParserFunctions::revisionid
 * - Update you-should-set-a-logo reminder to point to $wgLogos, not $wgLogo
 * - Inject language services into ApiQueryLanguageinfo
 * - Remove unused jquery.getAttrs module
 * - Fix broken link syntax in DEVELOPERS.md
 * - parser: apply $wgMiserMode restriction to self-referencial
 * - qunit: Remove use of jquery.getAttrs
 * - Remove unused StringUtils::explodeMarkup
 * - database: Prevent installer from crashing when process group can't be determined
 * - Hard deprecate all methods of old SpecialPageFactory
 * - rdbms: Fix typo in IDatabase::insert docs
 * - Docs: Remove reference to `UploadVerification` hook, removed in 1.34
 * - [doc] [PHP] fix wfDeprecated description
 * - Follow-up b7debf8: RELEASE-NOTES-1.35: Correct $wgLogos historiography
 * - Remove extra indents
 * - AccountCreation: Add user confirmation if reason is email address
 * - Hard deprecate Title::userCan and ::quickUserCan
 * - Remove multi-empty lines
 * - mediawiki.searchSuggest: Inline use of serializeObject
 * - build: Upgrade mediawiki-phan-config to 0.9.2
 * - Remove $wgFixArabicUnicode and $wgFixMalayalamUnicode
 * - Make default $bookstoreList more international
 * - mediawiki.base: Add cross-browser normal stack trace to error object
 * - ResourceLoaderSkinModule: Don't hard-deprecate wgLogoHD just now
 * - Add configuration for Docker based development environment
 * - Deprecate calling FileDeleteForm::doDelete without passing a user
 * - Fix the namespace of SpecialPageFactory
 * - localisation: Remove ":" from store class debug message
 * - IndexPager: Limit offset params to the max of the indices available
 * - img_auth: Avoid various usage of deprecated code and also optimize
 * - user: Use more native PHPUnit assertions in UserTest
 * - title-invalid-talk-namespace: "can not" -> "cannot"
 * - Remove Title move functions, deprecated in favor of MovePage class
 * - Use __METHOD__ instead of __FUNCTION__
 * - Hard deprecate WebRequest::getLimitOffset
 * - Hard deprecate Article::insertProtectNullRevision
 * - Remove CommentStore::newKey, deprecated and unused
 * - resourceloader: Skip mw.loader.store tests if it's disabled
 * - mediawiki.api: Fix mw.api.options unit tests when logged in
 * - Remove use of global $wgUser in Linker::userToolLinks
 * - Tests: Pass a user to FileDeleteForm::doDelete
 * - Deprecate falling back to $wgUser in some functions
 * - ApiMain: Add support for assert=anon
 * - mediawiki.api: Correct documentation of postWithToken
 * - UserDef: Don't return incomplete UserIdentityValues
 * - mediawiki.user: Switch sessionId back to session-cookie persistence
 * - resourceloader: fix SqlDependencyModuleStore::setMulti to use upsert
 * - Inform users about common.js's power
 * - Make ipblocks table documentation more descriptive
 * - Use dependency injection for AuthManager and allow it for providers
 * - Use standard, cross-browser button appearance in Special:Log
 * - Add a user parameter to LanguageConverter::getUserVariant
 * - Remove Article::doEditContent, deprecated and unused
 * - build: Updating npm dependencies
 * - FileDeleteForm: Add a user to constructor, hard deprecate not providing
 * - Replace WebRequest::getLimitOffset with ::getLimitOffsetForUser
 * - Add object-src 'none' to MW CSP directive (configurable)
 * - Add WebRequest::getLimitOffsetForUser to replace ::getLimitOffset
 * - rdbms: make replication wait timeout log entries more consistent
 * - Fix some PHPStorm warnings by replacing array functions with loops
 * - Use Status::wrap instead of suppress PhanUndeclaredMethod
 * - maintenance: Avoid deprecated usage of RepoGroup::singleton
 * - Remove Title::moveSubpages
 * - installer: Parse error message
 * - Fix some PHPStorm inspection warnings in includes/api
 * - Add flag to force local page name normalization in development env
 * - BlockListPager: Paginate on timestamp and block ID
 * - Use existing $this->user property in UserTest where possible
 * - Escape % sign if form valid percent-encoding in fragment identifiers
 * - Add more tests for the user class
 * - Hard deprecate ApiTestCase::doLogin
 * - mediawiki.ui: Align to OOUI and fix incorrect input padding
 * - SpecialWhatLinksHere: Fix queries (2020 edition)
 * - Exempt users with 'ipblock-exempt' right from all cookie blocks
 * - Follow-up 0437877: SanitizerTest: Fix whitespace, test false state too
 * - SpecialWhatLinksHere: Fix queries (2020 edition)
 * - Exempt users with 'ipblock-exempt' right from all cookie blocks
 * - Follow-up 0437877: SanitizerTest: Fix whitespace, test false state too

Vendor

 * - Remove wikibase term-store

3D

 * - build: Updating npm dependencies

AbuseFilter

 * - Draw suppression reason from `Revdelete-reason-dropdown-suppress`
 * - eslint: Add /mediawiki rules
 * - tests: Use ChangeTags::getTags instead of hardcoded queries
 * - build: Updating npm dependencies

AdvancedSearch

 * - build: Updating npm dependencies

ApiFeatureUsage

 * - build: Updating npm dependencies

ArticleCreationWorkflow

 * - build: Updating npm dependencies

ArticlePlaceholder

 * - Replaced the obsolete way to get the DB name of local repository
 * - Update for namespace moves
 * - build: Updating npm dependencies
 * - Stop using old deprecated SpecialPageFactory static functions

Babel

 * - build: Updating npm dependencies

BetaFeatures

 * - build: Updating npm dependencies

BounceHandler

 * - Replace deprecated IP class with IPUtils

Calendar

 * - build: Updating npm dependencies

Capiunto

 * - build: Updating npm dependencies

CategoryTree

 * - build: Updating npm dependencies

CentralAuth

 * - Add expiry column in global_user_groups table
 * - Remove redundant indexes from global_user_groups and global_group_permissions
 * - eslint: Add /mediawiki rules
 * - build: Updating npm dependencies
 * - Fix some annoying comment typos in .sql files
 * - Hooks: Remove handler for `ApiTokensGetTokenTypes`
 * - Ensure that CentralAuth lists all domains it contacts in CSP policy
 * - Pass a user to LogPage::addEntry

CharInsert

 * - build: Updating npm dependencies

CheckUser

 * - Improve message for preliminary check when an IP is entered
 * - Remove the current user and wiki from the token on Special:Investigate
 * - Rename message key for Special:Investigate so no longer tab-specific
 * - Fix ip css styling on Compare tab in Special:Investigate
 * - build: Updating npm dependencies
 * - ComparePager: Rename fieldnames to match table columns
 * - Use more appropriate CSS selector in Special:Investigate
 * - Add selector class pattern to style linter and fix class names
 * - PreliminaryCheckPager: Fix whitespace in formatValue
 * - Document that cu_changes.cuc_type holds RencentChange types
 * - Create a factory for Special:Investigate pagers

CirrusSearch

 * - Add articletopic feature
 * - build: Updating npm dependencies
 * - Follow-up to build: Updating composer dependencies
 * - build: Updating composer dependencies
 * - Apply FallbackMethod changes from atomic units

Cite

 * - Temp disable test to work around circular dependency in unit test
 * - build: Updating npm dependencies
 * - build: Updating composer dependencies

CiteThisPage

 * - build: Updating npm dependencies

Citoid

 * - build: Updating npm dependencies

CodeEditor

 * - build: Updating npm dependencies

CodeMirror

 * - Move check for 'usebetatoolbar' from JS to PHP
 * - build: Updating npm dependencies
 * - Remove the unnecessary 1.5em padding in MinervaNeue skin that misaligns highlights.

CodeReview

 * - build: Updating npm dependencies

CollaborationKit

 * - build: Updating npm dependencies

Collection

 * - build: Updating npm dependencies
 * - Remove use of global $wgUser in templates

ConfirmEdit

 * - build: Updating npm dependencies

CongressLookup

 * - README.md: Drop DavidDM badges, we use LibraryUpgrader now
 * - build: Updating npm dependencies

ContentTranslation

 * - Use wgLogos['wordmark'], not the removed wgMinervaCustomLogos
 * - Document origin and reason for core code duplication
 * - build: Updating npm dependencies
 * - build: Updating composer dependencies
 * - Fix impossible condition in Hooks:isPotentialTranslator

ContributionTracking

 * - build: Updating npm dependencies

DiscussionTools

 * - Ignore LRM and RLM before timezone indicator
 * - Rearrange test cases
 * - Adjust change tag display
 * - Instrumentation
 * - When launched from an old revision, reply to latest revision
 * - Add beta feature preference
 * - Don't use globals to access config
 * - Only detect comments with real signatures
 * - Fix edit summary for comments in 0th section (no heading)
 * - Defensive use of dynamic paths in maintenance script
 * - Stop using old deprecated SpecialPageFactory static functions
 * - Bump outdated packages: grunt-stylelint and stylelint-config-wikimedia
 * - Remove vertical padding from VE visual target
 * - Blacklist/convert tables and headings in VE target
 * - Sig preview: Increase opacity
 * - Try to resolve edit conflicts
 * - Rebuild Parsoid document before attempting to save
 * - Use built-in mw.Api 'badtoken' handling, also 'assert'/'assertuser'

DismissableSiteNotice

 * - build: Updating npm dependencies

Echo

 * - Updated notices icon images ARIA role to `presentation`
 * - build: Updating npm dependencies
 * - Fix IDatabase::upsert call with bad unique key parameters
 * - build: Updating composer dependencies

ElectronPdfService

 * - build: Updating npm dependencies

EventLogging

 * - eslint: Add /mediawiki rules, update dependencies
 * - build: Updating npm dependencies

EventStreamConfig

 * - build: Updating npm dependencies

ExtensionDistributor

 * - eslint: Add /mediawiki rules
 * - build: Updating npm dependencies

ExternalGuidance

 * - build: Updating npm dependencies

FeaturedFeeds

 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices

FileImporter

 * - build: Updating npm dependencies
 * - Stop using deprecated Article::getRevision
 * - build: Updating composer dependencies

FlaggedRevs

 * - Fix elapsed typo
 * - QualityOversight: Even if the parameters are invalid, show the form
 * - build: Updating npm dependencies
 * - Stop using old deprecated SpecialPageFactory static functions
 * - Cleanup some FlaggablePageView methods and related documentation
 * - build: Updating composer dependencies

Flow

 * - Add `aria-label` to various text inputs with missing label elements
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices
 * - build: Updating npm dependencies
 * - build: Updating composer dependencies
 * - Replace WebRequest::getLimitOffset with ::getLimitOffsetForUser
 * - Enable MediaWiki.Usage.ForbiddenFunctions.isset and make pass

GWToolset

 * - build: Updating npm dependencies

GeoData

 * - Fix whitespace, add type hint, prefer assertCount
 * - build: Updating composer dependencies

GettingStarted

 * - build: Updating npm dependencies
 * - Remove use of Title::userCan

GlobalCssJs

 * - build: Updating composer dependencies

GlobalPreferences

 * - build: Updating npm dependencies

GlobalUsage

 * - Stop using old deprecated SpecialPageFactory static functions

GlobalUserPage

 * - build: Updating npm dependencies

Graph

 * - Simplify Hooks section in extension.json
 * - build: Updating npm dependencies

GrowthExperiments

 * - Sort ORES topics alphabetically
 * - NewcomerTasks: Add feature flag for guidance
 * - Remove deprecated config variable
 * - QuestionPoster: Use Parser::stripSectionName instead of plaintext messages
 * - Homepage desktop and mobile style updates
 * - build: Updating npm dependencies
 * - Slight rephrasing of mentor log entries
 * - Add backend support for ORES topics

GuidedTour

 * - build: Updating npm dependencies
 * - Do not reference the deprecated entry point in the README

ImageMap

 * - build: Updating composer dependencies

InputBox

 * - build: Updating npm dependencies

Interwiki

 * - build: Updating npm dependencies

Jade

 * - Aligned jade-moveEndorsementDialog-errorMessage to the left
 * - Right aligned jade-moveEndorsementDialog-commentForm-buttons
 * - Added jade-moveEndorsementDialog-commentForm-buttons class
 * - Aligned jade-promoteDialog-errorMessage to the left
 * - Fix confirm form for MoveEndorsement dialog popup.
 * - Right aligned jade-promoteDialog-commentForm-buttons
 * - Add class jade-promoteDialog-commentForm
 * - Removed destructive flag from jade-endorseDialog-cancelBtn
 * - Removed destructive flag from jade-proposeNewLabelDialog-cancelBtn
 * - Remove double space in a message
 * - Disable MoveEndorsement if not current user
 * - Set damaging icon back to error
 * - Fix MoveEndorsement dialog box title string
 * - Fix delete endorsement revision summary
 * - Fix endorsements count in DeleteProposal summary
 * - Fix multiple endorsement per user error
 * - Fix propose new label button color for empty facets
 * - Disable dialog submit buttons on api call
 * - Aligned jade-deleteProposalDialog-commentForm-buttons to the right
 * - Added jade-deleteProposalDialog-commentForm-buttons class
 * - Aligned jade-deleteEndorsementDialog-commentForm-buttons to the right
 * - Fix endorse error handling
 * - Add specific help text for edit quality popup
 * - Aligned jade-proposeNewLabelDialog-notesForm-buttons to the right: T242648
 * - Added jade-proposeNewLabelDialog-notesForm-buttons class to proposeNewLabelDialog: T242648
 * - Added jade-proposeNewLabelDialog-notesForm-buttons class to proposeNewLabelDialog
 * - Changed label class to "jade-proposalWidget-endorsements-label": T242648
 * - Added progressive flag to ProposalListWidget proposeNewLabelButton: T242648
 * - Added width to ProposalWidget menuButton popup: T242648
 * - Added destructive flag to ProposalWidget damagingButton: T242648
 * - Added progressive flag to ProposalWidget goodfaithButton: T242648
 * - update README test info T244152
 * - Fix mismatching production and test class names
 * - Aligned jade-endorseDialog-commentForm-buttons to the right: T242648
 * - Aligned jade-endorsementWidget-editForm-buttons to the right: T242648
 * - Added jade-endorsementWidget-editForm-buttons class: T242648
 * - Changed order of cancel and submit buttons on jade-endorsementWidget-editForm: T242648
 * - Aligned jade-deleteEndorsementDialog-errorMessage to the left: T242648
 * - Aligned jade-deleteEndorsementDialog-commentForm-buttons to the right: T242648
 * - Added jade-deleteEndorsementDialog-commentForm-buttons class: T242648
 * - Aligned jade-proposalWidget-editForm-buttons to the left: T242648
 * - Added jade-proposalWidget-editForm-buttons class to proposalWidget editForm: T242648
 * - Changed proposalWidget editForm buttons order to match wireframe: T242648
 * - Aligned jade-endorseDialog-errorMessage text to the left: T242648
 * - Added destructive flag to jade-endorseDialog-cancelBtn: T242648
 * - Moved proposeNewLabelDialog submitBtn to right margin: T242648
 * - Moved endorseDialog submitBtn to right margin: T242648
 * - Added jade-endorseDialog-commentForm-buttons class to endorseDialog-commentForm T242648
 * - Added destructive flag to jade-proposeNewLabelDialog-cancelBtn T242648

JsonConfig

 * - build: Updating npm dependencies

Kartographer

 * - build: Updating npm dependencies
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices

Linter

 * - build: Updating mediawiki/mediawiki-codesniffer to 30.0.0

LiquidThreads

 * - build: Updating npm dependencies

MachineVision

 * - build: Updating npm dependencies

MassMessage

 * - build: Updating mediawiki/mediawiki-codesniffer to 30.0.0
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices

Math

 * - build: Updating npm dependencies

MobileApp

 * - build: Updating npm dependencies

MobileFrontend

 * - Dev: Drop isVisible public method and unused code paths
 * - Fix ReferencesHtmlScraperGateway showing child references
 * - docs: Align Doxyfile with other projects
 * - MobileFormatter: Fix typo in filterContent docs
 * - tests: Avoid deprecated use of `setContentLang`
 * - tests: Avoid usage of deprecated `setMethods` PHPUnit API
 * - Unify messages for skin specific CSS/JS overrides
 * - specials: Use RevisionStore (MCR) service to get DB object created
 * - Use `errorbox` for cookie saving error message
 * - Remove 'new' indicator class
 * - [Dev] Drop deprecated and unused code

MultimediaViewer

 * - Follow-up 950577662: Put developer-focussed notes in DEVELOPERS.md
 * - Maintenance: `grunt lint --fix`, `grunt eslint --fix`, `grunt stylelint --fix` automatically fixes trivial coding style errors
 * - Maintenance: add `grunt lint` and `grunt minify`, consistent with core, and `grunt build`, `npm build`
 * - Maintenance: `grunt test` won't run the unnecessary 'svgmin' task. `grunt` (default) will, though.
 * - build: Updating npm dependencies

NewUserMessage

 * - Update comment to reference WikiPage instead of Article

Newsletter

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies
 * - Use wikimedia/assert from MediaWiki rather than demanding our own

Nuke

 * - Pass a user to FileDeleteForm::doDelete
 * - Replace deprecated IP class with IPUtils
 * - Use the help page dedicated to usage

OATHAuth

 * - build: Updating npm dependencies

OAuth

 * - build: Updating npm dependencies
 * - api: Raise "Bad OAuth request" logger from DEBUG to INFO
 * - Add minimal phpdoc for the REST handlers
 * - Log exceptions on the access_token URL as well

ORES

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies

OpenStackManager

 * - Add missing `specialpages-group-nova` message

PageTriage

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies

ParsoidBatchAPI

 * - build: Updating composer dependencies

PerformanceInspector

 * - build: Updating npm dependencies

Petition

 * - build: Updating npm dependencies

Popups

 * - docs: Generate documentation with Doxygen
 * - Replace `grunt fix` with `grunt eslint --fix`

ProofreadPage

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies
 * - Replace WebRequest::getLimitOffset with ::getLimitOffsetForUser
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices
 * - Move trimming into PageContentBuilder::buildContentFromInput

QuickSurveys

 * - build: Updating npm dependencies

Quiz

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies

RSS

 * - build: Updating composer dependencies

RelatedArticles

 * - build: Updating npm dependencies

RevisionSlider

 * - build: Updating npm dependencies

Score

 * - build: Updating npm dependencies
 * - build: Updating composer dependencies

Scribunto

 * - build: Updating npm dependencies
 * - Stop using old deprecated SpecialPageFactory static functions

SecureLinkFixer

 * - Updating domains.php from Mozilla

SecurePoll

 * - build: Updating npm dependencies

ShortUrl

 * - build: Updating npm dependencies

SubPageList3

 * - Convert SubPageList3 to manifest_version 2, clean up hooks
 * - Simplify database query code
 * - Unexclude MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment
 * - Move ParserFirstCallInit handling to separate hooks file

SyntaxHighlight_GeSHi

 * - build: Updating npm dependencies

TemplateData

 * - build: Updating npm dependencies

TemplateSandbox

 * - build: Updating npm dependencies

TemplateStyles

 * - Remove onParserAfterTidy hood as tidy is dead

TemplateWizard

 * - eslint: Remove jsonlint, use /mediawiki rules
 * - build: Updating npm dependencies
 * - Selenium: remove extraneous code
 * - Selenium: break up test

TimedMediaHandler

 * - build: Updating npm dependencies
 * - Stop using old deprecated SpecialPageFactory static functions

TocTree

 * - build: Updating npm dependencies

Translate

 * - Remove MessageChecker code
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices
 * - Update Printf validator to match more formats
 * - build: Updating npm dependencies
 * - SpecialSupportedLanguages: fix measuring last edit date with new schema

TwoColConflict

 * - Run pre-save transformations before creating the diff
 * - Remove more unused code from SplitTwoColConflictHelper
 * - Update incomplete line ending normalization
 * - Validate that all chunks have a selection
 * - Handle conflict column without a selection
 * - Put selection label inside of the row
 * - Add OOUI conforming border-radius to red error box
 * - build: Updating npm dependencies
 * - Consider third conflicting edits
 * - Streamline header tests
 * - Error style for conflict rows
 * - Add tabindex to group UI with editOptions area
 * - Avoid duplicate jQuery selectors on reset
 * - Restore broken focus indicator on radio elements

UniversalLanguageSelector

 * - build: Updating npm dependencies

UploadWizard

 * - Permanently hide Machine Vision CTA after it's been dismissed
 * - build: Updating npm dependencies

UrlShortener

 * - build: Updating npm dependencies
 * - Support symbol aliases in the alphabet

VipsScaler

 * - build: Updating npm dependencies

VisualEditor

 * - screenshots: Fix local test runner
 * - screenshots: Fix some timing issues
 * - Fix:Internal and External Link annotation widget
 * - README.md: Drop DavidDM badges, we use LibraryUpgrader now
 * - build: Updating mediawiki/mediawiki-codesniffer to 30.0.0
 * - Remove incorrect init special case for wikitext single edit tab
 * - Purge autosave before submitting merged content
 * - ve.ui.MWEducationPopupTool: Autofocus the button to close it

WebAuthn

 * - build: Updating npm dependencies

WikiEditor

 * - build: Updating npm dependencies

WikiLove

 * - build: Updating npm dependencies

Wikibase

 * - Remove obsolete version_compare in PHP entrypoint
 * - bridge: consistently indent dev index.html with tabs
 * - bridge: fix EventEmittingButton sizes
 * - bridge: disable (naive) escape functionality
 * - bridge: use wdio-wikibase's protectEntity
 * - bridge: guard getters against initializing lifecycle
 * - Revert "Cache item terms lookup the similar way they are cached in properties"
 * - Add errorformat parameter to wikibase API request
 * - bridge: implement disabled cancel button
 * - Fix naming of injectTerms* methods in DatabaseEntityInfoBuilder
 * - wbterms: only select entity terms that are requested
 * - bridge: test status getter aginst all options
 * - bridge: drastically simplify MainSnakPath
 * - bridge: update wdio-wikibase version
 * - bridge: Disable often unfollowed eslint rules in dev-entry
 * - bridge: update to new component library version
 * - bridge: Use default timeout by default
 * - bridge: Remove getLogs from wdio config
 * - bridge: Run all permissionChecks browser tests
 * - bridge: remove `UserLogin.loginAdmin` workaround
 * - bridge: Maybe make browser test less flaky
 * - Adjusted ItemHandler construction in ItemContestTest
 * - Stop using wgContLang in Client and Repo service factories
 * - Removed no longer used UnusableEntitySource
 * - Removed no longer used RepositoryDefintions field from WikibaseRepo
 * - Removed no longer needed globals from WikibaseClient entrypoint file
 * - Removed no longer used RepositorySpecificDataValueDeserializerFactory
 * - Removed no longer used PerRepositoryServiceContainer
 * - Removed no longer used MultiRepositoryServices and its wiring file
 * - Removed no longer used MultipleRepositoryAwareWikibaseServices
 * - Removed dependency on obsolete RepositoryDefinitions from UsageTrackingIntegrationTest
 * - Removed redundant "entity source federation mode" logic from WikibaseRepo
 * - Removed redundant "entity source federation mode" logic from WikibaseClient
 * - Removed "non-entity-source" conditional logic in RdfVocabulary
 * - Removed not needed "non-entity-source" logic in HtmlPageLinkRendererBeginHookHandler
 * - Remove use of jquery.getAttrs from wikibase.templates module
 * - Use PSR-4 for \Wikibase\Lib\Store namespace
 * - Remove compatibility class aliases
 * - Remove no longer used conditional logic in DatabaseSchemaUpdater
 * - Remove the rest of WikibaseClient’s autoload.php
 * - Move WikibaseLib Store classes to right namespace
 * - Use quasi-open metadata key rather than branded one
 * - bridge: remove pointless self-implements
 * - Clean up duplicate test cases in PropertyInfoTableBuilderTest
 * - Removed "non-entity-source" conditional logic in Database*TermStoreWriter
 * - Removed "non-entity-source" conditional logic in RebuildPropertyInfo
 * - Removed "non-entity-source" conditional logic in RebuildTermSqlIndex
 * - Removed unsused Id composer service from the constructor of TermSqlIndex
 * - bridge: Add ApplicationStatus "saving"
 * - Removed "non-entity-source" conditional logic in TermSqlIndex
 * - Removed no longer used ForeignEntityValidator
 * - Removed "non-entity-source" conditional logic from ValidatorBuilders
 * - Removed "non-entity-source" conditional logic from RepoLinker
 * - Removed not needed "non-entity-source" logic in SearchEntities API class
 * - Added RdfDumpGenerator test cases for entity source based access mode
 * - Swapped DataAccessSettingsFactory::anySetting to entity source one
 * - Removed "non-entity-source" conditional logic in WikiPageEntityStore
 * - Removed "non-entity-source" conditional logic in EntityContentFactory
 * - Removed "non-entity-source" conditional logic in WikiPageEntityMetaDataLookup
 * - Removed now-redundant tests cases in RepoHooksTest
 * - Removed "non-entity-source" conditional logic in DatabaseEntityInfoBuilder
 * - Removed now-redundant tests cases in TermStoreWriter tests
 * - Removed unsused Id composer service from SqlEntityInfoBuilder's constructor
 * - Removed "non-entity-source" conditional logic in SqlEntityInfoBuilder
 * - Removed "non-entity-source" conditional logic in PropertyInfoTable
 * - Add metric for recording cache hits in StatsdRecordingSimpleCache
 * - bridge: add missing newline to package.json
 * - bridge: put targetValue into statement only on save
 * - Use formatter cache in client LUA label lookups
 * - bridge: Replace reset.css with normalize.css
 * - bridge: Centralize styling for, , and 
 * - bridge: Disable eslint for the dev server
 * - build: Updating composer dependencies
 * - Removed "non-entity-source" conditional logic in RepoHooks
 * - Removed now-redundant tests cases in DataAccessSnakFormatterOutputFormatTest
 * - bridge: reapply root logic on entity data after save
 * - Fix stastd metric for StatsdMissRecordingSimpleCache
 * - bridge: realistic dev snak separator
 * - wbterms: Use caching for prefetching item lookup in PerRepositoryServiceWiring
 * - UncachedTermsPrefetcher: add configurable ttl
 * - bridge: isolate statement state from outside
 * - Cache item terms lookup the similar way they are cached in properties
 * - Update wikibase/javascript-api submodule
 * - Upgrade to wdio 5
 * - Autoload Wikibase\Repo\Store\Sql via PSR-4
 * - Move two repo classes to the correct namespace
 * - TR: Remove scss variable for feedback link
 * - Make sure WikibaseServices services getters don't access the DB
 * - bridge: Align ul styling
 * - Get rid of useless metrics in EntityTermLookupBase.
 * - Replace WebRequest::getLimitOffset with ::getLimitOffsetForUser
 * - wbterms: Split old & new term writing into different transactions
 * - Removed useEntitySourceBasedFederation config option
 * - bridge: show intent in e2e assertion
 * - Do not fatal with 'no-permission' message
 * - parser: Replace 'new Parser' in favour of using ParserFactory/MediaWikiServices

WikibaseCirrusSearch

 * - Adjusted SearchEntities constructor in the integration test
 * - Update for namespace moves
 * - Temporarily skip Search Entities integration tests
 * - Ignore IDEA files
 * - Only instantiate HitHandler if needed

WikibaseLexeme

 * - Add errorformat parameter to wikibase API request
 * - build: Update devDependencies
 * - Run all sense edit browser tests
 * - Use LoginPage.loginAdmin instead of workaround
 * - Use same user/password env vars as mw browser tests
 * - Temporarily skip LexemeRdfBuilder tests
 * - Update for namespace moves
 * - Upgrade browser tests to wdio 5
 * - build: Updating npm dependencies
 * - Allow terms caching in the diff visualizer integration test
 * - Fix changes for error response
 * - Skip tests in ApiUserBlockedTest temporary

WikibaseLexemeCirrusSearch

 * - build: Updating composer dependencies

WikibaseMediaInfo

 * - Removed not needed conditional logic from entity-metadata-accessor-callback
 * - Temporarily skip MediaInfoRdfBuilder tests
 * - Update for namespace moves
 * - build: Updating npm dependencies

WikibaseQualityConstraints

 * - Temporarily skip SparqlHelper tests
 * - Update for namespace moves
 * - build: Updating npm dependencies

WikidataPageBanner

 * - build: Updating npm dependencies

WikimediaBadges

 * - build: Updating npm dependencies

WikimediaEditorTasks

 * - build: Updating npm dependencies

WikimediaEvents

 * - search satisfaction: Track profile providing search results and query suggestions
 * - Add instrumentation for MediaWiki client runtime errors
 * - PrefUpdate: Added bucketedUserEditCount property

WikimediaIncubator

 * - build: Updating npm dependencies
 * - Read from (and write to!) wgLogos, not the deprecated wgLogo

WikimediaMaintenance

 * - README.md: Drop DavidDM badges, we use LibraryUpgrader now
 * - Simplify DumpInterwiki::removeComments
 * - dumpInterwiki: Respect comments in dblists
 * - Skip commented lines take two
 * - Skip comments in dblists
 * - Debugging output for progress in make-all-blobs loop
 * - Remove extra $ from variable assignment
 * - Bring in MEDIAWIKI_STAGING_DIR
 * - Fix path to blobs.sql in make-all-blobs
 * - Break some long lines for readability

WikimediaMessages

 * - build: Updating npm dependencies

intersection

 * - build: Updating composer dependencies

timeline

 * - build: Updating npm dependencies

wikihiero

 * - build: Updating npm dependencies

CologneBlue

 * - build: Updating npm dependencies
 * - Unify messages for skin specific CSS/JS overrides

MinervaNeue

 * - Follow-up 51a34809: Don't hard-deprecate something still set in config, you'll break prod
 * - Remove hover background on clear indicator
 * - Deprecate wgMinervaCustomLogos in favor of $wgLogos
 * - Remove 'new' indicator styles on mobile options
 * - Fix Minerva print mode to correctly show top of document
 * - Check title value before proceeding to check if user page
 * - Do not allow raw HTML in talk page overlay header

Modern

 * - build: Updating npm dependencies
 * - Unify messages for skin specific CSS/JS overrides

MonoBook

 * - build: Updating mediawiki/mediawiki-codesniffer to 30.0.0
 * - Unify messages for skin specific CSS/JS overrides

Nostalgia

 * - build: Updating npm dependencies
 * - Unify messages for skin specific CSS/JS overrides

Timeless

 * - build: Updating npm dependencies
 * - Unify messages for skin specific CSS/JS overrides
 * - Remove `background:` rule from table cells to enable row background-color overrides in wikitext.

Vector

 * - docs: Generate documentation with Doxygen
 * - Unify user messages for Vector.js and Vector.css
 * - Remove Webkit search cancel button for cross-browser consistency
 * - Follow-up 2dbe4d7: Stop documenting wgVectorPrintLogo, never read