Breaking changes:
- Improve data model to have several coverage information per line. (#1069)
- Option
--merge-mode-conditionsis removed. - Property
function_namefor a line inJSONreport is now always set. JSONreport can now have several entries per line also with legacy text parser.- Cobertura and
HTMLreport now contain function coverage also for older GCC versions.
- Option
- 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-linkto link files inMarkdownreport. (#1079)
- Add option
- 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
Coverallsreport. (#1121) - Add support to define
--exclude-lines-by-patternand--exclude-branches-by-pattern
more than once. (#1129) - Add
--sonarqube-metricto define which metric is used as branch metric in report. (#1132) - Add
--sonarqube-prettyto pretty print the report. (#1136) - If the value for
-jis 0, the number of CPUs is used. If it is negative the it means "all but N CPUs". (#1148) - Add
--warn-excluded-lines-with-hitsto 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)
Bug fixes and small improvements:
-
Fix warning
Deprecated config key None used, please use 'txt-metric=branch' instead.
iftxt-metric="branch"is used in config file. (#1066) -
Add
excludedproperty for conditions and calls to theJSONreport. (#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
Coberturareport. (#1085) -
Fix
JaCoCoreport to follow the DTD. (#1089) -
Do not use option
--callsas 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-18andclang-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
gcovJSON 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-errorsand--gcov-ignore-parse-errors.
-
Fix wrong handling of functions with specialization. (#1126)
-
Fix errors in
Clover XMLreport. (#1138)- Remove optional attributes where information is not available:
loccontained the highest line number with coverage information instead of lines of the file.ncloccontained the number of reportable lines instead of the lines of the file without comments.
statementsandcoveredstatementscontain now the correct value instead of0.
- Remove optional attributes where information is not available:
-
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: