MediaWiki 1.33/wmf.20/Changelog

Core changes edit

  • git #53a71b98 - Update git submodules by Gerrit Code Review
  • git #f929e2a5 - ActiveUsersPager: Fix ordering and return 0-action users (task T217525) by Aaron Schulz
  • git #4234bfa1 - Update git submodules by Gerrit Code Review
  • git #2bbf31ae - Update git submodules by Gerrit Code Review
  • git #1ced2a90 - API: Avoid duplicate logs to api-feature-usage by Krinkle
  • git #3b1b6adc - Update git submodules by Gerrit Code Review
  • git #cba2d378 - Update git submodules by Gerrit Code Review
  • git #2c32b6de - resources: Remove deprecated 'jquery.hidpi' module (task T202154) by James D. Forrester
  • git #3162b076 - Various small code and comment cleanups to IndexPager by Aaron Schulz
  • git #3f717984 - Drop AuthPlugin and related code, deprecated in 1.27 (task T215843) by James D. Forrester
  • git #e453a7b3 - Set api-request log http.request_headers properly (task T214080) by Andrew Otto
  • git #3290e7b3 - Remove outdated reference to design.txt by Lucas Werkmeister
  • git #f15cacf7 - Allows to add subsections to special pages groups on special page "Specialpages" (task T216467) by MarkAHershberger
  • git #b707afa7 - objectcache: optimize WAN cache key updates during HOLDOFF_TTL (task T203786) by Aaron Schulz
  • git #1852681b - Fix typo in Priority Hints static variable name (task T216499) by Gilles Dubuc
  • git #844f5291 - Remove unused method Title::validateFileMoveOperation() (task T214316) by Legoktm
  • git #0364f852 - Various fixes to make phan-taint-check happier (task T216348) by Krinkle
  • git #919671a8 - Avoid cached lag logging spam from changes list pages (task T160833) by Aaron Schulz
  • git #3c4be2f2 - Various fixes for phan-taint-check (task T216348) by Krinkle
  • git #aea6cbdc - Status: Make various improvements to the Status class by Krinkle
  • git #8e1dc0c2 - resourceloader: Remove warning for handled localStorage error (task T195647) by Timo Tijhof
  • git #7edafc29 - Move specialpage redirects related classes to own files by Reedy
  • git #48019fa3 - mediawiki.cldr: Move file to its own directory (task T193826) by Timo Tijhof
  • git #b7cd670c - maintenance: Remove unused code from several maintenance scripts by Umherirrender
  • git #4b469947 - Fix usage of MediaWikiServices in comments and documentation by D3r1ck01
  • git #3d662e93 - installer: Replace the use of global $wgParser with services by Derick Alangi
  • git #b4d19f0c - resources: Remove 'jquery.mockjax' module (task T202154) by Krinkle
  • git #cdbf91c8 - resources: Remove 'jquery.xmldom' module (task T202154) by Krinkle
  • git #7b6651ed - build: Add names to Fresnel scenarios by Timo Tijhof
  • git #d5dd48b8 - Various fixes to make phan-taint-check happier (task T216348) by Umherirrender
  • git #c2bc3209 - validateRegistrationFile: Accept glob patterns by Krinkle
  • git #84c46d38 - Add separate log action for file reverts (task T60209) by Brian Wolff
  • git #8d52cf3d - Move FauxResponse class to own file by Reedy
  • git #11aef1cc - logging: Remove 'null' return from ManualLogEntry::getTags() by Timo Tijhof
  • git #22c8cda8 - Show password policy flags on Special:PasswordPolicies (task T118774) by Gergő Tisza
  • git #06a9e62b - Recentchanges: Hide instead of disable namespace selector checkboxes by Roan Kattouw
  • git #204126e7 - Simplify strings in PHP code by Fomafix
  • git #ea7895bd - Add mediawiki.interface.helpers.styles where it is needed (task T212613) by jdlrobson
  • git #037c06e8 - Hygiene: use null-coalescing operator when operating on tags by Piotr Miazga
  • git #30b05e10 - Replace lowercase {@inheritdoc} with @inheritDoc by Umherirrender
  • git #007bfbf8 - maintenance: Add missing limit parameters to some explode() by Umherirrender
  • git #05e4dc01 - Remove references to obsolete special page and messages by Thalia
  • git #426df4cd - API: Handle Messages in errorArrayToStatus() (task T217382) by Brad Jorsch
  • git #a26eee40 - Avoid use of deprecated ObjectCache::getMainWANInstance method by Krinkle
  • git #6ab38621 - rdbms: document Database::doQuery() return value by Aaron Schulz
  • git #fc005c9c - RCFilters: Make SaveFiltersPopup header's label and icon wrap by Roan Kattouw
  • git #fb524741 - Fix is_array check in ResourceLoaderImageModule by Umherirrender
  • git #1e5af82d - Preferences: Remove href="#" from stub threshold sample link by Bartosz Dziewoński
  • git #96da4ee8 - Add missing dependency on module 'mediawiki.RegExp' by Bartosz Dziewoński
  • git #fa988783 - Document the 'sitewide' option for the Block class by Thalia
  • git #cb04fe6a - maintenance: Replace custom .ext extraction with pathinfo() by Thiemo Kreuz
  • git #47a1f144 - DateTimeFormatter: Use mw.RegExp.escape from 'mediawiki.RegExp' by Fomafix
  • git #7ce9ef15 - mw-ui-radio, mw-ui-checkbox: Don't reset every font style by Santhosh Thottingal
  • git #6ee5cdd1 - obectcache: split out some WAN cache refresh logic into scheduleAsyncRefresh() by Aaron Schulz
  • git #10f7497e - Add UserSendConfirmationMail hook (task T215665) by Roan Kattouw
  • git #6a28fb3a - API: Use log context for api-feature-usage log (task T217162) by Brad Jorsch
  • git #c0927cba - maintenance: Remove arguments that match their default values by D3r1ck01
  • git #f50ea029 - objectcache: simplify WAN cache unwrap() method by removing FLG_STALE by Aaron Schulz
  • git #37b3383e - Remove comments literally repeating the next line of code by Thiemo Kreuz (WMDE)
  • git #0e24c6a4 - Add tests to ensure that retrieved actions match passed in restrictions (task T213220) by David Barratt
  • git #667ef8fa - Fix warning on QUnit modules without dependencies by Elliott Eggleston
  • git #ac9fa2d3 - redis: Fix incomplete @var documentation in RedisConnRef by Thiemo Kreuz
  • git #a1ab4b2c - Use splat operator in HamcrestPHPUnitIntegration by Kunal Mehta
  • git #45990c1b - mw.ui forms: Style individual form field warnings, as well as errors by Roan Kattouw
  • git #d612c218 - Remove unnecessary variable from UserTest by Thalia
  • git #7f3483e5 - rdbms: make safeWaitForMasterPos() handle master connection failure by Aaron Schulz
  • git #a2b85209 - Emit new style API action logs into Monolog. (task T214080) by Ottomata
  • git #3b4a7cbd - resourceloader: Add getScript() method for loading scripts with callback (task T27962) by Evad37
  • git #6efe8744 - Document type for class properties in ResourceLoaderImageModule by Umherirrender
  • git #a848eae6 - Use htmlspecialchars() not htmlentities in xml export for validity (task T216348) by Brian Wolff
  • git #0b583944 - Fix read-only mode for LoadBalancerSingle by Lucas Werkmeister

