All notable changes are documented in this file using the Keep a CHANGELOG principles.
10.0.0 - 2021-MM-DD
- #856: Do not include (and execute) uncovered files
- The deprecated methods
SebastianBergmann\CodeCoverage\Driver::forLineCoverage()
andSebastianBergmann\CodeCoverage\Driver::forLineAndPathCoverage()
have been removed - This component is no longer supported on PHP 7.3 and PHP 7.4
- This component no longer supports Xdebug 2
9.2.7 - 2021-MM-DD
- #860: Empty value for
XDEBUG_MODE
environment variable is not handled correctly
9.2.6 - 2021-03-28
- #846: Method name should not appear in the method signature attribute of Cobertura XML
9.2.5 - 2020-11-28
- #831: Files that do not contain a newline are not handled correctly
9.2.4 - 2020-11-27
- #834: Support
XDEBUG_MODE
environment variable
9.2.3 - 2020-10-30
- Bumped required version of
nikic/php-parser
9.2.2 - 2020-10-28
- #820: Hidden dependency on PHPUnit
9.2.1 - 2020-10-26
SebastianBergmann\CodeCoverage\Exception
now correctly extends\Throwable
9.2.0 - 2020-10-02
- #812: Support for Cobertura XML report format
- Reduced the number of I/O operations performed by the static analysis cache
9.1.11 - 2020-09-19
- #811:
T_FN
constant is used on PHP 7.3 where it is not available
9.1.10 - 2020-09-18
SebastianBergmann\CodeCoverage\Driver\Selector::forLineCoverage()
andSebastianBergmann\CodeCoverage\Driver\Selector::forLineAndPathCoverage()
have been added
- #810:
SebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
andSebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
are marked as internal
SebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
andSebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
are now deprecated
9.1.9 - 2020-09-15
- #808:
PHP Warning: Use of undefined constant T_MATCH
9.1.8 - 2020-09-07
- #800: All files on the inclusion list are no longer loaded when
SebastianBergmann\CodeCoverage::start()
is called for the first time andprocessUncoveredFiles
is set totrue
- #799: Uncovered new line at end of file
9.1.7 - 2020-09-03
- Fixed regressions introduced in versions 9.1.5 and 9.1.6
9.1.6 - 2020-08-31
- #799: Uncovered new line at end of file
- #803: HTML report does not sort directories and files anymore
9.1.5 - 2020-08-27
- #800: All files on the inclusion list are no longer loaded when
SebastianBergmann\CodeCoverage::start()
is called for the first time andprocessUncoveredFiles
is set totrue
- #797: Class name is wrongly removed from namespace name
9.1.4 - 2020-08-13
- #793: Lines with
::class
constant are not covered
9.1.3 - 2020-08-10
- Changed PHP-Parser usage to parse sourcecode according to the PHP version we are currently running on instead of using emulative lexing
9.1.2 - 2020-08-10
- #791: Cache Warmer does not warm all caches
9.1.1 - 2020-08-10
- Added
SebastianBergmann\CodeCoverage::cacheDirectory()
method for querying where the cache writes its files
9.1.0 - 2020-08-10
- Implemented a persistent cache for information gathered using PHP-Parser based static analysis (hereinafter referred to as "cache")
- Added
SebastianBergmann\CodeCoverage::cacheStaticAnalysis(string $cacheDirectory)
method for enabling the cache; it will write its files to$directory
- Added
SebastianBergmann\CodeCoverage::doNotCacheStaticAnalysis
method for disabling the cache - Added
SebastianBergmann\CodeCoverage::cachesStaticAnalysis()
method for querying whether the cache is enabled - Added
SebastianBergmann\CodeCoverage\StaticAnalysis\CacheWarmer::warmCache()
method for warming the cache
9.0.0 - 2020-08-07
- #761: Support for Branch Coverage and Path Coverage
- Added
SebastianBergmann\CodeCoverage\Driver\Driver::forLineCoverage()
for selecting the best available driver for line coverage - Added
SebastianBergmann\CodeCoverage\Driver\Driver::forLineAndPathCoverage()
for selecting the best available driver for path coverage - This component is now supported on PHP 8
- This component now supports Xdebug 3
- #746: Remove some ancient workarounds for very old Xdebug versions
- #747: Use native filtering in PCOV and Xdebug drivers
- #748: Store raw code coverage in value objects instead of arrays
- #749: Store processed code coverage in value objects instead of arrays
- #752: Rework how code coverage settings are propagated to the driver
- #754: Implement collection of raw branch and path coverage
- #755: Implement processing of raw branch and path coverage
- #756: Improve handling of uncovered files
SebastianBergmann\CodeCoverage\Filter::addDirectoryToWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::includeDirectory()
SebastianBergmann\CodeCoverage\Filter::addFilesToWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::includeFiles()
SebastianBergmann\CodeCoverage\Filter::addFileToWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::includeFile()
SebastianBergmann\CodeCoverage\Filter::removeDirectoryFromWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::excludeDirectory()
SebastianBergmann\CodeCoverage\Filter::removeFileFromWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::excludeFile()
SebastianBergmann\CodeCoverage\Filter::isFiltered()
has been renamed toSebastianBergmann\CodeCoverage\Filter::isExcluded()
SebastianBergmann\CodeCoverage\Filter::getWhitelist()
has been renamed toSebastianBergmann\CodeCoverage\Filter::files()
- The arguments for
CodeCoverage::__construct()
are no longer optional
- #700: Throw an exception if code coverage fails to write to disk
SebastianBergmann\CodeCoverage\CodeCoverage::setCacheTokens()
andSebastianBergmann\CodeCoverage\CodeCoverage::getCacheTokens()
have been removedSebastianBergmann\CodeCoverage\CodeCoverage::setCheckForUnintentionallyCoveredCode()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::enableCheckForUnintentionallyCoveredCode()
orSebastianBergmann\CodeCoverage\CodeCoverage::disableCheckForUnintentionallyCoveredCode()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setSubclassesExcludedFromUnintentionallyCoveredCodeCheck()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::excludeSubclassesOfThisClassFromUnintentionallyCoveredCodeCheck()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setAddUncoveredFilesFromWhitelist()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::includeUncoveredFiles()
orSebastianBergmann\CodeCoverage\CodeCoverage::excludeUncoveredFiles()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setProcessUncoveredFiles()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::processUncoveredFiles()
orSebastianBergmann\CodeCoverage\CodeCoverage::doNotProcessUncoveredFiles()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setIgnoreDeprecatedCode()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::ignoreDeprecatedCode()
orSebastianBergmann\CodeCoverage\CodeCoverage::doNotIgnoreDeprecatedCode()
insteadSebastianBergmann\CodeCoverage\CodeCoverage::setDisableIgnoredLines()
has been removed, please useSebastianBergmann\CodeCoverage\CodeCoverage::enableAnnotationsForIgnoringCode()
orSebastianBergmann\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 useSebastianBergmann\CodeCoverage\Filter::isEmpty()
insteadSebastianBergmann\CodeCoverage\Filter::getWhitelistedFiles()
has been removedSebastianBergmann\CodeCoverage\Filter::setWhitelistedFiles()
has been removed
8.0.2 - 2020-05-23
- #750: Inconsistent handling of namespaces
- #751: Dead code is not highlighted correctly
- #753: Do not use
$_SERVER['REQUEST_TIME']
because the test(ed) code might unset it
8.0.1 - 2020-02-19
- #731: Confusing footer in the HTML report
8.0.0 - 2020-02-07
- This component is no longer supported on PHP 7.2
7.0.15 - 2021-07-26
- Bumped required version of php-token-stream
7.0.14 - 2020-12-02
- #837: Allow version 4 of php-token-stream
7.0.13 - 2020-11-30
- Changed PHP version constraint in
composer.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.
7.0.12 - 2020-11-27
- #834: Support
XDEBUG_MODE
environment variable
7.0.11 - 2020-11-27
- Support for Xdebug 3
7.0.10 - 2019-11-20
- #710: Code Coverage does not work in PhpStorm
7.0.9 - 2019-11-20
- #709: Prioritize PCOV over Xdebug
7.0.8 - 2019-09-17
- Update HTML report Bootstrap 4.3.1, jQuery 3.4.1, and popper.js 1.15.0
7.0.7 - 2019-07-25
- Bumped required version of php-token-stream
7.0.6 - 2019-07-08
- Bumped required version of php-token-stream
7.0.5 - 2019-06-06
- #681:
use function
statements are not ignored
7.0.4 - 2019-05-29
- #682: Code that is not executed is reported as being executed when using PCOV
7.0.3 - 2019-02-26
- #671:
TypeError
when directory name is a number
7.0.2 - 2019-02-15
- Updated HTML report to Bootstrap 4.3.0
- #667:
TypeError
in PHP reporter
7.0.1 - 2019-02-01
- #664:
TypeError
when whitelisted file does not exist
7.0.0 - 2019-02-01
- #663: Support for PCOV
- This component is no longer supported on PHP 7.1