MediaWiki 1.36/wmf.6/Changelog

Core changes

 * - Branch commit for wmf/1.36.0-wmf.6 by trainbranchbot
 * - Ensure performer has 'block' right in SpecialUnblockTest by Thalia
 * - ApiQueryRevisions: force page_timestamp index. by daniel
 * - Deprecate Title::nameOf by Ferran Tufan
 * - maintenance: Print version of MediaWiki on the command prompt by Derick A
 * - Revision: Point to findBadBlobs.php in exception messages by daniel
 * - Migrate imagelinks table to abstract schema  by Amir Sarabadani
 * - Migrate templatelinks table to abstract schema  by Amir Sarabadani
 * - Add @since to WikiPage::getRevisionRecord by Umherirrender
 * - Remove hard deprecated WebRequest::getLimitOffset by DannyS712
 * - objectcache: support static routing prefixes for MemcachedBagOStuff by Aaron Schulz
 * - Add setCaller to BatchRowIterator by Reedy
 * - Add setCaller to BatchRowWriter by Reedy
 * - ApiBlockInfoTrait: Add some extra basic block details by Thalia
 * - Add RELEASE-NOTES for changes since 1.35.0-rc.1 by Reedy
 * - Add a maintenance script to create bot passwords. by Alex Dean
 * - WatchedItemStore: Cache single WatchedItems with preexisting expiry by MusikAnimal
 * - Mark CONSTRUCTOR_OPTIONS as internal by Aryeh Gregor
 * - mime: Fix docs of MIME_EXTENSIONS, they're arrays, not space-seperated by Reedy
 * - Add application/font-sfnt to MimeMap for ttf files by RhinosF1
 * - Sanitizer: use RemexHtml entity table, instead of its own by C. Scott Ananian
 * - Hard-deprecate Sanitizer::escapeIdReferenceList by C. Scott Ananian
 * - SpecialBlock: Make error more generic if block not inserted/found by Thalia
 * - Add extra blank line between tables in generated schemas by Lucas Werkmeister
 * - search: Fix PrefixSearch totally ignoring input like "Foo" by Thiemo Kreuz
 * - mediawiki.visibleTimeout: Update the nextVisibleTimeoutId value by hmonroy
 * - Make newlines in generated schemas more consistent by Lucas Werkmeister
 * - UserContributions endpoint add tags 'display' property by Nikki Nikkhoui
 * - Migrate pagelinks table to abstract schema  by Amir Sarabadani
 * - Remove unneeded ApiCSPReport::isWriteMode by DannyS712
 * - Hard-deprecate global function wfDiff by C. Scott Ananian
 * - Hide watchlist expiry label in edit form by Sam Wilson
 * - Sync up with Parsoid parserTests.txt by C. Scott Ananian
 * - signup: added help message for security by Andreas P
 * - Avoid null query in Skin::lastModified by Umherirrender
 * - Use IPset in MWRestrictions::checkIP by Reedy
 * - EditResult: update undo-related docs by Ostrzyciel
 * - Remove mentions of mw.htmlform.Checker by DannyS712
 * - Remove extra indenting from dumpCategoriesAsRdf.php by Reedy
 * - Migrate redirect table to abstract schema  by Amir Sarabadani
 * - Remove usages of global function wfDiff by Ammar Abdulhamid

Vendor

 * - Bump wikimedia/parsoid to v0.13.0-a7    by C. Scott Ananian
 * - Bump data-values/time to 1.0.2 by Itamar Givon
 * - Revert "Update OOUI to v0.40.2" by Reedy
 * - Update OOUI to v0.40.2 by Volker E

3D
No changes for 3D

AbuseFilter

 * - Use $user param when filtering edits by Daimona Eaytoy
 * - Add BC hack for some 2009 AbuseLog entries causing a fatal error by Daimona Eaytoy

ActiveAbstract
No changes for ActiveAbstract