Vendor edit

  • git #8196c2b7 - Elastica: Remove scalar return type hints by Erik Bernhardson
  • git #92321fd6 - Remove scalar type hints from ruflin/Elastica by Erik Bernhardson

Extensions edit

3D edit

AbuseFilter edit

ActiveAbstract edit

AdvancedSearch edit

No changes for AdvancedSearch

AntiSpoof edit

  • git #6b0a163f - Use ::class for class name resolution by Umherirrender

ApiFeatureUsage edit

No changes for ApiFeatureUsage

ArticleCreationWorkflow edit

No changes for ArticleCreationWorkflow

ArticlePlaceholder edit

No changes for ArticlePlaceholder

Babel edit

BetaFeatures edit

No changes for BetaFeatures

BounceHandler edit

  • git #9ef919c1 - Use ::class for class name resolution by Umherirrender
  • git #e533942a - Pass string as field to IDatabase::selectRowCount by Umherirrender

Calendar edit

No changes for Calendar

Campaigns edit

  • git #99219191 - Use ExtensionRegistry rather than class_exists by Reedy
  • git #35ae930c - Use ::class for class name resolution by Umherirrender

Capiunto edit

No changes for Capiunto

CategoryTree edit

No changes for CategoryTree

CentralAuth edit

  • git #9f4a2380 - Use Maintenance::setBatchSize in maintenance scripts by Reedy
  • git #dc732134 - Use ::class for class name resolution by Umherirrender
  • git #bf46de7c - Declare class properties in maintenance scripts by Reedy
  • git #74523c8e - Adjust array doc type in BatchCAAntiSpoof::getDB by Umherirrender
  • git #9adf1722 - Prevent fixStuckGlobalRename.php (somewhat) from breaking attachment data (task T188882) by Gergő Tisza
  • git #6cf05cb0 - Fix undefined variable access in maintenance/checkLocalUser.php by Brad Jorsch
  • git #8575c722 - Fix MySQLism in CentralAuthUser by Brad Jorsch
  • git #e37ea9c3 - Replace use of deprecated ResourceLoaderTestModules hook (task T214211) by James D. Forrester

