usethis 1.5.0

Git, GitHub (and GitLab)

usethis gains several functions to inspect and manipulate the Git situation for the current project = repository. We also provide more control and visibility into git2r’s workings, especially around credentials (usethis uses git2r for all Git operations).

Other improvements and bug fixes:

GitHub pull requests

We’ve added experimental functions to work with GitHub pull requests. They are aimed at both a maintainer (who may make, review, and modify pull requests) and a contributor (who may make or explore pull requests).

Partial file management

usethis gains tooling to manage part of a file. This is currently used for managing badges in your README and roxygen import tags:

Extending and wrapping usethis

Tidyverse standards

These standards are (aspirationally) used by all tidyverse packages; you are welcome to use them if you find them helpful.

New functions not already mentioned

Other minor bug fixes and improvements

Dependency changes

usethis 1.4.0

File system

All usethis file system operations now use the fs package (#177). This should not change how usethis functions, but users may notice these features of fs-mediated paths:

Extending or wrapping usethis

These changes make it easier for others to extend usethis, i.e. to create workflow packages specific to their organization, or to use usethis in other packages.

New functions

Other small changes and bug fixes

Dependency changes

New Imports: fs, glue, utils

No longer in Imports: backports, httr, rematch2, rmarkdown (moved to Suggests), styler (moved to Suggests)

usethis 1.3.0

New functions

usethis 1.2.0

New functions

Other changes

usethis 1.1.0

New helpers

Bug fixes and improvements

usethis 1.0.0

This is a new package that extracts out many functions that previously lived in devtools, as well as providing more building blocks so you can create your own helpers. As well as the many new helpers listed below, there are three main improvements to the package:

usethis is gradually evolving towards supporting more general R “projects”, not just packages. This is still a work in progress, so please let me know if you use a function that you think should work with projects but doesn’t. You can also try out the new create_project() which creates a basic RStudio project.

The concept of the working directory and the “base path” have been refined. Rather than using an argument to specify the active project, all use_ functions now use a global active project setting, as returned by proj_get(). This is cached throughout a session, although it will be updated by create_package() and create_project(). You’ll now get an clear error if you attempt to use_something() outside of a project, and create_something() will warn if you’re trying to create inside an existing project.

The output from all usethis commands has been reviewed to be informative but not overwhelming. usethis takes advantage of colour (using crayon and RStudio 1.1) to help chunk the output and clearly differentiate what you need to do vs. what has been done for you.

New functions

New edit functions

A new class of functions make it easy to edit common config files:


Building blocks

Bug fixes and minor improvements