NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2430 most downloaded on PyPI
Generate C/C++ code coverage reports with gcov
Last release 8 months ago
13 Jan 2026
Ships fairly regularly
a new release about every 8 months
Nearly every release is documented
notes for 27 of 27 stable releases
1 version withdrawn
withdrawn after publishing
16 years old
29 releases · first in 2010
New features and notable changes:
Known bugs:
fix_1270
fix_1284
fix_1285
fix_1290
Breaking changes:
Drop support for Python 3.9. (1227)
New features and notable changes:
Add support for Python 3.14. (1227)
Bug fixes and small improvements:
To avoid merge errors, add the line number to the name of the unknown function. (1229)
If intermediate files are kept, rename the gcov files before processing them to log the final filename. (1230)
Use the first line after a function definition and not the first line which is hit. (1231)
One column per quarter.
The option --lcov-format-1.x is deprecated and mapped to --lcov-format-version=1.x .
Breaking changes:
--lcov-test-name doesn't accept values with spaces anymore. (#1196)--lcov-format-1.x is deprecated and mapped to --lcov-format-version=1.x. (#1212)--html-static-report and remove argument from --html-single-page. (#1224)New features and notable changes:
Due to added support for LLVM source based code coverage format some configuration file
keys got changed. The old gcov named options are still supported but they also affect the
LLVM toolchain. (#1188)
gcov-exclude-directory is changed to exclude-directory.keep-gcov-files is changed to keep-intermediate-files.delete-gcov-files is changed to delete-input-files.Bug fixes and small improvements:
LCOV report. (#1171)--gcov-exclude. (#1176)--json-trace-data-source to include the trace data source in the JSON report--verbose. (#1178)--html-template-dir directory with only the style.colors.css file (#1179)gcc and gcov. (#1187).xz then LZMA is used to compress the report. (#1201)--exclude-function-lines to exclude the line of function definitionInternal changes:
_ with - in the options controlling the test suite:
--generate_reference is now --generate-reference--update_reference is now --update-reference--archive_differences is now --archive-differences--skip_clean is now --skip-clean--trace-include and --trace-exclude to get additional outputgcc-7, gcc-15, clang-11, clang-12 and clang-20 to the test suite. (#1177)mypy on PyPy implementation of python. (#1209)ccache. (#1211)Fix warning Deprecated config key None used, please use 'txt-metric=branch' instead. if txt-metric="branch" is used in config file.
Breaking changes:
--merge-mode-conditions is removed.function_name for a line in JSON report is now always set.JSON report can now have several entries per line also with legacy text parser.HTML report now contain function coverage also for older GCC versions.New features and notable changes:
--markdown-file-link to link files in Markdown report. (#1079)Coveralls report. (#1121)--exclude-lines-by-pattern and --exclude-branches-by-pattern--sonarqube-metric to define which metric is used as branch metric in report. (#1132)--sonarqube-pretty to pretty print the report. (#1136)-j is 0, the number of CPUs is used. If it is negative the it means "all but N CPUs". (#1148)--warn-excluded-lines-with-hits to print a warning if a line which is excluded by comments has a hit counter != 0. (#1151)Bug fixes and small improvements:
Deprecated config key None used, please use 'txt-metric=branch' instead.txt-metric="branch" is used in config file. (#1066)excluded property for conditions and calls to the JSON report. (#1080)Cobertura report. (#1085)JaCoCo report to follow the DTD. (#1089)--calls as exclusion filter. (#1090)clang-17,clang-18 and clang-19. (#1120)gcov JSON files to data model. (#1130)--gcov-ignore-errors and --gcov-ignore-parse-errors.Clover XML report. (#1138)
loc contained the highest line number with coverage information instead of lines of the file.ncloc contained the number of reportable lines instead of the lines of the file without comments.statements and coveredstatements contain now the correct value instead of 0.<title> of HTML reports more informative. The title of a file's source listing page now includes the file path. (#1155)Documentation:
Internal changes:
Known bugs:
fix_1165
fix_1171_1
fix_1171_2
fix_1176
fix_1187
fix_1189
fix_1192
fix_1194_1
fix_1194_2
fix_1197
fix_1206_1
fix_1206_2
fix_1270
Breaking changes:
Improve data model to have several coverage information per line. (1069)
Option --merge-mode-conditions is removed.
Property function_name for a line in JSON report is now always set.
JSON report can now have several entries per line also with legacy text parser.
Cobertura and HTML report now contain function coverage also for older GCC versions.
Add excluded metrics to HTML report. The total numbers in the report contain now also the excluded elements. (1153)
New features and notable changes:
Add support for Markdown output format. (1072)
Add filename and line number in warning logs. (1075)
Add option --markdown-file-link to link files in Markdown report. (1079)
Abort on version mismatch between gcc/gcov instead of trying all working directories. (1097)
Clean up temporary files generated by gcov tool when exception occurs. (1106, 1134)
Add branch information to Coveralls report. (1121)
Add support to define --exclude-lines-by-pattern and --exclude-branches-by-pattern more than once. (1129)
Add --sonarqube-metric to define which metric is used as branch metric in report. (1132)
Add --sonarqube-pretty to pretty print the report. (1136)
If the value for -j is 0, the number of CPUs is used. If it is negative the it means "all but N CPUs". (1148)
Add --warn-excluded-lines-with-hits to print a warning if a line which is excluded by comments has a hit counter != 0. (1151)
Add comment to exclude branches without hit in addition to exclude all. (1152)
Add support for LLVM source based code coverage format excluding MC/DC coverage. (1188)
Bug fixes and small improvements:
Fix warning Deprecated config key None used, please use 'txt-metric=branch' instead. if txt-metric="branch" is used in config file. (1066)
Add excluded property for conditions and calls to the JSON report. (1080)
Remove the fixed width of the HTML details which leads to text overflows. (1086)
Fix duplicate constructors, destructors and wrong const overload functions in Cobertura report. (1085)
Fix JaCoCo report to follow the DTD. (1089)
Do not use option --calls as exclusion filter. (1090)
Add support for reading gcov JSON data without source files. (1094)
Add back references to the data model to get source location in error messages. (1094)
Fix deprecation warning in standalone application. (1115)
Improvements of development environment (1118):
Add optional dependencies for development.
Add pre-commit hook to ensure quality checks.
All line endings, except for the git internal files, are preserved.
Update the reference data to the newest pygments version and extend the tests with clang-17, clang-18 and clang-19. (1120)
Fix error when merging conditions (and branches) for the same line if they are reported different across GCOV data files. (1092)
Improve branch details view if there are branches for several functions on same line. (1128)
Do not add files without functions and lines from gcov JSON files to data model. (1130)
Improve error message if regex pattern is wrong. (1135)
The error message now contains the option name.
Align option names if it can be used multiple times. The key used for storing the option is always written in singular and the option always has a singular version, except the options --gcov-ignore-errors and --gcov-ignore-parse-errors.
Fix wrong handling of functions with specialization. (1126)
Fix errors in Clover XML report. (1138)
Remove optional attributes where information is not available:
loc contained the highest line number with coverage information instead of lines of the file.
ncloc contained the number of reportable lines instead of the lines of the file without comments.
statements and coveredstatements contain now the correct value instead of 0.
Add support to save zipped reports if last suffix is .gz. This is useable to reduce the size for JSON report format --json. (1141)
Add --merge-lines to merge line coverage of several functions for same line. (1140)
Add highlighting for exclusion markers in HTML report file details. (1154)
Make <title> of HTML reports more informative. The title of a file's source listing page now includes the file path. (1155)
Documentation:
Fix formatting of verbatim text included from external files. (1093)
Internal changes:
Refactor internal data model:
Add merge functionality to coverage objects instead of an own file. (1067)
Move data serialization and deserialization from JSON report to coverage classes. (1078)
Update Windows runner to windows-2022 and windows-2025. (1108)
Add trusted publishing. (1114)
Restructure the line coverage data model and change the sort order in the reports. (1137)
Improve creation of docker image and fix build warnings. (1139)
Replace setup.py with hatchling. To install from source at least version 21.3 of pip is needed.
Known bugs:
Breaking changes:
21.3 of pip is needed. (#1026)New features and notable changes:
--include to search files in search paths which should be added to report. (#998, #1044)--merge-mode-conditions (#1009)--gcov-suspicious-hits-threshold to configure the value for detecting suspicious hits in GCOV files. (#1021)destination_blockno to destination_block_id. (#1045)--html-block-ids to show the block ids of the lines and branches in HTML report. (#1055)Bug fixes and small improvements:
TypeError exception on a gcov merge assertion failuregcov JSON files. (#999)JaCoCo report. (#1022)Coveralls report. (#1037)Documentation:
Internal changes:
black and flake8 with ruff and move configuration of pytest to pyproject.toml. (#1007)pylint for testing code. (#1014)mypy (using strict configuration) for testing code. (#1019, #1028, #1029)src directory. (#1027)sys.exit on it's own, we always return the exit code. (#1029)New features and notable changes:
Known bugs:
Breaking changes:
New features and notable changes:
Bug fixes and small improvements:
Documentation:
Internal changes:
Known bugs:
fix_1012
fix_1022
fix_1037
fix_1048
fix_1089.
fix_1126.
fix_1130
fix_1138
fix_1171_1
fix_1197
Breaking changes:
New features and notable changes:
Bug fixes and small improvements:
Documentation:
Fix documentation build issue.
Internal changes:
New features and notable changes:
Known bugs:
Breaking changes:
New features and notable changes:
Bug fixes and small improvements:
Documentation:
Internal changes:
Known bugs:
fix_1022
fix_1037
fix_1048
fix_1089
fix_1092
fix_1130
fix_1138
fix_1171_1
fix_1197
Breaking changes:
New features and notable changes:
If a internal generated function is excluded the lines, if present, are excluded as well. (991)
Bug fixes and small improvements:
Fix exclusion of internal functions. (987)
Only print info on the first undefined block number in data model. (990)
Documentation:
Internal changes:
Fix erroneous deprecation warning.
Known bugs:
Breaking changes:
gcov JSON intermediate format:
gcov JSON intermediate format. (#935)name key in in data model and JSON report to demangled_name. If gcov JSONname key will contained the mangled name. The keys are nowgcov JSON intermediate format. (#974)gcov legacy text format block 0 is assumed. (#976)New features and notable changes:
gcov output. (#903)--html-single-page to create a single page report (static or with Javascript). (#916)gcov JSON intermediate format. (#766)
Exclusion markers to exclude a while function. (#955)Bug fixes and small improvements:
NAN %. (#910)Documentation:
Internal changes:
bandit to the linters. (#949)bazel tests. (#969)Fix tagging issue of 7.1, no functional change.
Fix tagging issue of 7.1, no functional change.
Fix deprecation warnings from GitHub actions.
New features and notable changes:
--decisions is used. (#892)Bug fixes and small improvements:
Documentation:
Internal changes:
Known bugs:
fix_1022
fix_1037
fix_1089.
fix_1138
fix_1197
New features and notable changes:
Add support for colored logging. (887)
Add support for TOML configuration format. (881)
Add support for Clover XML output format. (888)
Add decision to JSON summary report if --decisions is used. (892)
Bug fixes and small improvements:
Add support for files with more than 9999 lines. (883, fixes 882)
Do not suppress gcov errors if exception occur. (889)
Documentation:
Add nox session to generate the screenshots from the HTML files. (877)
Internal changes:
Improve Dockerfile for faster rebuilds by using cache. (878)
Fix deprecation warnings from GitHub actions. (880)
Add pipeline job to apply tag if new version is bumped. (879)
Improve test coverage and generate coverage report if executed in local environment. (891)
The option -b , option --txt-branches and option --branches are deprecated, use option --txt-metric instead. The reason for this is that we have line,…
Breaking changes:
New features and notable changes:
--html-template-dir option to use custom Jinja2 templates (#758)--html-css contains the string /* Comment.Preproc */ no pygments CSS is added anymore. (#786)Devcontainer and GitHub Codespaces. (#771)--fail-under-decision and option --fail-under-function which will error under a given minimum coverage. (#773)--cobertura-add-tracefile option. (#805)--jacoco to generate JaCoCo XML format. (#823))str.casefold <https://docs.python.org/3.11/library/stdtypes.html?highlight=str%20casefold#str.casefold>_) (file_10.c comes after file_0.c).--sort-branches to sort by branches instead of lines, this is the default if option --txt-branches is used.--sort-reverse to reverse the sort order.search_paths. (#834)--gcov-ignore-parse-errors is used. (#852)-b, option --txt-branches and option --branches are deprecated, use option --txt-metric instead.--sort-uncovered and option --sort-percentage are deprecated, use option --sort instead.master to main. (#829, #873)Bug fixes and small improvements:
-j is used. (#752)gcov output. (#776)gcov (output write error introduced gcc-12). (#781)--gcov-ignore-errors to be able to ignore specific gcov errors. (#787)gcov-ignore-parse-errors). (#816)TypeError during decision analysis. (#784)gcov. (#820)--merge-mode-functionswhen merging coverage data. (#844)Documentation:
How to create a standalone application docs (#792)Internal changes:
--txt-summary in addition to option --print-summary--json-add-tracefile in addition to option --add-tracefile--gcov-delete in addition to option --delete--gcov-keep in addition to option --keep--gcov-object-directory in addition to option --object-directory--gcov-exclude-directories in addition to option --exclude-directories--gcov-use-existing-files in addition to option --use-gcov-filesgcc or clang. (#782)build instead of calling setup.py directly. (#819)clang-15 in our test suite and fix test with write protection under Mac OS. (#853)Remove not allowed attributes function-rate, functions-covered and functions-valid from cobertura report.
Breaking changes:
function-rate, functions-covered and functions-valid from cobertura report. (#671)--exclude-noncode-lines to exclude noncode lines. Noncode lines are not excluded by default anymore. (#704, #705)--gcov-ignore-parse-errors to accept list of errors to ignore. (#701)gcov errors:
gcov. (#653)gcov errors. Old behavior was to print a warning and continue. (#718)--cobertura is changed from coverage.xml to cobertura.xml (#721)Support of Keil uVision format. (#727)New features and notable changes:
--html-nested for reports that summarize subdirectories with aggregated statistics per directory. (#687)NAN % which is used in GCOV 7.5.0 instead of an invalid value. (#651)--json-base to define a base bath used in JSON reports. (#656)--calls to report call coverage: function calls invoked/total (#666)--keep when calling gcov internaly. (#703)--timestamp. (#729)Bug fixes and small improvements:
--html-tab-size feature. (#650)--version before parsing the configuration file. (#696)Exclusion markers. (#713)realpath for DirectoryPrefixFilter to support symlinks in root directory. (#712)-j is used and there are errors from gcov execution. (#721)realpath for DirectoryPrefixFilter to support symlinks in root directory. (#712)Documentation:
Internal changes:
--html-theme using CSS classes. (#650)cmake tests. (#676)gcc version for running tests. (#686)--update_reference option. (#698)clang-14 in our test suite and improve startup performance of docker image. (#731)nox command itself. (#734)nox command itself. (#734)Known bugs:
fix_1037
fix_1197
Breaking changes:
Remove not allowed attributes function-rate, functions-covered and functions-valid from Cobertura report. (671)
Remove "noncode" entries in JSON reports. (663)
New --exclude-noncode-lines to exclude noncode lines. Noncode lines are not excluded by default anymore. (704, 705)
Changed --gcov-ignore-parse-errors to accept list of errors to ignore. (701)
The default filename for --cobertura is changed from coverage.xml to cobertura.xml. (721)
Handling of gcov errors:
Do not ignore return code of gcov. (653)
New --gcov-ignore-errors to ignore gcov errors. Old behavior was to print a warning and continue. (718)
Revert changes from 623 and add documentation entry support keil uvision format. (727)
New features and notable changes:
New --html-nested for reports that summarize subdirectories with aggregated statistics per directory. (687)
Accept NAN % which is used in GCOV 7.5.0 instead of an invalid value. (651)
New --json-base to define a base bath used in JSON reports. (656)
New --calls to report call coverage: function calls invoked/total. (666)
New nox session to generate a portable application with pyinstaller, see standalone application. (661)
Print a warning if root directory contains symlinks. (652)
Change --keep when calling gcov internal. (703)
Allow annotations for never executed branches. (711)
Add function merge mode for same function defined in different lines. (700)
Update link to gcovr documentation in HTML report to point to the documentation of the used version. (723)
Add environment SOURCE_DATE_EPOCH to set default for --timestamp. (729)
Bug fixes and small improvements:
Fix --html-tab-size feature. (650)
Fix alphabetical sort of html report, for when there are symlinks. (685)
Handle --version before parsing the configuration file. (696)
Fix reports of excluded coverage. (409, 503, 663)
Fix handling for nonexistent source code for HTML-details and Coveralls reports. (663)
Exclude functions with Exclusion markers. (713)
Fix problem in decision parser if open block brace is on same line. (681)
Add Python 3.11 to test matrix. (717)
Fix casing of files if filesystem is case insensitive. (694)
Fix deadlock if -j is used and there are errors from gcov execution. (719)
Fix problem in decision parser if case is not on a single line with the break statement. (738)
Do not use realpath for DirectoryPrefixFilter to support symlinks in root directory. (712)
Documentation:
Add detailed reference for the JSON output format. (663)
Internal changes:
Select the --html-theme using CSS classes. (650)
Change and extend cmake tests. (676)
Detect gcc version for running tests. (686)
Use scrubbed data for --update_reference option. (698)
Install ninja with package manager instead of GitHub action. (699)
Rename the reference files coverage.xml to cobertura.xml and the test from xml to cobertura. (721)
Add support for clang-14 in our test suite and improve startup performance of docker image. (731)
Compare files by extension in test suite. (733)
Split HTML templates into one file for each part of the page. (735)
Change docker image to be able to use it like the nox command itself. (734)
This release bundles bugfixes and small improvements.
This release bundles bugfixes and small improvements.
New features and notable changes:
Bug fixes and small improvements:
≥ sign instead of >= in HTML legend. (#603)--add-tracefile will now correctly merge branch coverage. (#600).gcov parsing to support files generated by third party tools.
(#621, #623)Internal changes:
--reuse-existing-virtualenvs and --no-install to call inside docker. (#616)This release bundles bugfixes and improvements from about 9 months of work.
This release bundles bugfixes and improvements from about 9 months of work.
pip install -U gcovrHighlights include consistent support for symlinks including on Windows, and richer reports with function coverage and decision coverage.
Breaking changes:
xml configuration key to cobertura (#552)New features and notable changes:
--fail-under-line or --fail-under-branch fails (#502)--decisions option (reasonably formatted C/C++ source files only, HTML and JSON output) (#350)--timestamp option (#546)--no-markers option (#361)--exclude-pattern-prefix option (#561)--cobertura as a less ambiguous alias for --xml. (#552)Bug fixes and small improvements:
jinja2 >= 3.1 (#576)Documentation:
gcov (#528)Internal changes:
.gcov file format, should be more robust. (#512)-fprofile-abs-path compiler option (#521)This release bundles various improvements and new features over the last year.
This release bundles various improvements and new features over the last year.
Breaking changes:
Improvements and new features:
gcov path. (#385)--txt for text output. (#387)--csv for CSV output. (#376)--exclude-lines-by-pattern to filter out source lines by arbitrary regex. (#356)--json-summary to generate a JSON Summary report. (#366)--coveralls to generate a Coveralls compatible JSON report. (#328)/ or \ it is used as a directory. (#416)--add-tracefile. (#351)--filter and --exclude for Combining tracefiles. (#373)--root path at the start of file paths. (#452)--exclude-function-lines to exclude the line of the function definition in the coverage report. (#430)--html-self-contained to control externeal or internal CSS. (#367)--html-title changed. (#378)--html-tab-size to configure tab size in HTML details. (#377)--html-css for user defined styling. (#380)--html-theme to change the color theme. (#393)--no-html-details-syntax-highlighting. (#402, #415)Internal changes:
--generate_reference, --update_reference and --skip_clean. (#379)--archive_differences to save the different files as ZIP. Use this ZIP as artifact in AppVeyor. (#392)This release bundles various improvements and new features over the last year.
This release bundles various improvements and new features over the last year.
pip install -U gcovrBreaking changes:
--xml or --html now take an optional output file name. This potentially changes the interpretation of search paths. In gcovr --xml foo, previous gcovr versions would search the foo directory for coverage data. Now, gcovr will try to write the Cobertura report to the foo file. To keep the old meaning, separate positional arguments like gcovr --xml -- foo.Improvements and new features:
gcovr --add-tracefile. (#10, #326)--object-directory heuristics. (#18, #273, #280)catch clause is now shown as uncovered. (#283)--exclude-throw-branches option
to exclude exception handler branches. (#283)--root .. style invocation,
which might fix some CMake-related problems. (#294)gcovr --html -o cov.html and gcovr --html cov.html are equivalent. (#291)Known issues:
--keep option only works when using existing gcov files with -g/--use-gcov-files. (#285, #286)Documentation:
Internal changes:
Warning: Python 2.7 will reach its end of life on Jan 1, 2020. With its first release on or after that date, gcovr will drop support for that version. Subsequently, gcovr will only support Python versions that enjoy upstream support.
Please note that gcovr does not use a strict SemVer version number. When support for a Python version is dropped, gcovr will not necessarily increment its major version.
This is a minor update that restores/fixes the --exclude-directories option.
This is a minor update that restores/fixes the --exclude-directories option.
You can pip install --upgrade gcovr the newest release from PyPI
This release represents a huge amount of refactoring and under-the-hood improvements. Most users should not experience any regressions, although there
This release represents a huge amount of refactoring and under-the-hood improvements. Most users should not experience any regressions, although there are lots of smaller incompatible changes.
Highlights:
:star: Gcovr now runs perfectly on Python 3 (Python 3.5+ recommended).
:star: Filters are no longer restricted on Windows. The filter syntax was changed to use forward slashes everywhere, so a filter like -f 'src/.*\.cpp' will now behave identically on all platforms.
You can pip install gcovr the most recent release from PyPI.
Breaking changes:
Improvements and new features:
Internal changes:
Added --html-encoding command line option (#139).
Nothing published for this version
Added CI testing using TravisCI
Added CI testing using TravisCI
Added more tests for out of source builds and other nested builds
Avoid common file prefixes in HTML output (103)
Added the --execlude-directories argument to exclude directories from the search for symlinks (87)
Added branches taken/not taken to HTML (75)
Use --object-directory to scan for gcov data files (72)
Improved logic for nested makefiles (135)
Fixed unexpected semantics with --root argument (108)
More careful checks for covered lines (109)
Adding a test for out of source builds
Adding a test for out of source builds
Using the starting directory when processing gcov filenames. (42)
Making relative paths the default in html output.
Simplify html bar with coverage is zero.
Add option for using existing gcov files (35)
Fixing --root argument processing (27)
Adding logic to cover branches that are ignored (28)
Change to make the -r/--root options define the root directory for source files.
Change to make the -r/--root options define the root directory for source files.
Fix to apply the -p option when the --html option is used.
Adding new option, '--exclude-unreachable-branches' that will exclude branches in certain lines from coverage report.
Simplifying and standardizing the processing of linked files.
Adding tests for deeply nested code, and symbolic links.
Add support for multiple --filter options in the same manner as the --exclude option.
Adding the '--gcov-executable' option to specify the name/location of the gcov executable. The command line option overrides the environment variable,
Adding the '--gcov-executable' option to specify the name/location of the gcov executable. The command line option overrides the environment variable, which overrides the default 'gcov'.
Adding an empty "<methods/>" block to <classes/> in the XML output: this makes out XML compliant with the Cobertura DTD. (#3951)
Allow the GCOV environment variable to override the default 'gcov' executable. The default is to search the PATH for 'gcov' if the GCOV environment variable is not set. (#3950)
Adding support for LCOV-style flags for excluding certain lines from coverage analysis. (#3942)
Setup additional logic to test with Python 2.5.
Added the --html and --html-details options to generate HTML.
Sort output for XML to facilitate baseline tests.
Added error when the --object-directory option specifies a bad directory.
Added more flexible XML testing, which can ignore XML elements that frequently change (e.g. timestamps).
Added the '--xml-pretty' option, which is used to generate pretty XML output for the user manual.
Many documentation updates
New approach to walking the directory tree that is more robust to symbolic links
New approach to walking the directory tree that is more robust to symbolic links (#3908)
Normalize all reported path names
Normalize using the full absolute path (#3921)
Attempt to resolve files referenced through symlinks to a common project-relative path
Process gcno files when there is no corresponding gcda file to provide coverage information for unexecuted modules (#3887)
Windows compatibility fixes
Fix for how we parse source: file names (#3913)
Better handling od EOL indicators (#3920)
Fix so that gcovr cleans up all .gcov files, even those filtered by command line arguments
Added compatibility with GCC 4.8 (#3918)
Added a check to warn users who specify an empty --root option (see #3917)
Force gcov to run with en_US localization, so the gcovr parser runs correctly on systems with non-English locales (#3898, #3902).
Segregate warning/error information onto the stderr stream (#3924)
Miscellaneous (Python 3.x) portability fixes
Added the master svn revision number as part of the version identifier
- Adding support for Python 3.x
Adding support for Python 3.x
Adding the --gcov-filter and --gcov-exclude options.
Adding the --gcov-filter and --gcov-exclude options.
Improved estimation of the element when using gcovr with filters.
Added a test driver for gcovr.
Improved estimation of the <sources> element when using gcovr with filters.
Added revision and date keywords to gcovr so it is easier to identify what version of the script users are using (especially when they are running a snapshot from trunk).
Addressed special case mentioned in [comment:ticket:3884:1]: do not truncate the reported file name if the filter does not start matching at the beginning of the string.
Overhaul of the --root / --filter logic. This should resolve the issue raised in #3884, along with the more general filter issue raised in [comment:ticket:3884:1]
Overhaul of gcovr's logic for determining gcc/g++'s original working directory. This resolves issues introduced in the original implementation of --object-directory (#3872, #3883).
Bugfix: gcovr was only including a <sources> element in the XML report if the user specified -r (#3869)
Adding timestamp and version attributes to the gcovr XML report (see #3877). It looks like the standard Cobertura output reports number of seconds since the epoch for the timestamp and a doted decimal version string. Now, gcovr reports seconds since the epoch and "gcovr ``"+``__version__ (e.g. "gcovr 2.2") to differentiate it from a pure Cobertura report.
Added the --object-directory option, which allows for a flexible specification of the directory that contains the objects generated by gcov.
Added the --object-directory option, which allows for a flexible specification of the directory that contains the objects generated by gcov.
Adding fix to compare the absolute path of a filename to an exclusion pattern.
Adding error checking when no coverage results are found. The line and branch counts can be zero.
Adding logic to process the -o/--output option (#3870).
Adding patch to scan for lines that look like:
creating `foo'
as well as
creating 'foo'
Changing the semantics for EOL to be portable for MS Windows.
Add attributes to xml format so that it could be used by hudson/bamboo with cobertura plug-in.
Initial release as a separate package. Earlier versions of gcovr were managed within the 'fast' Python package.
Initial release as a separate package. Earlier versions of gcovr were managed within the 'fast' Python package.
Your coding agent can read these notes before it upgrades. Set up the MCP server →