CharInsert edit

No changes for CharInsert

CheckUser edit

CirrusSearch edit

Cite edit

CiteThisPage edit

Citoid edit

  • git #dc9054eb - Don't autofocus citoid re-use search on mobile by Jforrester

cldr edit

  • git #68748779 - Use ::class for class name resolution by Umherirrender
  • git #e150d7c3 - Remove a couple of pointless temp variables before returns by Reedy
  • git #13931539 - Move class CLDRParser to own file by Reedy

Cognate edit

No changes for Cognate

CodeEditor edit

CodeMirror edit

No changes for CodeMirror

CodeReview edit

  • git #ee11442f - Use ::class for class name resolution by Umherirrender

CollaborationKit edit

  • git #f96e9bec - Use ExtensionRegistry rather than class_exists by Reedy
  • git #6d371d97 - Use ::class for class name resolution by Umherirrender
  • git #0d428423 - Call setContextTitle() before calling EditPage magic methods by Isarra
  • git #801e4fa5 - Fix some more form stuff? by Isarra
  • git #64e7757f - Remove orphaned ul rule by Isarra
  • git #f1fd613c - Fix alignment and label formatting on Special:CreateHubFeature by Isarra

Collection edit

CommonsMetadata edit

No changes for CommonsMetadata

ConfirmEdit edit

  • git #ae67c819 - Add extension.json dependency on Math to MathCaptcha by Umherirrender
  • git #f96b1eda - Use ::class for class name resolution by Umherirrender

CongressLookup edit

No changes for CongressLookup

ContactPage edit

No changes for ContactPage

ContentTranslation edit

ContributionTracking edit

No changes for ContributionTracking

CreditsSource edit

No changes for CreditsSource

Dashiki edit

No changes for Dashiki

Disambiguator edit

No changes for Disambiguator

DismissableSiteNotice edit

No changes for DismissableSiteNotice

DonationInterface edit

DoubleWiki edit

No changes for DoubleWiki

DynamicSidebar edit

EUCopyrightCampaign edit

No changes for EUCopyrightCampaign

Echo edit

  • git #408721a3 - Fix off-by-one edit count for ThankYouEdit notification (task T209541) by Kosta Harlan
  • git #8212dfe2 - Test that checks for alerts' flyout (task T217051) by ephemeralwaves
  • git #833731c5 - Remove non-functional maintenance script testDiscussionParser.php by Umherirrender
  • git #42f153ca - Use ::class for class name resolution by Umherirrender
  • git #1b5308ba - Use explicit columns and avoid SELECT * by Umherirrender
  • git #8ce0cc17 - Fix UserMerge integration for use with table prefix (task T217487) by Umherirrender
  • git #8da7e5b0 - Pass string as field to IDatabase::selectField and ::selectRowCount by Reedy
  • git #db6c1f07 - NotificationDeleteJob: Remove unused variable $targetMapper by Roan Kattouw
  • git #bb0ca321 - Convert caching to WANObjectCache by Aaron Schulz
  • git #fdc2b42b - Declare class properties in Formatter and WikiRequest by Umherirrender

Elastica edit

ElectronPdfService edit

No changes for ElectronPdfService

EventBus edit

