I ran into this on Vagrant with the Echo role enabled. Don't see this error in production so it might be specific to Vagrant somehow, although it seems unlikely.
Notice: Undefined property: Diff::$edits in /vagrant/mediawiki/includes/diff/DiffFormatter.php on line 74 #0 {main}( ) .../api.php:0 #1 require( '/vagrant/mediawiki/api.php' ) .../api.php:5 #2 MediaWiki->doPostOutputShutdown( ) .../api.php:124 #3 MediaWiki->{closure:/vagrant/mediawiki/includes/MediaWiki.php:764-771}( ) .../MediaWiki.php:789 #4 MediaWiki->restInPeace( ) .../MediaWiki.php:766 #5 DeferredUpdates::doUpdates( ) .../MediaWiki.php:942 #6 DeferredUpdates::handleUpdateQueue( ) .../DeferredUpdates.php:149 #7 DeferredUpdates::run( ) .../DeferredUpdates.php:226 #8 DeferredUpdates::attemptUpdate( ) .../DeferredUpdates.php:281 #9 MWCallableUpdate->doUpdate( ) .../DeferredUpdates.php:383 #10 EchoHooks::{closure:/vagrant/mediawiki/extensions/Echo/includes/EchoHooks.php:535-542}( ) .../MWCallableUpdate.php:38 #11 EchoDiscussionParser::generateEventsForRevision( ) .../EchoHooks.php:541 #12 EchoDiscussionParser::getChangeInterpretationForRevision( ) .../DiscussionParser.php:40 #13 EchoDiscussionParser::getMachineReadableDiff( ) .../DiscussionParser.php:480 #14 EchoDiffParser->getChangeSet( ) .../DiscussionParser.php:925 #15 UnifiedDiffFormatter->format( ) .../EchoDiffParser.php:89
The relevant code is
$diffs = new Diff( explode( "\n", $left ), explode( "\n", $right ) ); $format = new UnifiedDiffFormatter(); $diff = $format->format( $diffs );
and Diff::$edits is a public property so I don't understand what's going on here.