AdvancedSearch

 * - Fix "[object Object]" bug in page name lookups  by Thiemo Kreuz

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

 * - Convert BetaFeatures to use abstract schema by Reedy

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

 * - Replace UserInvalidateEmailComplete hook with InvalidateEmailComplete by Reedy
 * - SpecialGlobalGroupPermissions: Remove extra # by DannyS712

CentralNotice
No changes for CentralNotice

CharInsert
No changes for CharInsert

CheckUser

 * - SpecialCheckUser: Fix some typos in the comments by Thalia
 * - Replace deprecated User::isAllowed with PermissionManager by Ammar Abdulhamid
 * - Add the table cells on the Compare tab to the tabindex by David Barratt
 * - Unregister UserGetAllRights hook by Lucas Werkmeister
 * - Highlight matching rows in guided tour on Special:Investigate by Thalia
 * - Use 'checkuser' or 'checkuser-log' rights instead of 'investigate' by Thalia
 * - Adding $wgCheckUserLogSuccessfulBotLogins by Huji Lee

CirrusSearch

 * - Update maintenance scripts to use $this->requireExtension by gopavasanth

Cite

 * - Sync up with Parsoid citeParserTests.txt by C. Scott Ananian

CiteThisPage
No changes for CiteThisPage

Citoid
No changes for Citoid

cldr
No changes for cldr

CodeEditor

 * - Update Ace 1.4.9 -> 1.4.12 by Ed Sanders

CodeMirror

 * - Replace all .png images with rgba background colors by Thiemo Kreuz

CodeReview
No changes for CodeReview

Cognate
No changes for Cognate

Collection
No changes for Collection

CommonsMetadata
No changes for CommonsMetadata

ConfirmEdit
No changes for ConfirmEdit

CongressLookup
No changes for CongressLookup

ContactPage

 * - Return message key instead of processed message in validation callback. by Alexander Gesinn

ContentTranslation

 * - SXQuickTutorial: Fix regression glitches by NikG
 * - CX Translation View Header: Expand translation status label by NikG
 * - MwRow: Add center option for justify prop by NikG
 * - CX3: refactor animations to own file by Santhosh Thottingal
 * - CX3 version 0.1.0+20200820 by Santhosh Thottingal
 * - SX Sentence selector: Use 100% width for proposed translations by Santhosh Thottingal
 * - Move SXContentComparator to own directory by Santhosh Thottingal
 * - CX3: Group Dashboard related SFCs to a directory by Santhosh Thottingal
 * - CX3 SXContentComparator: Layout enhancements by Santhosh Thottingal
 * - SXQuickTutorial: Move to own directory by NikG
 * - SXSectionSelector: Refactor using MwLayout and move to own directory by NikG
 * - SXSentenceSelector: Refactor using MwLayout and move to own directory by NikG
 * - SXArticleSelector: Refactor using MwLayout and move to own directory by NikG
 * - UI library MwRow: Add direction property to support columns by NikG
 * - SXContentComparator: Add new section placeholder for present sections by NikG
 * - CX3: Storybook 6.x migration by Santhosh Thottingal
 * - Publish: Fix broken wikidata linking by Santhosh Thottingal

CreditsSource
No changes for CreditsSource

Dashiki
No changes for Dashiki

Disambiguator
No changes for Disambiguator

DiscussionTools

 * - parser: Code quality tweaks by Bartosz Dziewoński
 * - Fix crash when trying to mention invalid usernames by Bartosz Dziewoński
 * - More test cases for multiple signatures in funny places by Bartosz Dziewoński
 * - parser: Fix comment ranges when timestamp has entities by Bartosz Dziewoński

DismissableSiteNotice
No changes for DismissableSiteNotice

DonationInterface

 * - Adyen: redirect all users by Elliott Eggleston
 * - Set context language on donate API by Elliott Eggleston

DoubleWiki
No changes for DoubleWiki

DynamicSidebar
No changes for DynamicSidebar

Echo

 * - Fix grammar in push notification delete api string by Bernd Sitzmann
 * - Create push subscription manager group/right to clean up dead subs by Michael Holloway
 * - Collect baseline event and notification stats by Michael Holloway
 * - push: send apns topic when present by Mateus Santos

