Skip to content

devtools 1.8.0

Compare
Choose a tag to compare
@hadley hadley released this 11 May 11:49

Helpers

  • New dr_devtools() runs some common diagnostics: are you using the
    latest version of R and devtools? It is run automatically by
    release() (#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() and install_deps() gain a ... argument, so additional
    arguments can be passed to utils::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() (and dev_package_deps()) determines all recursive
    dependencies and whether or not they're up-to-date (#663). Use
    update(package_deps("xyz")) to update out of date dependencies. This code
    is used in install_deps() and revdep_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 line git client. It has two small downsides: install_git()
    no longer accepts additional args, 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 .Rprofile to
    override the default. Currently, this .Rprofile sets up the repos option.
    Among others, this enables the cyclic dependency check in devtools::release
    (#602, @krlmlr).
  • R_BROWSER and R_PDFVIEWER environment 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 uses normalizePath(). Hopefully this will make it more
    likely to work if you're on windows and have a space in the path.
  • lint() gains a cache argument (@jimhester, #708).
  • Fixed namespace issues related to stats::setNames() (#734, #772) and
    utils::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() and system_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
    to testthat::test_dir (@jimhester, #747)
  • use_travis() now suggests you link to the svg icon since that looks a
    little sharper. Default template sets CRAN: http://cran.rstudio.com/ to
    enable the cyclic dependency check.
  • NOT_CRAN envvar no longer overrides externally set variable.
  • check(check_version = TRUE) also checks spelling of the DESCRIPTION; if no
    spell checker is installed, a warning is given (#784, @krlmlr).