# ChangeLog

All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.

## [12.3.8] - 2025-09-17

### Fixed

* [#1092](https://github.com/sebastianbergmann/php-code-coverage/issues/1092): Error in `DOMDocument::saveXML()` is not handled
* [#1094](https://github.com/sebastianbergmann/php-code-coverage/issues/1094): No branch and path coverage in HTML report

## [12.3.7] - 2025-09-10

### Changed

* Do not use `__sleep()` method (which will be deprecated in PHP 8.5)

## [12.3.6] - 2025-09-02

### Fixed

* [#1091](https://github.com/sebastianbergmann/php-code-coverage/issues/1091): HTML report renderer uses code coverage driver

## [12.3.5] - 2025-09-01

### Changed

* [#1090](https://github.com/sebastianbergmann/php-code-coverage/issues/1090): Only export properties for configuration, code coverage data, and test results when serializing `CodeCoverage`

## [12.3.4] - 2025-08-29

### Changed

* Improved performance of `MapBuilder::build()`

## [12.3.3] - 2025-08-27

### Changed

* [#1085](https://github.com/sebastianbergmann/php-code-coverage/pull/1085): Improve performance by skipping empty lines after filter has been applied

## [12.3.2] - 2025-07-29

### Changed

* Add coverage and complexity columns to class and method complexity tables
* Add CRAP to graph tooltip

### Fixed

* [#1081](https://github.com/sebastianbergmann/php-code-coverage/issues/1081): Class complexity scatter chart tooltips show incorrect class

## [12.3.1] - 2025-06-18

### Changed

* Changed CSS for HTML report to not use common ligatures as this sometimes lead to hard-to-read code
* Updated Bootstrap to version 5.3.6 for HTML report

## [12.3.0] - 2025-05-23

### Changed

* [#1080](https://github.com/sebastianbergmann/php-code-coverage/pull/1080): Support for reporting code coverage information in OpenClover XML format; unlike the existing Clover XML reporter, which remains unchanged, the XML documents generated by this new reporter validate against the OpenClover project's XML schema definition, with one exception: we do not generate the `<testproject>` element. This feature is experimental and the generated XML might change in order to improve compliance with the OpenClover project's XML schema definition further. Such changes will be made in bugfix and/or minor releases even if they break backward compatibility.

[12.3.8]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.7...12.3.8
[12.3.7]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.6...12.3.7
[12.3.6]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.5...12.3.6
[12.3.5]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.4...12.3.5
[12.3.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.3...12.3.4
[12.3.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.2...12.3.3
[12.3.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.1...12.3.2
[12.3.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.3.0...12.3.1
[12.3.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.2.1...12.3.0