Elastica
No changes for Elastica

ElectronPdfService
No changes for ElectronPdfService

EntitySchema
No changes for EntitySchema

EventBus

 * - build: Updating npm dependencies by libraryupgrader

EventLogging
No changes for EventLogging

EventStreamConfig
No changes for EventStreamConfig

ExtensionDistributor
No changes for ExtensionDistributor

ExternalGuidance
No changes for ExternalGuidance

FeaturedFeeds
No changes for FeaturedFeeds

FileExporter
No changes for FileExporter

FileImporter

 * - Fix WikiRevisionFactory failing with SHA1 missing by Thiemo Kreuz
 * - No need for call_user_func_array in ImporterComponentTest by Thiemo Kreuz

FlaggedRevs

 * - Remove FlaggedRevs::lowProfileUI by DannyS712
 * - FlaggedRevs::load remove use of MWNamespace by DannyS712
 * - Remove parameter handling from FlaggedRevsStats::getStats by DannyS712
 * - FlaggedRevsSetup: Only provide one entry point by DannyS712
 * - Simplify ApiReviewActivity result logic by DannyS712
 * - Remove unneeded Api mustBePosted overrides by DannyS712
 * - Remove unused FRUserActivity methods by DannyS712
 * - Remove always true returns from forms by DannyS712
 * - Remove default getDefaultDirections overrides by Thiemo Kreuz
 * - Inline pointless "table" parameter in FRExtraCacheUpdateJob by Thiemo Kreuz
 * - Remove unused FlaggedRevision::getUser by Thiemo Kreuz
 * - Remove unused methods by Thiemo Kreuz
 * - Remove method overrides that don't change anything by Thiemo Kreuz
 * - Inline hard-coded "ftr_from" field name by Thiemo Kreuz
 * - Inline pointless FRExtraCacheUpdate::$mTable property by Thiemo Kreuz
 * - Simplify loop in FlaggedRevs::getJSTagParams by Thiemo Kreuz
 * - Mark private methods as such, not public by Thiemo Kreuz

Flow

 * - Remove invalid test assumption about cache by Matthias Mullie

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

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

 * - Normalize parserTests.txt format by Roan Kattouw

GrowthExperiments

 * - Add GrowthTasksApi.getDataFromActionApi by Gergő Tisza
 * - Make GrowthTasksApi lazy-loading-friendly by Gergő Tisza
 * - Disallow null filter parameters in TaskSuggester by Gergő Tisza
 * - Replace UserSettingsDecorator with UserSettingsLookup by Gergő Tisza
 * - Speed up ProtectionFilter by Gergő Tisza
 * - Remove welcome survey language question when ULS is not installed by Gergő Tisza
 * - Only fetch task card data for users in variant C and D by Kosta Harlan
 * - Remove large space in homepage mentor dialog and increase question box  by Gergő Tisza

GuidedTour
No changes for GuidedTour

GWToolset
No changes for GWToolset

ImageMap
No changes for ImageMap

InputBox

 * - Adding CSS class to hook into SearchSuggest feature by Greg Rundlett

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

 * - Fixed CI errors caused by duplicate parser test names by Sohom

LandingCheck
No changes for LandingCheck

LdapAuthentication
No changes for LdapAuthentication

Linter

 * - Convert Linter to abstract schema by Reedy

LiquidThreads
No changes for LiquidThreads

Listings
No changes for Listings

LocalisationUpdate
No changes for LocalisationUpdate

LoginNotify
No changes for LoginNotify

MachineVision
No changes for MachineVision

MapSources
No changes for MapSources

MassMessage
No changes for MassMessage

Math
No changes for Math

MediaModeration
No changes for MediaModeration

MobileApp

 * - Add list of countries to exclude from push notifications by Michael Holloway