EventLogging edit

  • git #ed4943d5 - Allow looking up of latest JSONSchema by title without specific revid (task T215442) by Reedy
  • git #76284678 - includes: Improve on code for consistency, efficiency and maintainability by Derick Alangi

ExtensionDistributor edit

  • git #ddfdb96d - Use ::class for class name resolution by Umherirrender

ExternalGuidance edit

FeaturedFeeds edit

No changes for FeaturedFeeds

FileExporter edit

No changes for FileExporter

FileImporter edit

No changes for FileImporter

FlaggedRevs edit

  • git #e786a14f - Remove compat code for OOUI\ButtonInputWidget by Umherirrender
  • git #c77e652d - Use ::class for class name resolution by Umherirrender
  • git #582181e4 - Add method scope visibility by Krinkle

Flow edit

FundraiserLandingPage edit

No changes for FundraiserLandingPage

FundraisingTranslateWorkflow edit

No changes for FundraisingTranslateWorkflow

Gadgets edit

No changes for Gadgets

GeoCrumbs edit

No changes for GeoCrumbs

GeoData edit

GettingStarted edit

  • git #1752310e - Use ::class for class name resolution by Umherirrender

GlobalBlocking edit

  • git #37dd01cd - Drop .class from GlobalBlocking class by Reedy
  • git #2d0cbef6 - WikiMap is going to exist, has for a looong time by Reedy
  • git #f3b0af07 - Use ::class for class name resolution by Umherirrender

GlobalCssJs edit

GlobalPreferences edit

No changes for GlobalPreferences

GlobalUsage edit

  • git #8a743f30 - Use ::class for class name resolution by Umherirrender

GlobalUserPage edit

No changes for GlobalUserPage

GoogleNewsSitemap edit

No changes for GoogleNewsSitemap

Graph edit

No changes for Graph

GrowthExperiments edit

GuidedTour edit

  • git #f5a7bc63 - Use ExtensionRegistry rather than class_exists by Reedy
  • git #6e101087 - Use ::class for class name resolution by Umherirrender

GWToolset edit

  • git #41a030fa - Use ::class for class name resolution by Umherirrender

ImageMap edit

No changes for ImageMap

InputBox edit

Insider edit

No changes for Insider

intersection edit

No changes for intersection

Interwiki edit

No changes for Interwiki

InterwikiSorting edit

No changes for InterwikiSorting

JADE edit

  • git #06977af6 - Remove unneeded argument on JudgmentContent::validateContent by Reedy
  • git #f5603baf - Add missing use statement for DBError by Umherirrender

Josa edit

No changes for Josa

JsonConfig edit

  • git #de4f742d - Use ExtensionRegistry rather than class_exists by Reedy
  • git #dc365c85 - Use ::class for class name resolution by Umherirrender

Kartographer edit

  • git #d81c1729 - eslint: Update eslint-config-wikimedia to 0.11.0 by Ed Sanders
  • git #0677d508 - Use extension.json to enforce requirement of JsonConfig by Reedy
  • git #fadf4b2e - Use ::class for class name resolution by Umherirrender

LabeledSectionTransclusion edit

No changes for LabeledSectionTransclusion

LandingCheck edit

No changes for LandingCheck

LdapAuthentication edit

  • git #e4ed3ccd - Remove calls to no-longer-imeplemented methods after I2eeaeed1 by BryanDavis
  • git #3b5cdc2d - Follow-up 2a9d1c27: Stop referring to the now-killed AuthPlugin class (task T217692) by Hashar
  • git #9a723f4c - Use ::class for class name resolution by Umherirrender

Linter edit

LiquidThreads edit

No changes for LiquidThreads

Listings edit

No changes for Listings

LocalisationUpdate edit

No changes for LocalisationUpdate

LoginNotify edit

  • git #112a8678 - Use ExtensionRegistry rather than class_exists by Umherirrender

MapSources edit

No changes for MapSources

MassMessage edit

Math edit

No changes for Math

MobileApp edit

No changes for MobileApp

MobileFrontend edit

MultimediaViewer edit

NavigationTiming edit

Newsletter edit

  • git #b872123d - Use ::class for class name resolution by Umherirrender

NewUserMessage edit

No changes for NewUserMessage

Nuke edit

  • git #38ff8983 - Remove compat code for version 1.27 by Reedy
  • git #9baf3559 - Use ::class for class name resolution by Umherirrender

