All notable changes are documented in this file using the Keep a CHANGELOG principles.
10.0.0 - 2021-MM-DD
- This component is no longer supported on PHP 7.3
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.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
6.1.4 - 2018-10-31
- #650: Wasted screen space in HTML code coverage report
6.1.3 - 2018-10-23
- Use
^3.1
ofsebastian/environment
again due to regression
6.1.2 - 2018-10-23
- #645: Crash that can occur when php-token-stream parses invalid files
6.1.1 - 2018-10-18
- This component now allows
^4
ofsebastian/environment
6.1.0 - 2018-10-16
- Class names are now abbreviated (unqualified name shown, fully qualified name shown on hover) in the file view of the HTML report
- Update HTML report to Bootstrap 4