MobileFrontend

 * - Improve the block drawer message by adding calls to action by Thalia
 * - tests: Follow consistency for annotations per PHP Doxygen tag docs by Derick A
 * - Move doRemoveImages to class RemoveImagesTransform by Peter Ovchyn
 * - Fix a few typos in WMFBaseDomainExtractor::class comments by Derick A
 * - Api: Objects are passed by default as/by references by Derick A
 * - tests: Drop some unused PHP vars from MobileFormatterTest by jdlrobson
 * - Drop LegacyMainPageTransform and associated config by jdlrobson
 * - Breaking: Drop InlineDiffFormatter and InlineDifferenceEngine by jdlrobson
 * - MoveLeadParagraphTransform: Hoist thumbnails by Ed Sanders

MultimediaViewer
No changes for MultimediaViewer

NavigationTiming
No changes for NavigationTiming

Newsletter

 * - Add Korean namespace translations by lens0021

NewUserMessage
No changes for NewUserMessage

Nuke
No changes for Nuke

OATHAuth

 * - Parse oathauth-scratchtokens message by Daimona Eaytoy

OAuth
No changes for OAuth

OAuthRateLimiter
No changes for OAuthRateLimiter

OpenStackManager
No changes for OpenStackManager

ORES
No changes for ORES

PageAssessments
No changes for PageAssessments

PagedTiffHandler
No changes for PagedTiffHandler

PageImages

 * - Add language param in prop=pageimages API by jgiannelos

PageTriage
No changes for PageTriage

PageViewInfo
No changes for PageViewInfo

ParserFunctions
No changes for ParserFunctions

PdfHandler
No changes for PdfHandler

Petition
No changes for Petition

Poem
No changes for Poem

PoolCounter
No changes for PoolCounter

Popups
No changes for Popups

ProofreadPage

 * - Restore NOT NULL by Reedy
 * - Convert ProofreadPage to use abstract schema by Reedy
 * - Fixed CI errors due to duplicate parser test name by Sohom

PropertySuggester
No changes for PropertySuggester

QuickSurveys
No changes for QuickSurveys

Quiz
No changes for Quiz

ReadingLists
No changes for ReadingLists

RelatedArticles
No changes for RelatedArticles

Renameuser
No changes for Renameuser

RevisionSlider
No changes for RevisionSlider

RSS
No changes for RSS

SandboxLink
No changes for SandboxLink

Score

 * - Don’t try to use parser output if it’s null by Lucas Werkmeister

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

ShortUrl

 * - Convert ShortUrl to use abstract schema by Reedy

SiteMatrix
No changes for SiteMatrix

SpamBlacklist
No changes for SpamBlacklist

SubPageList3
No changes for SubPageList3

SubpageSortkey
No changes for SubpageSortkey

SyntaxHighlight_GeSHi
No changes for SyntaxHighlight_GeSHi

TemplateData

 * - Remove redundant null check after isset by Thiemo Kreuz
 * - Move "Unknown" type to the top of the dropdown by Thiemo Kreuz
 * - Remove obsolete return true and & from hook handlers by Thiemo Kreuz
 * - Remove unused variables by Thiemo Kreuz

TemplateSandbox
No changes for TemplateSandbox

TemplateStyles
No changes for TemplateStyles

TemplateWizard

 * - Selenium: Update to WebdriverIO v6 by vidhi-mody

TextExtracts
No changes for TextExtracts

Thanks

 * - Allow restricting log entry thanking to subtypes by Taavi Väänänen

TheWikipediaLibrary

 * - build: Updating npm dependencies by libraryupgrader

TimedMediaHandler

 * - Convert TimedMediaHandler to abstract schema by Reedy
 * - Disable interactive mode of ffmpeg with -nostdin by Derk-Jan Hartman
 * - Sync up with Parsoid timedMediaHandlerParserTests.txt by C. Scott Ananian

timeline
No changes for timeline

TitleBlacklist
No changes for TitleBlacklist

TocTree
No changes for TocTree

TorBlock
No changes for TorBlock

