Tools to make an R developer's life easier
check(cleanup =)
was deprecated in devtools v1.11.0 (2016-04-12) and was
made defunct in v2.4.4 (2022-07-20). The documentation is more clear now about
recommended alternatives.
check(check_dir = NULL)
is the new default, to align with the default
behaviour of the underlying rcmdcheck::rcmdcheck()
.
check(cran = TRUE)
sets the env var
_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_
to FALSE
, in order to
surface the "Namespace in Imports field not imported from"
NOTE. This only
applies to R >= 4.2, due to favorable changes in the behaviour of
R CMD check --as-cran
(#2459).
test_active_file()
passes the package onto to testthat so it can correctly
set the TESTTHAT_PKG
envvar (#2470).
test()
and test_active_file()
once again work with testthat itself.
install(reload = TRUE)
now calls pkgload::unregister()
instead
of pkload::unload()
(#2349). This allows the package to keep
functioning if it is still in use in the R session (e.g. through
event handlers).
test()
no longer calls load_all()
twice. test_active_file()
now calls load_all()
via testthat.
aspell_env_var()
does a better job of matching R CMD check
behaviour,
which is only to use aspell
, not hunspell
or ispell
(#2376).
Installing devtools now installs pkgdown, profvis, bench, miniUI, and urlchecker, ensuring that you have everything needed for package development (#2388).
dev_sitrep()
has been updated for the calendar-based version number scheme
adopted by the RStudio IDE in September 2021 (#2397, #2410).
New check_mac_release()
function to check a package using the macOS builder at https://mac.r-project.org/macbuilder/submit.html (#2375)
Jenny Bryan is now the official maintainer.
release()
and submit_cran()
now record submission details using the Debian Control File format, for better machine-readability. This file has a new name, CRAN-SUBMISSION (instead of CRAN-RELEASE) and now includes package version, in addition to the full SHA and a timestamp.
check_man()
now works with R versions 4.1+ (#2354)
test_active_file()
now again works on windows projects stored under the user's home directory (~
) (#2355)
document(quiet = TRUE)
now works without failure on windows (#2351)
Minor test failure on R 4.2 has been fixed.
New Rstudio addin for run_examples()
(#2358)
build_readme()
now uses the path
argument, as designed (#2344)
create()
no longer opens projects by default to avoid duplicate projects opened by the RStudio IDE project template (#2347, @malcolmbarrett)
The RStudio addins now use test_active_file()
and test_coverage_active_file()
instead of the deprecated test_file()
and test_coverage_file()
(#2339)
RStudio addins now run in interactive mode, rather than background mode (@jennybc, #2350)
install(upgrade)
now defaults to 'default' rather than 'ask'. This allows you to control the default asking behavior with the R_REMOTES_UPGRADE
environment variable (#2345)
The check_results()
function has been removed.
It was not used by any CRAN package, and much better alternatives are available in the rcmdcheck package.
pkgload::inst()
is no longer re-exported (#2218).
test_file()
has been renamed to test_active_file()
and test_coverage_file()
has been renamed to test_coverage_active_file()
to avoid a name collision with testthat::test_file()
.
The previous names have been soft deprecated in this release, they will be hard deprecated in the next release and eventually removed. (#2125)
build_readme()
now supports readme files located in inst/README.Rmd
, as intended (#2333)
build_vignettes()
now creates more specific .gitignore
entries (@klmr, #2317)
check()
now only re-documents if you have a matching version of roxygen2 (#2263).
change_maintainer_email()
now has a check to assess whether the email is actually changed.
If the email is not changed, the code now stops such that an email is not accidentally sent to the wrong recipient. (@emilsjoerup, #2073)
run_examples(fresh = TRUE)
again works without error (#2264)
The covr and DT packages have been moved from Imports to Suggests.
They are only needed when running test_coverage()
and test_coverage_active_file()
so now you'll be prompted to install them when needed.
Switched to fs for all file system functions (#2331, @malcolmbarrett)
Now uses testthat 3.0.0 to power test()
, test_active_file()
, test_coverage()
, and test_coverage_active_file()
.
The major difference is that test_active_file()
now generates a compact summary that takes up less space on the console.
run_examples()
arguments run
and test
are deprecated in favor of the (hopefully) more clear run_dontrun
and run_donttest
(pkgload/#107).
Previously deprecated functions dr_devtools()
and dr_github()
have been removed.
Documentation has been synced with remotes 2.2.0
build()
now errors with a more informative error message when passed an
invalid pkg
. (#2177)
New build_rmd()
can build any .Rmd
file in a clean session.
dev_sitrep()
now works correctly when R is out of date (#2204)
install_dev_deps()
now passes formal args onto remotes::install_deps()
(@t-gibson, #2166)
spell_check()
now checks if spelling
is installed and prompts users to
install it if not (@mikemahoney218, #2172)
submit_cran()
now returns a more informative error when the CRAN submission
portal is down (#1958)
check()
gains a vignettes
argument, to more easily disable checks for
vignettes (#2165).
check_win_*()
function now resets the email to the original email after
execution (@muschellij2, #2152).
check()
now sets NOT_CRAN=true
by default, as was originally intended (#2135).
install_deps()
now supports options("devtools.ellipsis_action")
as well
(#2169)
test()
now takes stop_on_failure
as a formal argument (FALSE by default)
instead of in ...
. Its value is still passed to testthat::test_dir
as
before (@infotroph, #2129).
test()
and test_coverage_file()
gain a export_all
argument, which
controls if all functions in a package are automatically exported (#1201).
dev_sitrep()
now works if run outside a package directory (#2127).
release()
now works if the package root is not in the working directory.