OATHAuth edit

  • git #11ee9949 - Use ::class for class name resolution by Umherirrender

OAuth edit

  • git #ed191a8e - Remove PHP entry point by Umherirrender
  • git #35f3894d - Use ExtensionRegistry rather than class_exists by Reedy
  • git #70ff5bd6 - Use ::class for class name resolution by Umherirrender

OpenStackManager edit

  • git #8bc48ede - Use ::class for class name resolution by Umherirrender
  • git #900d6353 - Remove class_exists for own class from maintenance script by Umherirrender
  • git #054466af - Construct OpenStackNovaUser always with username by Umherirrender

ORES edit

No changes for ORES

PageAssessments edit

  • git #4200d61c - Use ::class for class name resolution by Umherirrender

PagedTiffHandler edit

  • git #9f0b3d5f - Use ::class for class name resolution by Umherirrender
  • git #b767447f - Remove comments literally repeating the test…() function name by Thiemo Kreuz
  • git #f6c00fbf - Add method scope visibility by Thiemo Kreuz (WMDE)

PageImages edit

  • git #5682f9c0 - Use ::class for class name resolution by Umherirrender
  • git #272b98a3 - Pass string as field to IDatabase::selectField by Umherirrender

PageTriage edit

PageViewInfo edit

No changes for PageViewInfo

ParserFunctions edit

No changes for ParserFunctions

ParsoidBatchAPI edit

No changes for ParsoidBatchAPI

PdfHandler edit

No changes for PdfHandler

PerformanceInspector edit

No changes for PerformanceInspector

Petition edit

No changes for Petition

Poem edit

No changes for Poem

PoolCounter edit

No changes for PoolCounter

Popups edit

ProofreadPage edit

PropertySuggester edit

No changes for PropertySuggester

QuickSurveys edit

Quiz edit

  • git #b98c4375 - Load styles module 'ext.quiz.styles' via addModuleStyles() by Fomafix

ReadingLists edit

No changes for ReadingLists

RelatedArticles edit

No changes for RelatedArticles

Renameuser edit

  • git #b8706cb2 - Migrate from Title::moveTo to MovePage::move by Reedy
  • git #2718c782 - Use ::class for class name resolution by Umherirrender
  • git #f50ccff2 - Remove compat code for version 1.27 by Umherirrender
  • git #cecfe521 - Migrate to new phan (task T216937) by Umherirrender
  • git #aae62089 - Fix MediaWiki.Usage.DeprecatedGlobalVariables exclude by Umherirrender
  • git #16abc6d4 - build: Updating mediawiki/mediawiki-codesniffer to 24.0.0 by Umherirrender

RevisionSlider edit

RSS edit

No changes for RSS

SandboxLink edit

No changes for SandboxLink

Score edit

Scribunto edit

No changes for Scribunto

SearchExtraNS edit

No changes for SearchExtraNS

SecurePoll edit

  • git #b4b2b80b - Use ExtensionRegistry rather than class_exists by Umherirrender
  • git #d239e3b0 - ActorMigration exists because of MW requirement in extension.json by Reedy
  • git #cf9ca1a8 - jobs: Fix method name from getID() as defined in SecurePoll_Entity by Derick Alangi
  • git #9202f725 - Use ::class for class name resolution by Umherirrender

Sentry edit

  • git #47fb3f3e - Use ::class for class name resolution by Umherirrender

ShortUrl edit

  • git #a9d24b4b - Use ::class for class name resolution by Umherirrender

SiteMatrix edit

No changes for SiteMatrix

SkinPerPage edit

No changes for SkinPerPage

SpamBlacklist edit

  • git #f3ff95ce - Use ExtensionRegistry rather than class_exists by Umherirrender

SubPageList3 edit

No changes for SubPageList3

SubpageSortkey edit

No changes for SubpageSortkey

SyntaxHighlight_GeSHi edit

TemplateData edit

No changes for TemplateData

TemplateSandbox edit

No changes for TemplateSandbox

TemplateStyles edit

No changes for TemplateStyles

TemplateWizard edit

No changes for TemplateWizard

TextExtracts edit

No changes for TextExtracts

Thanks edit

  • git #e0be7340 - Use ExtensionRegistry rather than class_exists by Umherirrender

TimedMediaHandler edit

timeline edit

No changes for timeline

