codecov() now supports GitHub Actions for public repositories without having to specify a token.
New to_sonarqube() function added to support SonarQube generic XML format (@nibant, @Delfic, #413).
codecov() now supports GitHub Actions.
New in_covr() function added to return true if code is being run by covr (#407).
file_coverage(), environment_coverage() and function_coverage() now set R_COVR=true, to be consistent with package_coverage() (#407)
{ blocks. covr 3.3.0 switched to using ({, but this caused an inadvertent regression, as ( will make the result visible it is the last expression in a function. Using if (TRUE) { restores the previous behavior. (#391, #392)New azure() function added to make it easy to use covr on Azure Pipelines (#370)
Work around issues related to the new curly curly syntax in rlang (#379, #377, rlang#813)
Compiled code coverage has been improved, in particular C++ templates now contain the merged coverage of all template instances, even if the instances were defined in separate compilation units. (#390)
codecov() now includes support for the flags field (#365)
codecov now looks codecov.yml for token if CODECOV_TOKEN envvar is not set (@MishaCivey #349).
per_line() now does not track lines with only punctuation such as } or { (#387)
tally_coverage() now includes compiled code, like it did previously (#384)
Define the necessary coverage flags for C++14, C++17 and C++20 (#369).
to_cobertura() now works with Cobertura coverage-04.dtd (@samssann, #337).
R6 class generators prefixed with . are now included in coverage results (@jameslamb, #356).
package_coverage() gains option pre_clean, set to FALSE to disable cleaning of existing objects before running package_coverage() (@jpritikin, #375)
shine() has been removed. Instead use report().file_report() added when viewing coverage for a single file (#308).
display_name() is now exported, which can be useful to filter the coverage object by filename.
environment_coverage() added, mainly so it can be used for devtools::test_coverage_file().
gitlab() function added to create a coverage report for GitLab using GitLab’s internal pages (@surmann, #327, #331).
The (optional) dependency on shiny has been removed. report() can now be built with only DT and htmltools installed.
Fix for gcc-8 gcov output producing lines with no coverage counts in them (#328)
impute_srcref() now handles ... and drop through arguments in switch statements (#325).
tally_coverage() now avoids an error when there are NA values in the source references (#322).
covr(clean = TRUE) now cleans the temporary library as well (#144)
package_coverage() now returns the end of the file if there is a test error (#319)
report() now handles reports in relative paths with subdirectories correctly (#329)
report() reworked to look more like codecov.io and to display the overall coverage (#302, #307).
DT explicitly loaded early in report() so that failures will occur fast if it is not installed. (#321, @renkun-ken).
shine() has been deprecated in favor of report().Add support for .covrignore files (#238), to exclude files from the coverage.
Support future versions of R which do not use parse data by default (#309).
Allow using trace_calls() for manually adding functions to package trace that are not found automatically (#295, @mb706).
Fix errors when R is not in the PATH (#291)
Fix line computations when relative paths are being used (#242).
Fix for Coveralls Build processing error. (#285) on pro accounts from Travis CI (#306, @kiwiroy).
Keep attributes of function bodies (#311, @gaborcsardi)
Add an RStudio Addin for running a coverage report.
Never use mcexit fix on windows (#223).
Fix for a performance regression in parsing and reading parse data (#274).
Fix switch support for packages, which was broken due to a bug in how parse data is stored in packages.
Improve behavior of switch coverage, it now supports default values and fall through properly.
Add -p flag to gcov command to preserve file paths. Fixes a bug where gcov output didn’t get reported when multiple compiled source files had the same name (#271, @patperry)
R_COVR=true when covr is running (#236, #268).filter_not_package_files() now works if a source reference does not have a filename (#254, @hughjonesd).structure(NULL, *) which is deprecated in R 3.4.0 (#260, #261, @renkun-ken).mcparallel:::mcexit() automatically for packages using parallel (#195, @kforner).quit() calls.function_coverage() and package_coverage() not use non-standard evaluation.NULL statements are analyzed for coverage (#156, @krlmlr).if, while and for statements (#154, @krlmlr)..libPaths() in subprocess to match those in calling process (#140, #147).