Recent Releases of devtools
devtools - 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 ofR 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.
- R
Published by jennybc over 3 years ago
devtools - 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).
- R
Published by jennybc over 3 years ago
devtools - 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.
- R
Published by jimhester about 4 years ago
devtools - 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)
- R
Published by jimhester over 4 years ago
devtools - 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)
- R
Published by jimhester almost 5 years ago
devtools - 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 running
test_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.
- R
Published by jimhester almost 5 years ago
devtools - devtools 2.3.2
- Fix for compatibility with withr 2.3.0
- R
Published by jimhester over 5 years ago
devtools - 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
- R
Published by jimhester over 5 years ago
devtools - devtools 2.3.0
build()now errors with a more informative error message when passed an invalidpkg. (#2177)New
build_rmd()can build any.Rmdfile in a clean session.dev_sitrep()now works correctly when R is out of date (#2204)
- R
Published by jimhester almost 6 years ago
devtools - devtools 2.2.2
install_dev_deps()now passes formal args ontoremotes::install_deps()(@t-gibson, #2166)spell_check()now checks ifspellingis 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 avignettesargument, 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 setsNOT_CRAN=trueby default, as was originally intended (#2135).install_deps()now supportsoptions("devtools.ellipsis_action")as well (#2169)test()now takesstop_on_failureas a formal argument (FALSE by default) instead of in.... Its value is still passed totestthat::test_diras before (@infotroph, #2129).test()andtest_coverage_file()gain aexport_allargument, 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.
- R
Published by jimhester about 6 years ago
devtools - devtools 2.2.1
test()now sets the collation order toCbefore running, which matches the behavior of tests when run withR CMD check(#2121)New
options("devtools.ellipsis_action")option added to control the action of ellipsis in devtools. This should be one ofrlang::abort- to emit an error if arguments are unusedrlang::warn- to emit a warning if arguments are unusedrlang::inform- to emit a message if arguments are unusedrlang::signal- to emit a message if arguments are unused Usingrlang::signalwill produce no output unless the custom condition is caught, so it is the best way to retain backwards compatibility with devtools behavior prior to 2.2.0. The default behavior was also changed to issue a warning rather than an error if any arguments are unused, as there are some cases where devtools does not need to install the package, so unused arguments are false positives (#2109).
install()now throws an error when it fails, as intended (#2120)install()now again reloads and re-attaches packages if they were previously loaded (#2111).release()no longer calls the deprecateddr_devtools()(#2105)test()now explicitly passesstop_on_failure = FALSEtotestthat::test_dir()(@jameslamb, #2099)
- R
Published by jimhester over 6 years ago
devtools - devtools 2.2.0
New Features
create()added back, the RStudio IDE usescreate()in the create packages dialog, so removing it in version 2.1.0 broke old versions of the IDE.New
dev_sitrep()function to return information about your development environment and diagnose common problems. The former functionsdr_devtools()anddr_github()have been deprecated. (#1970)All functions taking
...now use the ellipsis package. This catches errors when arguments are misspelled or incorrectly specified (#2016)
Minor improvements and fixes
build_vignettes()now correctly installs the vignette builder if it is not already installed (#2089).dev_sitrep()now uses the same endpoint to detect the current RStudio version as the IDE (#2050).document()gains aquietparameter, to silence output andcheck()now passes its quiet argument to it (#1986).Add the DT package as a dependency, so that
test_coverage()andtest_coverage_file()work without having to install additional packages (#2085).check_man()now succeeds whentools::undoc()returns empty results (#1944).check_win_*()functions gain aemailargument, so temporarily change the email the check results will be sent to (#1723).install()now explicitly unloads packages before trying to install a new version (#2094).All
install_*()functions now attach build tools to the PATH, which makes them work on Windows when RTools is not on the default PATH (#2093).test_coverage_file()now works when there is not a 1 to 1 correspondence between test and source files (#2011).release()now works again whenpkgis not the current working directory (#1974).release()now works without error whenoptions("repos")is unnamed (#1956).
- R
Published by jimhester over 6 years ago
devtools - devtools v2.1.0
New Features
testthatandroxygen2are now added toImportsrather thanSuggests, so they are automatically installed when you install devtools.
Deprecated functions now removed
create(),create_description(),setup()use_appveyor(),use_build_ignore(),use_code_of_conduct(),use_coverage(),use_cran_badge(),use_cran_comments(),use_data(),use_data_raw(),use_dev_version(),use_git(),use_git_hook(),use_github(),use_github_links(),use_gpl3_license(),use_mit_license(),use_news_md(),use_package(),use_package_doc(),use_rcpp(),use_readme_md(),use_readme_rmd(),use_revdep(),use_rstudio(),use_test(),use_testthat(),use_travis(),use_vignette(), have been removed after being deprecated in previous releases. Use the versions in the usethis package directly.check_cran(),revdep_check(),revdep_check_print_problems(),revdep_check_reset(),revdep_check_resume(),revdep_check_save_summary(),revdep_email()have been removed after being deprecated in prevous releases. It is recommended to use the revdepcheck package instead.system_check(),system_output()have been removed after being deprecated in previous releases. It is recommend to use the processx package instead.build_win()has been removed, after being deprecated in previous releases.yesno()as used inrelease()now has clearer synonyms for "yes" (@mattmalin, #1993)
Minor improvements and fixes
check_rhubgains a new argumentbuild_argsfor arguments passed toR CMD build....is now passed torhub::check_for_cran()(@gaborcsardi, @maelle, #2041)build_manual()now fails if the manual fails to build. (#2056)test_file()andtest_coverage_file()now work with C and C++ files in the src/ directory as well.
- R
Published by jimhester over 6 years ago
devtools - devtools v1.13.6
- Compatibility for git2r versions 0.22.0+
- Fix test errors related to GitHub SSLv1 changes with git2r versions =< 0.21.0.
- R
Published by jimhester almost 7 years ago
devtools - devtools v2.0.0
Devtools 2.0.0 is a major release that contains work from the past year and a half, since the major devtools release (1.13.0).
This release splits the functionality in devtools into a number of smaller packages which are simpler to develop and also easier for other packages to depend on. In particular the following packages have been spun off in what we are calling the 'conscious uncoupling' of devtools.
- remotes: Installing packages (i.e.
install_github()). - pkgbuild: Building binary packages (including checking if build tools are available) (i.e.
build()). - pkgload: Simulating package loading (i.e.
load_all()). - rcmdcheck: Running R CMD check and reporting the results (i.e.
check()). - revdepcheck: Running R CMD check on all reverse dependencies, and figuring
out what's changed since the last CRAN release (i.e.
revdep_check()). - sessioninfo: R session info (i.e.
session_info()). - usethis: Automating package setup (i.e.
use_test()).
devtools will remain the main package developers will interact with when writing R packages; it will just rely on these other packages internally for most of the functionality.
Breaking changes
There have been a number of breaking changes in this release, while this will cause some short term pain for users it will result in a easier to understand API in the future, so we feel the tradeoff is worthwhile.
devtools::install()arguments have been changed as follows.local->buildforce_deps->forceupgrade_dependencies->upgradethreads-> Removed, but you can useNcpus, which is passed by...toinstall.packages()metadata-> Removedout_dir-> Removedskip_if_log_exists-> Removed
check()argumentcheck_versionhas been renamed toremoteto better describe what tests are disabled (#1811)get_path(),set_path(),add_path()andon_path()have been removed, this functionality is available withwithr::with_path()(#1796).The
langargument tospell_check()was removed, for compatibility with spelling v1.1. (#1715)The previously deprecated
with_functions have now been removed. The functionality has been moved to the withr package.RCMD(),clean_source(),eval_clean()andevalq_clean()have been removed. These functions never worked terribly well, and have been replaced by the much better functions in callr.build_win()has been renamed tocheck_win_release(),check_win_devel(), andcheck_win_oldrelease()(#1598).
Deprecated functions
Infrastructure functions (
use_*) now use the implementations in usethis and the versions in devtools are deprecated. If you use these from a package you should switch your package to depend on usethis directly instead.The
revdep_check_*functions have been deprecated in favor of the revdepcheck package.system_check()andsystem_output()have been deprecated in factor of the processx package.
Major changes
All
install_*()functions are now re-exported from remotes rather than being defined in devtoolsdevtools now depends on roxygen2 6.1.0: this considerably simplifies
devtools::document()and makes it more consistent withroxygen2::roxygenise().test_file()function added to test one or more files from a package (#1755).test_coverage()function added to provide a helper to compute test coverage using covr (#1628).test_file()andtest_coverage_file()now have RStudio addins (#1650)test_file_coverage()function added to show the test coverage of one or more files from a package. (#1755).session_info()now uses the implementation in the sessioninfo package. Packages usingdevtools::session_info()are encouraged to switch to usingsessioninfo::session_info()instead.package_info()function now re-exported from the sessioninfo package.check()now uses rcmdcheck to run and parse R CMD check output (#1153).Code related to simulating package loading has been pulled out into a separate package, pkgload. The following functions have been moved to pkgload without a shim:
clean_dll(),compile_dll(),dev_example(),dev_help(),dev_meta(),find_topic(),imports_env(),inst(),load_code(),load_dll(),ns_env(),parse_ns_file(),pkg_env(). These functions are primarily for internal use.load_all()andunload()have been moved to pkgload, but devtools provides shims since these are commonly used.find_rtools(),setup_rtools(),has_devel(),compiler_flags(),build()andwith_debug()have moved to the new pkgbuild package.build()andwith_debug()are re-exported by devtoolsThe
spell_check()code has been moved into the new spelling package and has thereby gained support for vignettes and package wordlists. The devtools function now wrapsspelling::spell_check_package().
Minor improvements and fixes
check_win_*()now build the package withmanual = TRUEby default (#1890).check()output now works more nicely with recent changes to rcmdcheck (#1874).reload()now reloads loaded but not attached packages as well as attached ones.Executed
styler::style_pkg()to update code style (#1851, @amundsenjunior).save_all()helper function wrapsrstudioapi::documentSaveAll()calls (#1850, @amundsenjunior).check()now allows users to run without--timings(#1655)update_packages()better documented to advertise it can be used to update packages installed by any of theinstall_*functions.check()gains aincomingoption to toggle the CRAN incoming checks.build_vignette()gains akeep_mdoption to allow keeping the intermediate markdown output (#1726)remote_sha.github()now correctly looks up SHA in private repositories (#1827, @renozao).devtools
use_*()functions now temporarily set the active usethis project if given a pkg argument that is not the current directory. This provides backwards compatibility with previous behavior (#1823).Vignettes are now built in a separate process, and the package is installed before building the vignettes (#1822)
build_readme()added to build the README.md from a README.Rmd (#1762)build_vignettes()now has acleanandupgradearguments, to control cleaning of intermediate files and upgrading vignette dependencies respectively. (#1770).release()gains an additional question ensuring you updated codemeta.json if one exists (#1774, #1754)test()now setsuseFancyQuotes = FALSEto better mimic the environment tests are run under withR CMD check(#1735).test()no longer passes encoding argument totestthat::test_dir()(#1776)install_url()can now install package binaries on windows (#1765)Fix skipping when installing from a full SHA (#1624)
add
pkgdown::build_site()wrapper (@kiwiroy, #1777)add pkgdown site (https://devtools.r-lib.org) (#1779, @jayhesselberth)
install_version()can now install current version of CRAN package on Windows and macOS (@jdblischak, #1730)The CRAN-RELEASE file is now added to .Rbuildignore (#1711)
check()andcheck_built()now have anerror_onargument to specify if they should throw an error on check failures. When run non-interactively this is set to "warnings" unless specified.check()now sets_R_CHECK_CRAN_INCOMING_REMOTE_instead of_R_CHECK_CRAN_INCOMING_on R versions which support the former option (#1271, #1276, #1702).Now use cli package to draw rules - they are more aesthetically pleasing and the correct width in the RStudio build pane (#1627).
release()has been tweaked to reflect modern submission workflow and to ask questions rather than running code for you (#1632).document(),load_all(),check(),build()andtest()now automatically save open files when they are run inside the RStudio IDE. (#1576)New
check_rhub()function to check packages using https://builder.r-hub.io/.run_exampleswas mistakenly passingshowtopkgload::run_example, causing it to fail (@amcdavid, #1449)New
build_manual()function that produces pdf manual for the package (@twolodzko, #1238).If you use git
release()now generates a file calledCRAN-RELEASEthat reminds you to tag the commit that you submitted to CRAN (#1198).release()once again looks for additional release questions in the correct environment (#1434).submit_cran()now checks that you're ready to submit, since this is a potentially expensive operation (#1228)check()defaults to runningdocument()only if you have used roxygen previously (#1437).Signal an error if commas are missing in between remote entries (#1511, @ianmcook).
build_vignettes()gains a quiet argument (#1543).source_gist()works once more when there is only a single file in the gist (#1266).In order to not run test helpers in
document(), thehelpersargument ofload_all()is set toFALSE(@nbenn, #1669)The
my_unzip()function is now able to use theutils::unzipfallback when R is compiled from source with no unzip package present (@theGreatWhiteShark, #1678)If the foghorn package is installed,
release()displays the results of the CRAN checks (#1672, @fmichonneau).
- R
Published by jimhester almost 7 years ago
devtools - devtools v2.0.1
This is a minor release mainly fixing bugs which snuck through in the devtools 2.0.0 release.
install()now correctly passes theupgradeparameter toremotes::install_deps()(@Paxanator, #1898).install_deps()now again works from any directory within a package (#1905)Add a RStudio addin for
test_coverage().All tests which use remote resources are now skipped on CRAN, to avoid spurious failures
- R
Published by jimhester almost 7 years ago
devtools - devtools v2.0.2
Two tests are not skipped when run on CRAN, as they fail due to an outdated pandoc and restrictions on writing to the package library respectively.
load_all()now accepts 'package' objects, regaining previous behavior in devtools prior to 2.0.0 (#1923)test(),test_coverage()andtest_coverage_file()now set theTESTTHAT_PKGenvironment variable, so it is more consistent with running the tests duringR CMD check(testthat#787).check()now replaces existing environment variables rather than appending them (#1914).
- R
Published by jimhester almost 7 years ago
devtools - Devtools 1.13.5
- Fix two test errors related to GitHub rate limiting and mocking base functions.
- R
Published by jimhester about 8 years ago
devtools - Devtools 1.13.4
- Fix test errors for upcoming testthat release.
- R
Published by jimhester over 8 years ago
devtools - Devtools v1.13.3
- Workaround a change in how
Rcpp::compileAttributes()stores the symbol names that broke devtools tests.
- R
Published by jimhester over 8 years ago
devtools - Devtools v1.13.2
Workaround a regression in Rcpp::compileAttributes().
Add trimws() implementation for R 3.1 support.
- R
Published by jimhester over 8 years ago
devtools - Devtools v1.13.1
Bugfix for installing from git remote and not passing git2r credentials (@james-atkins, #1498)
Fix
test()compatibility with testthat versions 1.0.2 (#1503).Fix
install_version(),install_bitbucket(),install_local(),install_url(),install_svn(),install_bioc()gainquietarguments and properly pass them to internal functions. (#1502)
- R
Published by jimhester almost 9 years ago
devtools - Devtools 1.13.0
This release contains a number of bugfixes and should be the last release of the monolithic devtools package. After this release much of devtools' functionality will be split into separate smaller packages, however the devtools package will still remain as a meta package.
New Features
spell_checkgains adictargument to set a custom language or dictionaryrelease()now checks documentation for spelling errors by default.New
use_gpl3_license()sets the license field inDESCRIPTIONand includes a copy of the license inLICENSE.
Revdep check improvements
Various minor improvements around checking of reverse dependencies (#1284, @krlmlr). All packages involved are listed at the start, the whole process is now more resilient against package installation failures.
revdep_check()andrevdep_check_resume()gain a skip argument which takes a character vector of packages to skip.revdep_check()andcheck_cran()gain aquiet_checkargument. You can usequiet_check = FALSEto see the actual text of R CMD check as it runs (not recommending with multiple threads).revdep_check_resume()now takes...which can be used to override settings fromrevdep_check(). For debugging a problem with package checks, tryrevdep_check(threads = 1, quiet_check = FALSE)revdep_check()collects timing information intiming.md(#1319, @krlmlr).Package names and examples are sorted in case-insensitive C collation (#1322, @krlmlr).
use_revdep()adds.gitignoreentry for check database (#1321, @krlmlr).Own package is installed in temporary library for revdep checking (#1338, @krlmlr).
Automated revdep check e-mails now can use the new
my_versionandyou_cant_installvariables. The e-mail template has been updated to use these variables (#1285, @krlmlr).Installation failures are logged during revdep checking, by default in
revdep/install. Once an installation has failed, it is not attempted a second time (#1300, @krlmlr).Print summary table in README.md and problems.md (#1284, @krlmlr).Revdep check improvements (#1284)
Bug fixes and minor improvements
Handle case of un-installed package being passed to session_info (#1281).
Using authentication to access Github package name. (#1262, @eriknil).
spell_check()checks for hunspell before running (#1475, @jimvine).add_desc_package()checks for package dependencies correctly (#1463, @thomasp85).Remove deprecated
argsargument frominstall_git()to allow passthrough toinstall(#1373, @ReportMort).added a
quietargument toinstall_bitbucket(), with a default value ofFALSE(fixes issue #1345, @plantarum).update_packages()allows for override of interactive prompt (#1260, @pkq).use_test()template no longer includes useless comments (#1349)Add encoding support in
test_dir()call by adding reference to pkg$encoding (#1306, @hansharhoff)Parse valid Git remote URLs that lack trailing
.git, e.g. GitHub browser URLs (#1253, @jennybc).Add a
check_bioconductor()internal function to automatically install BiocInstaller() if it is not installed and the user wants to do so.Improve Git integration.
use_git_ignore()anduse_git_config()gainquietargument, tests work without settinguser.nameanduser.emailGit configuration settings (#1320, @krlmlr).Improve Git status checks used in
release()(#1205, @krlmlr).Improved handling of local
file://repositories ininstall()(#1284, @krlmlr).setup()andcreate()gain newquietargument (#1284, @krlmlr).Avoid unnecessary query of
available_packages()(#1269, @krlmlr).Add cache setting to AppVeyor template (#1290, @krlmlr).
Fix AppVeyor test by manually installing
curl(#1301).install(dependencies = FALSE)doesn't query the available packages anymore (@krlmlr, #1269).use_travis()now opens a webpage in your browser to more easily activate a repo.use_readme_rmd()anduse_readme()share a common template with sections for package overview, GitHub installation (if applicable), and an example (@jennybc, #1287).test()doesn't load helpers twice anymore (@krlmlr, #1256).Fix auto download method selection for
install_github()on R 3.1 which lacks "libcurl" incapabilities(). (@kiwiroy, #1244)Fix removal of vignette files by not trying to remove files twice anymore (#1291)
- R
Published by jimhester almost 9 years ago
devtools - devtools 1.12.0
New features
- New
install_bioc()function and bioc remote to install Bioconductor packages from their SVN repository. install_dev_deps()gets everything you need to start development on source package - it installs all dependencies, and roxygen2 (#1193).use_dev_version()automates the process of switching from a release version number by tweaking theDESCRIPTION, adding a heading toNEWS.md(if present), and checking into git (if you use it) (#1076.)use_github()accepts a host argument, similar toinstall_github()(@ijlyttle, #1101)
Bug fixes and minor improvements
- Update with Rtools-3.4 information, (@jimhester)
- devtools now uses https to access the RStudio CRAN mirror if it will work on your system (#1059)
- Handle case when a GitHub request returns a non-JSON error response. (@jimhester, #1204, #1211)
- Suggested packages, including those specified as
Remotes:are now installed after package installation. This allows you to use circularRemotes:dependencies for two related packages as long as one of the dependencies is a Suggested package. (@jimhester, #1184, hadley/dplyr#1809) - bug fix for installation of binary packages on windows, they must be installed directly from a zip file. (@jimhester, #1191, #1192)
build_vignette()will now only install the "VignetteBuilder" if it's not present, not try and upgrade it if it is (#1139).clean_dll()Only removes package_name.def files and now operates recursively. (@jimhester, #1175, #1159, #1161)check_man()now prints a message if no problems are found (#1187).install_*functions andupdate_packages()refactored to allow updating of packages installed using any of the install methods. (@jimhester, #1067)install_github()now useshttps://api.github.comas the host argument, so users can specify 'http:' or other protocols if needed. (@jimhester, #1131, #1200)load_all()runs package hooks before sourcing test helper files allowing test helper to make use of objects created when a package is loaded or attached. (@imanuelcostigan, #1146)revdep_check()will now create therevdep/directory if it does not already exist (#1178).source_gist()gains afilenameargument to specify a particular file to source from a GitHub gist. (@ateucher, #1172)- Add a default codecov.yml file to turn off commenting with
use_coverage()(@jimhester, #1188) - Bug fix for 'nchar(text) : invalid multibyte string' errors when running
write_dcf()on DESCRIPTION files with non-ASCII encodings (#1224, @jimhester).
- R
Published by hadley over 9 years ago
devtools - devtools 1.11.1
- Bug fix in
search_path_for_rtools()using the gcc-4.9.3 toolchain when there is no rtools setting in the windows registry. (@jimhester, #1155)
- R
Published by hadley almost 10 years ago
devtools - devtools 1.11.0
Infrastructure helpers
create_description()now setsEncoding: UTF-8. This helps non-English package authors (#1123).- All
use_function have been overhauled to be more consistent, particularly arround notification. Most functions now also ask to overwrite if a file already exists (#1074). use_coverage()now adds covr to "Suggests", rather than recommending you install it explicitly in.travis.yml.use_cran_badge()now uses HTTPS URL (@krlmlr, #1124).use_github()now confirms that you've picked a good title and description (#1092) and prints the url of the repo (#1063).use_news(), anduse_test()open the files in RStudio (if you're using it and have the rstudioapi package installed).use_testthat()tells you what it's doing (#1056).use_travis()generates a template compatible with the newest R-travis.use_readme_md()creates a basicREADME.mdtemplate (#1064).use_revdep()has an updated template for the new revdep check system (#1090, @krlmlr).- Removed the deprecated
use_coveralls(),add_rstudio_project(),add_test_infrastructure(), andadd_travis().
Checks and and release()
check()now always succeeds (instead of throwing an error whenR CMD checkfinds anERROR), returning an object that summarises the check failures.check()gainsrun_dont_testandmanualarguments to control whether or not\donttest{}tests are tested, or manuals are built. This defaults toFALSE, butrelease()runs check with it set toTRUE(#1071; #1087, @krlmlr).- The
cleanupargument tocheck()is deprecated: it now always returns the path to the check directory. check_built()allows you to runR CMD checkon an already built package.check_cran()suppresses X11 withDISPLAY = "".release()has been tweaked to improve the order of the questions, and to ensure that you're ok with problems. It warns if bothinst/NEWS.RdandNEWS.mdexist (@krlmlr, #1135), doesn't throw error if Git head is detached (@krlmlr, #1136).release()gains anargsargument to control build options, e.g. to allow passingargs = "--compact-vignettes=both"for packages with heavy PDF vignettes (@krlmlr, #1077).system_check()gains new argumentspathto controls the working directory of the command, andthrowto control whether or not it throws an error on command failure.envhas been renamed to the more explicitenv_vars.
Revdep checks
revdep_check() has been overhauled. All revdep_ functions now work like
other devtools functions, taking a path to the package as the first argument.
revdep_check() now saves its results to disk as check/check.rds, and the other revdep() functions read from that cache. This also allows you to resume a partial run with revdep_check_resume(). This should be a big time saver if something goes unexpected wrong in the middle of the checks. You can blow away the cache and start afresh with revdep_check_reset().
revdep_check_save_summary() now creates README.md to save one level of clicking in github. It also creates a problems.md that contains only results for only packages that had warnings or errors. Each problem is limited to at most 25 lines of output - this avoids lengthy output for failing examples. revdep_check_print_problems() prints a bulleted list of problems, suitable for inclusion in your cran-comments.md.
Summary results are reported as they come in, every then messages you'll get a message giving elapsed and estimated remaining time.
An experimental revdep_email() emails individual maintainers with their R CMD check summary results (#1014). See testthat and dplyr for example usage.
There were a handful of smaller fixes:
- revdep_check() doesn't complain about missing git2r package anymore
(#1068, @krlmlr).
- Package index caches for revdep_check() now time out after 30 minutes.
- revdep_check_save_logs() has been removed - it is just not that useful.
- revdep_check_summary() has been removed - it never should have been
part of the exported API.
Other improvements
- Devtools now uses new gcc toolchain on windows, if installed (@jimhester).
install_git()now allows you to pass credentials to git2r to specify specific ssh credentials (@onlymee, #982)load_all()now sources all test helpers if you use testthat. This makes it much easier to interactively run tests (#1125).load_all()also correctly handlesunixandwindowssubdirectories withinR(@gaborcsardi, #1102)build_win()defaults to only R-devel, since this is most commonly what you want.- Help shims now inform you that you're using development documentation (#1049).
git_sha1()Fix fetching the latest git commit so that it also works for shallow git clones, i.e. git clones which make use of depth. (#1048, #1046, @nparley)
- R
Published by hadley almost 10 years ago
devtools - devtools 1.10.0
New features
curl,evaluate,roxygen2andrversionshave been moved from Imports to Suggests to lighten the dependency load of devtools. If you run a function that needs one of the packages, you'll prompted to install it (#962, @jimhester).- Devtools uses a new strategy for detecting RTools on windows: it now only
looks for Rtools if you need to
load_all()orbuild()a package with compiled code. This should make it easier to work with devtools if you're developing pure R packages (#947). package_file()lets you find files inside a package. It starts by finding the root directory of the package (i.e. the directory that containsDESCRIPTION) (#985).use_news_md()adds a basicNEWS.mdtemplate (#957).use_mit_license()writes the necessary infrastructure to declare and release an R package under the MIT license in a CRAN-compliant way. (#995, @kevinushey)check(cran = TRUE)adds--run-donttestsince you do need to test code in\dontest()for CRAN submission (#1002).
Package installation
install()installs packages specified in theAdditional_repositoriesfield, such as drat repositories. (#907, #1028, @jimhester). It correctly installs missing dependencies (#1013, @gaborcsardi). If called on a Bioconductor package, include the Bioconductor repositories if they are not already set (#895, @jimhester).install()gains ametadataargument which lets you add extra fields to theDESCRIPTIONon install. (#1027, @rmflight)install_github()andinstall_git()only downloads and installs the package if the remote SHA1 reference differs from the currently installed reference (#903, @jimhester).install_local()captures git and github information and stores it in theDESCRIPTION(#1027, @rmflight).install_version()is more robust when handling multiple repos (#943, #1030, @jimhester).- Bugfix for
Remotes:feature that prevented it from working if devtools was not attached as is done in travis-r (#936, @jimhester).
Bug fixes and minor improvements
check_dev_versions()checks only package dependencies (#983).check_man()replacescheck_doc()(since most other functions are named after the corresponding directory).check_doc()will hang around as an alias for the forseeable future (#958).create()produces a dummy namespace will fake comment so roxygen2 will overwrite silently (#1016).create()andsetup()are more permissive -- they now accept a path to either a new directory or empty directory. (#966, @kevinushey)document()now only runsupdate_collate()once.load_all()resolves a longstanding lazy load database corruption issue when reloading packages which define S3 methods on generics from base or other packages (#1001, @jimhester).release_checks()gains two new checks:check_vignette_titles()checks that your vignette titles aren't the default "Vignette Title" (#960, @jennybc).check_news_md()checks thatNEWS.mdisn't in your.Rbuildignore(since it's now supported by CRAN, #1042).
revdep_check():- More verbose about which package is installed (#926, @krlmlr)
- Verifies the integrity of already downloaded package archives (#930, @krlmlr)
- Is now more tolerant of errors when retrieving the summary for a checked package (#929, @krlmlr).
- When
ncpus > 1, it includes the package name for when so you know which package has failed and can start looking at the output without needing to wait for all packages to finish (@mattdowle). - Uses proper repository when
BiocInstaller::useDevel(TRUE)(#937, @jimhester).
- Shimmed
system.file()now respectsmustWork = TRUEand throws an error if the file does not exist (#1034). use_appveyor()template now createsfailure.zipartifact instead of polluting the logs withR CMD checkoutput (#1017, @krlmlr, @HenrikBengtsson).use_cran_comments()template has been improved (#1038).use_data()now warns when trying to save the same object twice, and stops if there is no object to save (#948, @krlmlr).use_revdep_check()no longer includesrevdep_check_save_logsin default template. I found I never used the logs and they just cluttered up the package directory (#1003).with_*()functions have moved into the withr package, and devtools functions have been deprecated (#925, @jimhester).
- R
Published by hadley about 10 years ago
devtools - devtools 1.9.1
- Avoid importing heavy dependencies to speed up loading (#830, @krlmlr).
- Remove explicit
library(testthat)call intest()(#798, @krlmlr). as.package()andload_all()gain new argumentcreate. Like other functions with apkgargument,load_all()looks for aDESCRIPTIONfile in parent directories - ifcreate = TRUEit will be automatically created if there's aR/ordata/directory (#852, @krlmlr).build_vignettes()gains dependencies argument (#825, @krlmlr).build_win()now usescurlinstead ofRCurlfor ftp upload.check()now uses a better strategy whencran = TRUE. Instead of attempting to simulate--as-cranbehaviour by turning on certain env vars, it now uses--as-cranand turns off problematic checks with env vars (#866). The problematiccran_env_vars()function has been removed.find_rtools()now looks for registry keys in both HKCU (user) and HKLM (admin) locations (@Kevin-Jin, #844)install()can now install dependencies from remote repositories by specifying them asRemotesin theDESCRIPTIONfile (#902, @jimhester). Seevignette("dependencies")for more details.install_*()detects if called on a Bioconductor package and if so, automatically includes the Bioconductor repositories if needed (#895, @jimhester).install_deps()now automatically upgrades out of date dependencies. This is typically what you want when you're working on a development version of a package. To suppress this behaviour, setupgrade_dependencies = FALSE(#863).install_deps()is more careful with...- this means additional arguments toinstall_*are more likely to work (#870).install_gitorious()has been removed since gitorious no longer exists (#913).load_all()no longer fails if auseDynLib()entry in the NAMESPACE is incorrect. This should make it easy to recover from an incorrect@useDynLib, because re-documenting() should now succeed.release()works for packages not located at root of git repository (#845, #846, @mbjones).revdep_check()now installs suggested packages by default (#808), and setsNOT_CRANenv var tofalse(#809). This makes testing more similar to CRAN so that more packages should pass cleanly. It also setsRGL_USE_NULLtotrueto stop rgl windows from popping up during testing (#897). It also downloads all source packages at the beginning - this makes life a bit easier if you're on a flaky internet connection (#906).- New
uninstall()removes installed package (#820, @krlmlr). - Add
use_coverage()function to add codecov.io or coveralls.io to a project, deprecateuse_coveralls()(@jimhester, #822, #818). use_cran_badge()uses canonical url form preferred by CRAN.use_data()also works with data from the parent frame (#829, @krlmlr).use_git_hook()now creates.git/hooksif needed (#888)- GitHub integration extended:
use_github()gains aprotocolargument (ssh or https), populates URL and BugReports fields of DESCRIPTION (only if non-existent or empty), pushes to the newly created GitHub repo, and sets a remote tracking branch.use_github_links()is a new exported function.dr_github()diagnoses more possible problems. (#642, @jennybc). use_travis(): Default travis script leaves notifications on default settings.uses_testthat()andcheck_failures()are now exported (#824, #839, @krlmlr).use_readme_rmd()usesuses_git()correctly (#793).with_debug()now useswith_makevars()rather thanwith_env(), because R reads compilation variables from the Makevars rather than the environment (@jimhester, #788).- Properly reset library path after
with_lib()(#836, @krlmlr). remove_s4classes()performs a topological sort of the classes (#848, #849, @famuvie).load_all()warns (instead of failing) if importing symbols, methods, or classes fromNAMESPACEfails (@krlmlr, #921).
- R
Published by hadley over 10 years ago
devtools - devtools 1.8.0
Helpers
- New
dr_devtools()runs some common diagnostics: are you using the latest version of R and devtools? It is run automatically byrelease()(#592). use_code_of_conduct()adds a contributor code of conduct from http://contributor-covenant.org. (#729)use_coveralls()allows you to easily add test coverage with coveralls (@jimhester, #680, #681).use_git()sets up a package to use git, initialising the repo and checking the existing files.use_test()adds a new test file (#769, @krlmlr).- New
use_cran_badge()adds a CRAN status badge that you can copy into a README file. Green indicates package is on CRAN. Packages not yet submitted or accepted to CRAN get a red badge.
Package installation and info
build_vignettes()automatically installs the VignetteBuilder package, if necessary (#736).install()andinstall_deps()gain a...argument, so additional arguments can be passed toutils::install.packages()(@jimhester, #712).install_svn()optionally accepts a revision (@lev-kuznetsov, #739).install_version()now knows how to look in multiple repos (#721).package_deps()(anddev_package_deps()) determines all recursive dependencies and whether or not they're up-to-date (#663). Useupdate(package_deps("xyz"))to update out of date dependencies. This code is used ininstall_deps()andrevdep_check()- it's slightly more aggressive than previous code (i.e. it forces you to use the latest version), which should avoid problems when you go to submit to CRAN.- New
update_packages()will install a package (and its dependencies) only if they are missing or out of date (#675). session_info()can now take a vector of package names, in which case it will print the version of those packages and their dependencies (#664).
Git and github
- Devtools now uses the git2r package to inspect git properties and install
remote git packages with
install_git(). This should be considerably more reliable than the previous strategy which involves calling the command linegitclient. It has two small downsides:install_git()no longer accepts additionalargs, and must do a deep clone when installing. dr_github()checks for common problems with git/github setup (#643).- If you use git,
release()now warns you if you have uncommited changes, or if you've forgotten to synchronise with the remote (#691). install_github()warns if repository contains submodules (@ashander, #751).
Bug fixes and minor improvements
- Previously, devtools ran all external R processes with
R --vanilla. Now it only suppresses user profiles, and constructs a custom.Rprofileto override the default. Currently, this.Rprofilesets up thereposoption. Among others, this enables the cyclic dependency check indevtools::release(#602, @krlmlr). R_BROWSERandR_PDFVIEWERenvironment variables are set to "false" to suppress random windows opening during checks.- Devtools correctly identifies RTools 3.1 and 3.2 (#738), and
preserves continuation lines in the
DESCRIPTION(#709). dev_help()now usesnormalizePath(). Hopefully this will make it more likely to work if you're on windows and have a space in the path.lint()gains acacheargument (@jimhester, #708).- Fixed namespace issues related to
stats::setNames()(#734, #772) andutils::unzip()(#761, @robertzk). release()now reminds you to check the existing CRAN check results page (#613) ands shows file size before uploading to CRAN (#683, @krlmlr).RCMD()andsystem_check()are now exported so they can be used by other packages. (@jimhester, #699).revdep_check()creates directories if needed (#759).system_check()combines arguments with, not,. (#753)test()gains an...argument so that additional arguments can be passed totestthat::test_dir(@jimhester, #747)use_travis()now suggests you link to the svg icon since that looks a little sharper. Default template setsCRAN: http://cran.rstudio.com/to enable the cyclic dependency check.NOT_CRANenvvar no longer overrides externally set variable.check(check_version = TRUE)also checks spelling of theDESCRIPTION; if no spell checker is installed, a warning is given (#784, @krlmlr).
- R
Published by hadley almost 11 years ago
devtools - Devtools 1.7.0
Improve reverse dependency checking
Devtools now supports a new and improved style of revdep checking with use_revdep(). This creates a new directory called revdep which contains a check.R template. Run this template to check all reverse dependencies, and save summarised results to check/summary.md. You can then check this file into git, making it much easier to track how reverse dependency results change between versions. The documentation for revdep_check() is much improved, and should be more useful (#635)
I recommend that you specify a library to use when checking with options("devtools.revdep.libpath"). (This should be a directory that already exists). This should be difference from your default library to keep the revdep environment isolated from your development environment.
I've also tweaked the output of revdep_maintainers() so it's easier to copy and paste into an email (#634). This makes life a little easier pre-release.
New helpers
lint()runslintr::lint_package()to check style consistency and errors in a package. (@jimhester, #694)use_appveyor()sets up a package for testing with AppVeyor (@krlmlr, #549).use_cran_comments()creates acran-comments.mdtemplate and adds it to.Rbuildignoreto help with CRAN submissions. (#661)use_git_hook()allows you to easily add a git hook to a package.use_readme_rmd()sets up a template to generate aREADME.mdfrom aREADME.Rmdwith knitr.
Minor improvements
- Deprecated
doc_cleanargument tocheck()has been removed. - Initial package version in
create()is now0.0.0.9000(#632).create()andcreate_description()checks that the package name is valid (#610). load_all()runsroxygen2::update_collate()before loading code. This ensures that files are sourced in the way you expect, as defined by roxygen@includetags. If you don't have any@includetags, the collate will be not be touched (#623).session_info()gainsinclude_baseargument to also display loaded/attached base packages (#646).release()no longer asks if you've read the CRAN policies since the CRAN submission process now asks the same question (#692).release(check = TRUE)now runs some additional custom checks. These include:- Checking that you don't depend on a development version of a package.
- Checking that the version number has exactly three components (#633).
release()now builds packages without the--no-manualswitch, both for checking and for actually building the release package (#603, @krlmlr).build()gains an additional argumentmanual, defaulting toFALSE, andcheck()gains...unmodified tobuild().use_travis()now sets an environment variable so that any WARNING will also cause the build to fail (#570).with_debug()andcompiler_flags()setCFLAGSetc instead ofPKG_CFLAGS.PKG_*are for packages to use, the raw values are for users to set. (According to http://cran.rstudio.com/doc/manuals/r-devel/R-exts.html#Using-Makevars)New
setup()works likecreate()but assumes an existing, not necessarily empty, directory (#627, @krlmlr).
Bug fixes
- When installing a pull request,
install_github()now uses the repository associated with the pull request's branch (and not the repository of the user who created the pull request) (#658, @krlmlr). missing_s3()works once again (#672)- Fixed scoping issues with
unzip().
- R
Published by hadley about 11 years ago
devtools - Devtools 1.6.1
- Don't set non-portable compiler flags on Solaris.
- The file
template.Rprojis now correctly installed and the functionuse_rstudioworks as it should. (#595, @hmalmedal) - The function
use_rcppwill now create the filesrc/.gitignorewith the correct wildcards. (@hmalmedal)
- R
Published by hadley over 11 years ago
devtools - Devtools 1.6
devtools 1.6
Tool templates and create()
create()no longer generatesman/directory - roxygen2 now does this automatically. It also no longer generates an package-level doc template. If you want this, useuse_package_doc(). It also makes a dummy namespace so that you can build & reload without runningdocument()first.- New
use_data()makes it easy to include data in a package, either indata/(for exported datasets) or inR/sysdata.rda(for internal data). (#542) - New
use_data_raw()createsdata-raw/directory for reproducible generation ofdata/files (#541). - New
use_package()allows you to set dependencies (#559). - New
use_package_doc()sets up an Roxygen template for package-level docs. - New
use_rcpp()sets up a package to use Rcpp. use_travis()now figures out your github username and repo so it can construct the markdown for the build image. (#546)- New
use_vignette()creates a draft vignette using Rmarkdown (#572). - renamed
add_rstudio_project()touse_rstudio(),add_travis()touse_travis(),add_build_ignore()touse_build_ignore(), andadd_test_infrastructure()touse_testthat()(old functions are aliased to new)
The release process
- You can add arbitrary extra questions to
release()by defining a functionrelease_questions()in your package. Yourrelease_questions()should return a character vector of questions to ask (#451). release()uses new CRAN submission process, as implemented bysubmit_cran()(#430).
Package installation
- All
install_*now use the same code and store much useful metadata. Currently onlysession_info()takes advantage of this information, but it will allow the development of future tools like generic update functions. - Vignettes are no longer installed by default because they potentally require
all suggested packages to also be installed. Use
build_vignettes = TRUEto force building and to install all suggested packages (#573). install_bitbucket()has been bought into alignment withinstall_github(): this means you can now specify repos with the compactusername/repo@refsyntax. Theusernameis now deprecated.install_git()has been simplified and many of the arguments have changed names for consistency with metadata for other package installs.install_github()has been considerably improved:usernameis deprecated - please include the user in the repo name:rstudio/shiny,hadley/devtoolsetc.dependencies = TRUEis no longer forced (regression in 1.5) (@krlmlr, #462).- Deprecated parameters
auth_user,branch,pullandpasswordhave all been removed. - New
hostargument which allows you to install packages from github enterprise (#410, #506). - The GitHub API is used to download archive file (@krlmlr, #466) - this makes it less likely to break in the future.
- To download a specified pull request, use
ref = github_pull(...)(@krlmlr, #509). To install the latest release, use"user/repo@*release"orref = github_release()(@krlmlr, #350).
install_gitorious()has been bought into alignment withinstall_github(): this means you can now specify repos with the compactusername/repo@refsyntax. You must now always supply user (project) name and repo.install_svn()lets you install an R package from a subversion repository (assuming you have subversion installed).decompress()and henceinstall_url()now work when the downloaded file decompresses without additional top-level directory (#537).
Other minor improvements and bug fixes
- If you're using Rstudio, and you you're trying to build a binary package without the necessary build tools, Rstudio will prompt to download and install the right thing. (#488)
- Commands are no longer run with
LC_ALL=C- this no longer seems necessary (#507). build(binary = TRUE)creates an even-more-temporary package library avoid conflicts (#557).check_dir()no longer fails on UNC paths (#522).check_devtools()also checks for dependencies on development versions of packages (#534).load_all()no longer fails on partial loading of a package containing S4 or RC classes (#577).- On windows,
find_rtools()is now run on package load, not package attach. help(),?, andsystem.file()are now made available when a package is loaded withload_all(), even if the devtools package isn't attached.httr0.3 required (@krlmlr, #466).load_all()no longer gives an error when objects listed as exports are missing.- Shim added for
library.dynam.unload(). loaded_packages()now returns package name and path it was loaded from. (#486)- The
parenvs()function has been removed from devtools, because is now in the pryr package. missing_s3()uses a better heuristic for determining if a function is a S3 method (#393).- New
session_info()provides useful information about your R session. It's a little more focussed thansessionInfo()and includes where packages where installed from (#526). rstudioapipackage moved from suggests to imports, since it's always needed (it's job is to figure out if rstudio is available, #458)- Implemented own version
utils::unzip()that throws error if command fails and doesn't print unneeded messages on non-Windows platforms (#540). - Wrote own version of
write.dcf()that doesn't butcher whitespace and fieldnames.
Removed functionality
- The
freshargument totest()has been removed - this is best done by the editor since it can run the tests in a completely clean environment by starting a new R session.
- R
Published by hadley over 11 years ago
devtools - devtools 1.5
devtools 1.5
Four new functions make it easier to add useful infrastructure to packages:
- add_test_infrastructure() will create test infrastructure for a new package.
It is called automatically from test() if no test directories are
found, the session is interactive and you agree.
- add_rstudio_project() adds an Rstudio project file to your package.
create() gains an rstudio argument which will automatically create
an Rstudio project in the package directory. It defaults to TRUE:
if you don't use Rstudio, just delete the file.
- add_travis() adds a basic travis template to your package. .travis.yml
is automatically added to .Rbuildignore to avoid including it in the built
package.
- add_build_ignore() makes it easy to add files to .Rbuildignore,
correctly escaping special characters
Two dependencies were incremented:
- devtools requires at least R version 3.0.2.
- document() requires at least roxygen2 version 3.0.0.
Minor improvements
build_win()now builds R-release and R-devel by default (@krlmlr, #438). It also gains parameterargs, which is passed on tobuild()(@krlmlr, #421).check_doc()now runsdocument()automatically.install()gainsthreadargument which allows you to install multiple packages in parallel (@mllg, #401).threadsargument tocheck_cran()now defaults togetOption("Ncpus")install_deps(deps = T)no longer installs all dependencies of dependencies (#369).install_github()now prefers personal access tokens supplied toauth_tokenrather than passwords (#418, @jeroenooms).install_github()now defaults todependencies = TRUEso you definitely get all the packages you need to build from source.- devtools supplies its own version of
system.file()so that when the function is called from the R console, it will have special behavior for packages loaded with devtools. - devtools supplies its own version of
helpand?, which will search devtools-loaded packages as well as normally-loaded packages.
Bug fixes
check_devtools()no longer called bycheck()because the relevant functionality is now included inR CMD CHECKand it was causing false positives (#446).install_deps(TRUE)now includes packages listed inVignetteBuilder(#396)build()no longer checks forpdflatexwhen building vignettes, as many modern vignettes don't need it (#398). It also uses--no-build-vignettesfor >3.0.0 compatibility (#391).release()does a better job of opening your email client if you're inside of Rstudio (#433).check()now correctly reports the location of theR CMD checkoutput when called with a customcheck_dir. (Thanks to @brentonk)check_cran()records check times for each package tested.- Improved default
DESCRIPTIONfile created bycreate_description(). (Thanks to @ncarchedi, #428) - Fixed bug in
install_github()that prevented installing a pull request by supplyingrepo = "username/repo#pull". (#388) - explicitly specify user agent when querying user name and ref for pull request
in
install_github. (Thanks to Kirill Müller, #405) install_github()now removes blank lines found in a packageDESCRIPTIONfile, protecting users from the vagueerror: contains a blank lineerror. (#394)with_options()now works, instead of throwing an error (Thanks to @krlmlr, #434)
- R
Published by hadley almost 12 years ago
devtools - devtools 1.4.1
- Fixed bug in
wd()whenpathwas ommitted. (#374) - Fixed bug in
dev_help()that prevented it from working when not using Rstudio. source_gist()respects new github policy by sending user agent (hadley/devtools)install_github()now takes repo names of the form[username/]repo[/subdir][@ref|#pull]- this is now the recommended form to specify username, subdir, ref and/or pull for install_github. (Thanks to Kirill Müller, #376)
- R
Published by hadley over 12 years ago
devtools - Devtools 1.4
Installation improvements
install()now respects the global optionkeep.source.pkgs.install()gains abuild_vignetteswhich defaults to TRUE, and ensures that vignettes are built even when doing a local install. It does this by forcinglocal = FALSEif the package has vignettes, soR CMD buildcan follow the usual process. (#344)install_github()now takes repo names of the formusername/repo- this is now the recommended form for install_github if your username is not hadley ;)install_github()now adds details on the source of the installed package (e.g. repository, SHA1, etc.) to the package DESCRIPTION file. (Thanks to JJ Allaire)- Adjusted
install_version()to new meta data structure on CRAN. (Thanks to Kornelius Rohmeyer) - Fixed bug so that
install_version()works with version numbers that contain hyphens. (Thanks to Kornelius Rohmeyer) install_deps()is now exported, making it easier to install the dependencies of a package.
Other minor improvements
build(binary = TRUE)now no longer installs the package as a side-effect. (#335)build_github_devtools()is a new function which makes it easy for Windows users to upgrade to the development version of devtools.create_description()does a better job of combining defaults and user specified options. (#332)install()also installs the dependencies that do not have the required versions; besides, the argumentdependenciesnow works likeinstall.packages()(in previous versions, it was essentiallyc("Depends", "Imports", "LinkingTo")) (thanks, Yihui Xie, #355)check()andcheck_cran()gain newcheck_dirargument to control where checking takes place (#337)check_devtools()no longer incorrectly complains about avignettes/directory- Decompression of zip files now respects
getOption("unzip")(#326) dev_helpwill now use the Rstudio help pane, if you're using a recent version of Rstudio (#322)- Release is now a little bit smarter: if it's a new package, it'll ask you to read and agree to the CRAN policies; it will only ask about dependencies if it has any.
source_url()(andsource_gist()) accept SHA1 prefixes.source_gist()uses the github api to reliably locate the raw gist. Additionally it now only attempts to source files with.Ror.rextensions, and gains aquietargument. (#348)- Safer installation of source packages, which were previously extracted directly into the temp directory; this could be a problem if directory names collide. Instead, source packages are now extracted into unique subdirectories.
- R
Published by hadley over 12 years ago