Gcovr

Latest version: v8.3

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

8.3

---------------------

Known bugs:

Breaking changes:

- Replace setup.py with hatchling. To install from source at least version `21.3` of pip is needed. (:issue:`1026`)
- Drop support for Python 3.8. (:issue:`1030`)

New features and notable changes:

- Add condition coverage to text summary report. (:issue:`985`)
- Add :option:`--include` to search files in search paths which should be added to report. (:issue:`998`, :issue:`1044`)
- Add option to generate LCOV format produced by version 1.x of LCOV tool. (:issue:`1001`)
- Extend logging for data merge errors with info about the data sources. (:issue:`1010`)
- Add condition coverage merge mode option :option:`--merge-mode-conditions` (:issue:`1009`)
- Add :option:`--gcov-suspicious-hits-threshold` to configure the value for detecting suspicious hits in GCOV files. (:issue:`1021`)
- Renamed JSON element ``destination_blockno`` to ``destination_block_id``. (:issue:`1045`)
- Add :option:`--html-block-ids` to show the block ids of the lines and branches in HTML report. (:issue:`1055`)

Bug fixes and small improvements:

- Fixed an error handling bug throwing a ``TypeError`` exception on a gcov merge assertion failure
instead of reporting the error and (if requested by the user) continuing execution. (:issue:`997`)
- Check format version of external generated ``gcov`` JSON files. (:issue:`999`)
- Fix crash on Windows when trying to fix the case of the files. (:issue:`1000`)
- Fix LCOV report. Excluded lines where added with a count of 0. (:issue:`1012`)
- Fix line exclusion not clearing all child coverage data. (:issue:`1018`)
- Fix summary stats in ``JaCoCo`` report. (:issue:`1022`)
- Fix path issue when reading/writing ``Coveralls`` report. (:issue:`1037`)
- Fix issue with negative counters in GCOV JSON export. (:issue:`1048`)

Documentation:

- Update documentation for developing with Docker. (:issue:`1013`)

Internal changes:

- Add MacOs 15 and clang-16 to the GitHub test workflow. (:issue:`1004`)
- Fix sporadic timestamp mismatch in development build package. (:issue:`1006`)
- Replace ``black`` and ``flake8`` with ``ruff`` and move configuration of ``pytest`` to ``pyproject.toml``. (:issue:`1007`)
- Add ``pylint`` for testing code. (:issue:`1014`)
- Align variable names across the files. (:issue:`1015`)
- Rework exclusion handling to keep information about excluded coverage. (:issue:`1016`)
- Add ``mypy`` (using strict configuration) for testing code. (:issue:`1019`, :issue:`1028`, :issue:`1029`)
- Add a container class for the coverage data. (:issue:`1023`)
- Replace setup.py with hatchling. (:issue:`1026`)
- Move gcovr to ``src`` directory. (:issue:`1027`)
- The main routine doesn't call ``sys.exit`` on it's own, we always return the exit code. (:issue:`1029`)

8.2

---------------------

Known bugs:

Breaking changes:

New features and notable changes:

Bug fixes and small improvements:

Documentation:

- Fix documentation build issue.

Internal changes:

8.1

---------------------

Known bugs:

Breaking changes:

New features and notable changes:

- If a internal generated function is excluded the lines, if present, are excluded as well. (:issue:`991`)

Bug fixes and small improvements:

- Fix exclusion of internal functions. (:issue:`987`)
- Only print info on the first undefined block number in data model. (:issue:`990`)

Documentation:

Internal changes:

8.0

---------------------

Known bugs:

- Exclusion of internal function not working. (:issue:`984`)

Breaking changes:

- Changes related to added support of ``gcov`` JSON intermediate format:

- The function return count is removed from internal data model, HTML and JSON output because missing in
``gcov`` JSON intermediate format. (:issue:`935`)
- Renamed ``name`` key in in data model and JSON report to ``demangled_name``. If ``gcov`` JSON
intermediate format is used the ``name`` key will contained the mangled name. The keys are now
aligned with the ``gcov`` JSON intermediate format. (:issue:`974`)