Translate

 * - Rename MessageValidator to ValidationRunner and move under namespace by Niklas Laxström
 * - MessageGroupOld: Remove unused ignored&optional handling by Niklas Laxström
 * - Remove unused translate-js-* messages by Niklas Laxström
 * - Remove "Translation box" from the diff view by Niklas Laxström
 * - Use getConnectionRef in TranslateUtils::getSafeReadDB by Niklas Laxström

TranslationNotifications
No changes for TranslationNotifications

TrustedXFF
No changes for TrustedXFF

TwoColConflict
No changes for TwoColConflict

UniversalLanguageSelector
No changes for UniversalLanguageSelector

UploadsLink
No changes for UploadsLink

UploadWizard
No changes for UploadWizard

UrlShortener

 * - Remove usage of deprecated User::isAllowedAny method by Ammar Abdulhamid
 * - Show domain protocol in Ajax popup by rg4amia

UserMerge
No changes for UserMerge

VipsScaler
No changes for VipsScaler

VisualEditor

 * - Remove Parsoid integration hack, added for 1.35 LTS by C. Scott Ananian
 * - ve.init.mw.MobileArticleTarget: Fix floating toolbar workaround for iOS 13.6 by Bartosz Dziewoński
 * - Ensure Parsoid doesn't throw when is used w/o Cite installed by C. Scott Ananian
 * - Use Array.prototype.forEach.call in copyAttributes by Ed Sanders
 * - Fix regression when opening save dialog by C. Scott Ananian
 * - Create config option for making VE a BetaFeature, off by default by Ed Sanders
 * - build: Update eslint-config-wikimedia to 0.17.0 by Ed Sanders
 * - ve.init.mw.DesktopArticleTarget.init: Update mediawiki.page.ready dependency by Timo Tijhof
 * - ve.ui.MWGalleryDialog: Allow "Add new image" button label to wrap by Bartosz Dziewoński

WebAuthn
No changes for WebAuthn

Wikibase

 * - bridge: Don't record performance in background tabs by Michael Große
 * - Rename AddNormalizedTermsTablesDDL to term_store by Amir Sarabadani
 * - Migrate the new term store to abstract schema by Amir Sarabadani
 * - Migrate wb_property_info to abstract schema by Amir Sarabadani
 * - Test all unicode in month names (using new data-values/time)  by addshore
 * - Regenerate entity_usage.sql files by Lucas Werkmeister
 * - Account for empty fallback chain on Unicode language string by Michael Große
 * - Remove check for valid MW language code in Lua by Thomas Arrow
 * - TypeError on commons Title::newFromText returning null by Tobias Andersson
 * - Don't try to load source maps in production by Michael Große
 * - FP: RemoveClaims should not allow altering properties by Tobias Andersson
 * - FP: SetClaim should not allow altering properties. by Tobias Andersson
 * - Declare strict_types and add some more type hints by Michael Große
 * - Fix Term Fallback chains being empty  by Michael Große
 * - FP: test-system should not deploy with elastic search by Tobias Andersson
 * - Inject LanguageNameUtils into MetaContentLanguages by Lucas Werkmeister
 * - Migrate entity_usage table in client to abstract schema by Amir Sarabadani
 * - Include Link headers in HTTP responses by Abián
 * - Move getEntityNamespaceLookup from Generic to Single and Multiple EntitySourceServices by Itamar Givon
 * - Drop redundant add schema for several tests by Amir Sarabadani
 * - Reorganize repo schema scripts by Amir Sarabadani
 * - Reorganize client schema scripts by Amir Sarabadani
 * - Remove duplicate code in SqlUsageTrackerSchemaUpdater by Lucas Werkmeister
 * - Enable PHP 7.4 travis tests by Thomas Arrow
 * - FP: SetQualifier should not allow altering properties. by Tobias Andersson
 * - FP: GetEntities should return an error when getting properties by Tobias Andersson
 * - FP: SetClaimValue should not allow altering properties. by Tobias Andersson
 * - FP: RemoveReferences should not allow altering properties. by Tobias Andersson
 * - FP: SetReference should not allow altering properties by Tobias Andersson
 * - FP: RemoveQualifiers should not allow altering properties by Tobias Andersson
 * - FP: Create claim should not allow altering properties by Tobias Andersson
 * - FP: Modify/Edit-Entity should not allow altering properties by Tobias Andersson
 * - FP: Prepare api for invalidating editing properties by Tobias Andersson
 * - Count subentity claims as well in adding data type by Amir Sarabadani

