-------------------
Breaking changes:
- Dropped support for Python 3.6 (:issue:`550`)
- Changed ``xml`` configuration key to ``cobertura`` (:issue:`552`)
- JSON summary output: all percentages are now reported from 0 to 100
(:issue:`570`)
New features and notable changes:
- Report function coverage (:issue:`362`, :issue:`515`, :issue:`554`)
- Consistent support for symlinks across operating systems
- Support for Windows junctions (:issue:`535`)
- Symlinks are only resolved for :ref:`evaluating filters <filters>`
(:issue:`565`)
- Show error message on STDERR
when :option:`--fail-under-line` or :option:`--fail-under-branch` fails
(:issue:`502`)
- Can report decision coverage with :option:`--decisions` option
(reasonably formatted C/C++ source files only, HTML and JSON output)
(:issue:`350`)
- Can create reproducible reports with the :option:`--timestamp` option
(:issue:`546`)
- Improvements to :ref:`Exclusion markers` (LINE/START/STOP)
- Can ignore markers in code with :option:`--no-markers` option (:issue:`361`)
- Can customize patterns with :option:`--exclude-pattern-prefix` option
(:issue:`561`)
- Can use :option:`--cobertura` as a less ambiguous alias for :option:`--xml`.
(:issue:`552`)
Bug fixes and small improvements:
- Gcov is invoked without localization by setting LC_ALL=C (:issue:`513`)
- Gcov is invoked without temporary directories (:issue:`525`)
- Gcov: solved problems with file name limitations. (:issue:`528`)
- Fixed "root" path in JSON summary report. (:issue:`548`)
- Correctly resolve relative filters in configuration files. (:issue:`568`)
- HTML output: indicate lines with excluded coverage (:issue:`503`)
- HTML output: fixed sanity check to support empty files (:issue:`571`)
- HTML output: support ``jinja2 >= 3.1`` (:issue:`576`)
Documentation:
- Split documentation into smaller pages (:issue:`552`)
- Document used options for ``gcov`` (:issue:`528`)
Internal changes:
- Replaced own logger with Python's logging module. (:issue:`540`)
- New parser for ``.gcov`` file format, should be more robust. (:issue:`512`)
- New tests
- more compilers:
clang-10 (:issue:`484`),
clang-13 (:issue:`527`),
gcc-9 (:issue:`527`)
- ``-fprofile-abs-path`` compiler option (:issue:`521`)
- enabled symlink tests for Windows (:issue:`539`)
- Improvements to the test suite
- Use Nox instead of Makefiles to manage QA checks (:issue:`516`, :issue:`555`)
- Can run tests for all compiler versions in one go (:issue:`514`)
- More linter checks (:issue:`566`)
and code style enforcement with black (:issue:`579`)
- Better XML diffing with yaxmldiff (:issue:`495`, :issue:`509`)
- Share test reference data between compiler versions where possible
(:issue:`556`)
- Better environment variable handling (:issue:`493`, :issue:`541`)
- Fixed glob patterns for collecting reference files (:issue:`533`)
- Add timeout for each single test. (:issue:`572`)
- Improvements and fixes to the release process (:issue:`494`, :issue:`537`)
- Normalize shell scripts to Unix line endings (:issue:`538`, :issue:`547`)