- If block information is missing in ``gcov`` legacy text format block 0 is assumed. (:issue:`976`)

New features and notable changes:

- In Azure pipelines or GitHub actions errors and warnings are printed in an additional format captured by the CI. (:issue:`904`)
- Detect suspicious counter values in ``gcov`` output. (:issue:`903`)
- Add :option:`--html-single-page` to create a single page report (static or with Javascript). (:issue:`916`)
- Upload standalone applications as release artifacts. (:issue:`941`)
- Add support for ``gcov`` JSON intermediate format. (:issue:`766`)

- Add function, block and condition information to data model. (:issue:`954`, :issue:`960`, :issue:`964`, :issue:`979`)
- Add function function coverage to coveralls and HTML report. (:issue:`975`)

- Add :ref:`Exclusion markers` to exclude a while function. (:issue:`955`)
- Change sort order in JSON output files. (:issue:`959`)
- Add source exclusion markers to exclude source branch from target line. (:issue:`961`)

Bug fixes and small improvements:

- Implement consistent sorting of files with no lines, or one line with zero coverage (:issue:`918`)
- Use replacement value of 0 for function call count ``NAN %``. (:issue:`910`)
- Fix erroneous deprecation warning. (:issue:`912`)
- Fix display filename in HTML report. (:issue:`920`)
- Fix bundle of standalone executable with Python 3.12. (:issue:`924`)
- Fix merging of function coverage data. (:issue:`925`)
- Fix inefficient regular expression. (:issue:`933`)
- Fix missing output of gcov if execution fails. (:issue:`956`)

Documentation:

- Update Sphinx config because of deprecated context injection from Read The Docs. (:issue:`936`)

Internal changes:

- Move tests to directory in the root. (:issue:`897`)
- Add MacOs to the GitHub test workflow. (:issue:`901`, :issue:`905`, :issue:`980`)
- Remove test exclusions for MacOs and adapt tests and reference data. (:issue:`902`)
- Link correct documentation version in copyright header. (:issue:`907`)
- Move tag creation before publish the distribution because tag from pipeline doesn't trigger additional runs. (:issue:`899`)
- Fix scrubber for date in HTML test data. (:issue:`919`)
- Add test with Python 3.12. (:issue:`924`)
- Add gcc-14 to the test suite. (:issue:`923`)
- Skip coverage upload if executed in a fork. (:issue:`930`)
- Only execute pipeline if pushed on main and add button to execute workflow manual. (:issue:`930`)
- Check spelling in test pipeline. (:issue:`932`)
- Merge the test and deploy workflow to a single CI workflow. (:issue:`946`, :issue:`947`)
- Add Codacy to CI workflow for tracking coverage and code quality. (:issue:`948`)
- Add ``bandit`` to the linters. (:issue:`949`)
- Remove Codecov upload from pipeline. (:issue:`958`)
- Add test with ``bazel`` tests. (:issue:`969`)

7.2

----------------------

Fix tagging issue of 7.1, no functional change.

7.1

----------------------

Known bugs:

Breaking changes:

New features and notable changes:

- Add support for colored logging. (:issue:`887`)
- Add support for TOML configuration format. (:issue:`881`)
- Add support for Clover XML output format. (:issue:`888`)
- Add decision to JSON summary report if :option:`--decisions` is used. (:issue:`892`)

Bug fixes and small improvements:

- Add support for files with more than 9999 lines. (:issue:`883`, fixes :issue:`882`)
- Do not suppress gcov errors if exception occur. (:issue:`889`)

Documentation:

- Add nox session to generate the screenshots from the HTML files. (:issue:`877`)

Internal changes:

- Improve Dockerfile for faster rebuilds by using cache. (:issue:`878`)
- Fix deprecation warnings from GitHub actions. (:issue:`880`)
- Add pipeline job to apply tag if new version is bumped. (:issue:`879`)
- Improve test coverage and generate coverage report if executed in local environment. (:issue:`891`)

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.