WikibaseCirrusSearch

 * - Don't log end user error messages by Erik Bernhardson

WikibaseLexeme

 * - Update testing dev dependency to resolve GitHub security alert by Michael Große
 * - Add tests for ResultBuilder for API for lexemes by Amir Sarabadani

WikibaseLexemeCirrusSearch
No changes for WikibaseLexemeCirrusSearch

WikibaseMediaInfo

 * - Add mime type filter by annet
 * - Add Image Size filter by annet
 * - History behavior follow-up by Eric Gardner
 * - Include autocomplete API URI by annet
 * - Replace infinite scroll in search results with "load more" button by Eric Gardner
 * - Trim whitespace from input before fetching autocomplete results by annet

WikibaseQualityConstraints

 * - Extract SparqlHelper::guardAgainstTooManyRequestsError by Lucas Werkmeister
 * - Handle and track JSON errors in SparqlHelper by Lucas Werkmeister
 * - build: Updating grunt-eslint to 23.0.0 by libraryupgrader

Wikidata.org
No changes for Wikidata.org

WikidataPageBanner
No changes for WikidataPageBanner

WikiEditor
No changes for WikiEditor

wikihiero
No changes for wikihiero

WikiLove

 * - Convert WikiLove to use abstract schema by Reedy

WikimediaApiPortalOAuth
No changes for WikimediaApiPortalOAuth

WikimediaBadges

 * - build: Updating grunt to 1.2.1 by libraryupgrader

WikimediaEditorTasks
No changes for WikimediaEditorTasks

WikimediaEvents

 * - Enable MediaSearch A/B test by Matthias Mullie

WikimediaIncubator
No changes for WikimediaIncubator

WikimediaMaintenance

 * - Update path to Linter sql file by Reedy
 * - Update path to ShortUrl schema by Reedy
 * - Update BetaFeatures sql path by Reedy
 * - Update TimedMediaHandler sql path by Reedy
 * - Update WikiLove schema path by Reedy
 * - Update ProofreadPage sql path by Reedy
 * - Fix createExtensionTables.php for moved sql files in Wikibase by Amir Sarabadani
 * - Fix addWiki.php for moved sql files in Wikibase by Amir Sarabadani

WikimediaMessages
No changes for WikimediaMessages

Wikisource
No changes for Wikisource

XAnalytics
No changes for XAnalytics

CologneBlue

 * - Replace usage of Skin::getSearchLink by Ammar Abdulhamid

MinervaNeue

 * - Move css styles related to lazy-image-placeholder to skinStyles by Peter Ovchyn

Modern
No changes for Modern

MonoBook

 * - build: Updating eslint-config-wikimedia to 0.17.0 by libraryupgrader

Nostalgia

 * - Replace usage of Skin::getSearchLink by Ammar Abdulhamid

Timeless
No changes for Timeless

Vector

 * - Favor SkinTemplateNavigation::Universal by jdlrobson
 * - skins.vector.styles: Remove obsolete linear-gradient hack by Volker E
 * - Refactor: Drop legacy selectors by jdlrobson
 * - Allow personal tools to span 2 lines by jdlrobson
 * - hooks: Don't use SkinVersionLookup directly by Sam Smith
 * - Search in header: fix break point by jdlrobson
 * - skins.vector.styles: Remove PNG fallback and merge skins.vector.icons module by Timo Tijhof

WikimediaApiPortal

 * - Styles: Fix h1 font family and weight by apaskulin
 * - user interface: Rename DevCenter to Dashboard by apaskulin
 * - user interface: Change icon to speechBubbles by apaskulin

VisualEditor

 * - Update OOUI to v0.40.2 by Volker E

Total Changes
240 Changes in 58 repos by 66 authors