All notable changes are documented in this file using the Keep a CHANGELOG principles.
nikic/php-parser
5.0CodeCoverage::getReport()
is now cachedphp:
directory when they should write to php://stdout
, for instanceCodeUnitFindingVisitor
does not support DNF types?v=%s
URLs in the HTML report to avoid cache issuesthrow
as executablereturn
with multiline constant expression must only contain the last lineis_file()
callsopen_basedir
\r
(CR, 0x0d) EOL characters are not handled correctlyreturn [
is not recognized as executablematch
keyword were not recognized as executable correctlySebastianBergmann\CodeCoverage\ProcessedCodeCoverageData
to SebastianBergmann\CodeCoverage\Data\ProcessedCodeCoverageData
(this class is marked as @internal
and not covered by the backward compatibility promise, but it is (still) used directly by PHPUnit)SebastianBergmann\CodeCoverage\RawCodeCoverageData
to SebastianBergmann\CodeCoverage\Data\RawCodeCoverageData
(this class is marked as @internal
and not covered by the backward compatibility promise, but it is (still) used directly by PHPUnit)ArrayDim
, Cast
, and MethodCall
nodes are now considered when determining whether a line of code is executable or notfilemtime()
to determine cache hit/missdeclare(strict_types=1)
marked as uncoveredCoveredFileAnalyser
and UncoveredFileAnalyser
have been combined to FileAnalyser
CodeUnitFindingVisitor::enterNode()
so that Symfony's DebugClassLoader does not trigger a deprecation warningCodeUnitFindingVisitor
does not handle enum
type introduced in PHP 8.1XDEBUG_MODE
environment variable is not handled correctlyXDEBUG_MODE
environment variablenikic/php-parser
SebastianBergmann\CodeCoverage\Exception
now correctly extends \Throwable
T_FN
constant is used on PHP 7.3 where it is not availableSebastianBergmann\CodeCoverage\Driver\Selector::forLineCoverage()
and SebastianBergmann\CodeCoverage\Driver\Selector::forLineAndPathCoverage()
have been addedSebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
and SebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
are marked as internalSebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
and SebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
are now deprecatedPHP Warning: Use of undefined constant T_MATCH
SebastianBergmann\CodeCoverage::start()
is called for the first time and processUncoveredFiles
is set to true
SebastianBergmann\CodeCoverage::start()
is called for the first time and processUncoveredFiles
is set to true
::class
constant are not coveredSebastianBergmann\CodeCoverage::cacheDirectory()
method for querying where the cache writes its filesSebastianBergmann\CodeCoverage::cacheStaticAnalysis(string $cacheDirectory)
method for enabling the cache; it will write its files to $directory
SebastianBergmann\CodeCoverage::doNotCacheStaticAnalysis
method for disabling the cacheSebastianBergmann\CodeCoverage::cachesStaticAnalysis()
method for querying whether the cache is enabledSebastianBergmann\CodeCoverage\StaticAnalysis\CacheWarmer::warmCache()
method for warming the cacheSebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
for selecting the best available driver for line coverageSebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
for selecting the best available driver for path coverageSebastianBergmann\CodeCoverage\Filter::addDirectoryToWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::includeDirectory()
SebastianBergmann\CodeCoverage\Filter::addFilesToWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::includeFiles()
SebastianBergmann\CodeCoverage\Filter::addFileToWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::includeFile()
SebastianBergmann\CodeCoverage\Filter::removeDirectoryFromWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::excludeDirectory()
SebastianBergmann\CodeCoverage\Filter::removeFileFromWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::excludeFile()
SebastianBergmann\CodeCoverage\Filter::isFiltered()
has been renamed to SebastianBergmann\CodeCoverage\Filter::isExcluded()
SebastianBergmann\CodeCoverage\Filter::getWhitelist()
has been renamed to SebastianBergmann\CodeCoverage\Filter::files()
CodeCoverage::__construct()
are no longer optionalSebastianBergmann\CodeCoverage\CodeCoverage::setCacheTokens()
and SebastianBergmann\CodeCoverage\CodeCoverage::getCacheTokens()
have been removedSebastianBergmann\CodeCoverage\CodeCoverage::setCheckForUnintentionallyCoveredCode()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::enableCheckForUnintentionallyCoveredCode()
or SebastianBergmann\CodeCoverage\CodeCoverage::disableCheckForUnintentionallyCoveredCode()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setSubclassesExcludedFromUnintentionallyCoveredCodeCheck()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::excludeSubclassesOfThisClassFromUnintentionallyCoveredCodeCheck()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setAddUncoveredFilesFromWhitelist()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::includeUncoveredFiles()
or SebastianBergmann\CodeCoverage\CodeCoverage::excludeUncoveredFiles()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setProcessUncoveredFiles()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::processUncoveredFiles()
or SebastianBergmann\CodeCoverage\CodeCoverage::doNotProcessUncoveredFiles()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setIgnoreDeprecatedCode()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::ignoreDeprecatedCode()
or SebastianBergmann\CodeCoverage\CodeCoverage::doNotIgnoreDeprecatedCode()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setDisableIgnoredLines()
has been removed, please use SebastianBergmann\CodeCoverage\CodeCoverage::enableAnnotationsForIgnoringCode()
or SebastianBergmann\CodeCoverage\CodeCoverage::disableAnnotationsForIgnoringCode()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setCheckForMissingCoversAnnotation()
has been removedSebastianBergmann\CodeCoverage\CodeCoverage::setCheckForUnexecutedCoveredCode()
has been removedSebastianBergmann\CodeCoverage\CodeCoverage::setForceCoversAnnotation()
has been removedSebastianBergmann\CodeCoverage\Filter::hasWhitelist()
has been removed, please use SebastianBergmann\CodeCoverage\Filter::isEmpty()
insteadSebastianBergmann\CodeCoverage\Filter::getWhitelistedFiles()
has been removedSebastianBergmann\CodeCoverage\Filter::setWhitelistedFiles()
has been removed$_SERVER['REQUEST_TIME']
because the test(ed) code might unset itcomposer.json
from ^7.2
to >=7.2
to allow installation of this version of this library on PHP 8. However, this version of this library does not work on PHP 8. PHPUnit 8.5, which uses this version of this library, does not call into this library and instead shows a message that code coverage functionality is not available for PHPUnit 8.5 on PHP 8.XDEBUG_MODE
environment variableuse function
statements are not ignoredTypeError
when directory name is a numberTypeError
in PHP reporterTypeError
when whitelisted file does not exist