TitleBlacklist edit

  • git #0b3b7f67 - Use ExtensionRegistry rather than class_exists by Umherirrender

TocTree edit

No changes for TocTree

TorBlock edit

  • git #a778f810 - ChangeTags has existed for many MW versions by Reedy
  • git #bd744745 - Use ::class for class name resolution by Umherirrender

Translate edit

  • git #8e0c8b38 - Revert "TranslateUtils: Avoid use of deprecated class Revision" by Nikerabbit
  • git #b6a9ea93 - Fix crash due to invalid language code passed to SpecialTranslate (task T204833) by jenkins-bot
  • git #c8e8aa22 - Upgrade mediawiki/mediawiki-codesniffer to 24.0.0 by jenkins-bot
  • git #81f92955 - Replaces usage of wfBCP47 with LanguageCode::bcp47 (task T210988) by jenkins-bot
  • git #55e09594 - TranslateUtils: Avoid use of deprecated class Revision by jenkins-bot
  • git #4c333645 - Remove display of the message group state for the source language (task T160511) by jenkins-bot
  • git #85200709 - Use ::class for class name resolution by Umherirrender
  • git #3ccb5104 - Support usage of DisabledSpecialPage when deciding whether to add tabs by jenkins-bot
  • git #04d9822a - Remove "Read" and "Write" section headers by Thiemo Kreuz
  • git #d290bedf - Fix invalid display of priority language notice (task T217046) by abijeet

TranslationNotifications edit

  • git #bfa941c7 - Use ::class for class name resolution by Umherirrender

TrustedXFF edit

No changes for TrustedXFF

TwoColConflict edit

No changes for TwoColConflict

UniversalLanguageSelector edit

  • git #df2aa345 - Use ::class for class name resolution by Umherirrender
  • git #f8e9ed12 - Move some more php files under includes by Reedy
  • git #e1c7ad82 - Use ExtensionRegistry rather than class_exists by Reedy
  • git #03bc19fa - Use ::class for class name resolution by Umherirrender

UploadsLink edit

No changes for UploadsLink

UploadWizard edit

UrlShortener edit

  • git #92394dba - Use ::class for class name resolution by Umherirrender

UserMerge edit

No changes for UserMerge

VipsScaler edit

  • git #34af0437 - Update extension PHP structure by Reedy
  • git #4c7ca41c - Move class VipsCommand and VipsConvolution to own files by Reedy

VisualEditor edit

Wikibase edit

WikibaseCirrusSearch edit

WikibaseLexeme edit

WikibaseMediaInfo edit

WikibaseQualityConstraints edit

Wikidata.org edit

No changes for Wikidata.org

WikidataPageBanner edit

No changes for WikidataPageBanner

WikiEditor edit

No changes for WikiEditor

wikihiero edit

WikiLove edit

  • git #18dfe76c - Move PHP files to includes/ by Reedy
  • git #8c5828f6 - Use ExtensionRegistry rather than class_exists by Reedy
  • git #9348056a - Use ::class for class name resolution by Umherirrender

WikimediaBadges edit

No changes for WikimediaBadges

WikimediaEvents edit

WikimediaIncubator edit

  • git #2600573b - Remove unused class properties from InfoPage by Reedy
  • git #cbb02354 - Declare class properties by Reedy
  • git #0acc0795 - Use ExtensionRegistry rather than class_exists by Reedy
  • git #1fefd9e5 - Use ::class for class name resolution by Umherirrender
  • git #788d49b6 - Remove compat check for version 1.27 by Umherirrender

WikimediaMaintenance edit

  • git #e664c2dc - Use ::class for class name resolution by Umherirrender

WikimediaMessages edit

No changes for WikimediaMessages

XAnalytics edit

No changes for XAnalytics

ZeroBanner edit

No changes for ZeroBanner

ZeroPortal edit

No changes for ZeroPortal

Skins edit

CologneBlue edit

No changes for CologneBlue

EUCopyrightCampaignSkin edit

No changes for EUCopyrightCampaignSkin

MinervaNeue edit

MonoBook edit

No changes for MonoBook

Modern edit

No changes for Modern

Nostalgia edit

No changes for Nostalgia

Timeless edit

No changes for Timeless

Vector edit

No changes for Vector

Total Changes edit

362 Changes in 94 repos by 71 committers