Releases: r-lib/devtools
devtools 2.5.0
Deprecations
- Package installation functions are now deprecated:
install_bioc(),install_bitbucket(),install_cran(),install_deps(),install_dev(),install_dev_deps(),install_git(),install_github(),install_gitlab(),install_local(),install_svn(),install_url(),install_version(),update_packages(),dev_package_deps(),github_pull(), andgithub_release(). We now recommend pak (https://pak.r-lib.org/) for general package installation. See?install-deprecatedfor migration guidance. - remotes has moved from Imports to Suggests, as part of the pivot towards pak for package installation (#2663).
build_rmd()is soft-deprecated and is discouraged for external use. It exists to be an internal helper forbuild_readme().build_vignettes()andclean_vignettes()are now deprecated. We no longer recommend building vignettes in this way; instead usepkgdown::build_article()to render articles locally (#2488).test_file()andtest_coverage_file()are now defunct. These were deprecated in devtools 2.4.0 (2021-04-07) in favour oftest_active_file()andtest_coverage_active_file(). Removingtest_file()eliminates the conflict withtestthat::test_file().release()is deprecated in favour ofusethis::use_release_issue().create()is deprecated in favour ofusethis::create_package().bash(),missing_s3(),reload(),show_news(), andwd()are now deprecated. These functions are all historical parts of our workflow that we no longer use or recommend.
Other improvements
build_readme()gains support forREADME.qmdand renders using Quarto (#2620).install()now installs dependencies withpak::local_install_deps()instead ofremotes::install_deps(). This lets us default toupgrade = FALSE, so that existing dependencies are only upgraded when a newer version is actually required (#2486).keep_sourcenow defaults toTRUEwhenbuild = FALSE, so that source references are automatically preserved during development installs.build_manual()reports more details on failure (#2586).build_site()now just callspkgdown::build_site(), meaning that you will get more (informative) output by default (#2578).check_doc_fields()is a new function that checks for missing\valueand\examplesfields in Rd files, which are commonly flagged by CRAN (#2525).check_mac_devel()is a new function to check a package using the macOS builder at https://mac.r-project.org/macbuilder/submit.html (@nfrerebeau, #2507)check_win()and friends gain awebformargument that uses a webform instead of passive FTP upload (@brownag, #2619).dev_sitrep()now works correctly inside Positron (#2618), uses pak instead of remotes to check for dependencies that are missing/behind/ahead (#2663), and uses cli for user-facing messages.is_loading()is now re-exported from pkgload (#2556).load_all()now errors if called recursively, i.e. if you accidentally include aload_all()call in one of your R source files (#2617).show_news()now looks for NEWS files in the same locations asutils::news():inst/NEWS.Rd,NEWS.md,NEWS, andinst/NEWS(@arcresu, #2499).test_active_file()now works when the active file is a snapshot file.test_coverage()andtest_coverage_active_file()gain a newreportargument that can be set to"html"(the default, for an interactive browser report),"zero"(prints uncovered lines to the console, used for LLMs and non-interactive contexts), or"silent". Theshow_reportargument has been removed (#2632).
devtools 2.4.6
-
Functions that use httr now explicitly check that it is installed
(@catalamarti, #2573). -
test_coverage()now works if the package has not been installed. -
test_coverage_active_file()now reports if any tests failed and does
a better job of executing snapshot comparisons. -
dev_mode()andcheck_rhub()are deprecated.
devtools 2.4.5
-
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 underlyingrcmdcheck::rcmdcheck(). -
check(cran = TRUE)sets the env var
_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_toFALSE, 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 theTESTTHAT_PKGenvvar (#2470). -
test()andtest_active_file()once again work with testthat itself.
devtools 2.4.4
-
install(reload = TRUE)now callspkgload::unregister()instead
ofpkload::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 callsload_all()twice.test_active_file()
now callsload_all()via testthat. -
aspell_env_var()does a better job of matchingR CMD checkbehaviour,
which is only to useaspell, nothunspellorispell(#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).
devtools 2.4.3
-
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()andsubmit_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.
devtools 2.4.2
-
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)
devtools 2.4.1
-
build_readme()now uses thepathargument, 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()andtest_coverage_active_file()instead of the deprecatedtest_file()andtest_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 theR_REMOTES_UPGRADEenvironment variable (#2345)
devtools 2.4.0
Breaking changes and deprecated functions
-
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 totest_active_file()andtest_coverage_file()has been renamed totest_coverage_active_file()to avoid a name collision withtestthat::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)
Re-licensing
- devtools is now released under a MIT license (#2326)
Minor improvements and fixes
-
build_readme()now supports readme files located ininst/README.Rmd, as intended (#2333) -
build_vignettes()now creates more specific.gitignoreentries (@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 runningtest_coverage()andtest_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(), andtest_coverage_active_file().
The major difference is thattest_active_file()now generates a compact summary that takes up less space on the console.
devtools 2.3.2
- Fix for compatibility with withr 2.3.0
devtools 2.3.1
-
run_examples()argumentsrunandtestare deprecated in favor of the (hopefully) more clearrun_dontrunandrun_donttest(pkgload/#107). -
Previously deprecated functions
dr_devtools()anddr_github()have been removed. -
Documentation has been synced with remotes 2.2.0