Software Open Access
Will Landau; Will Landau; Alex Axthelm; Kendon Bell; Jasper
TL;DR: this is the first release in which
drake is part of rOpenSci. Relative to 4.4.0, this release has major changes to cache internals, user-level function names, and documentation.
draketo rOpenSci: https://github.com/ropensci/drake
configargument, which you can get from
make()decides to build targets.
storrcache in a way that is not back-compatible with projects from versions 4.4.0 and earlier. The main change is to make more intelligent use of
storrnamespaces, improving efficiency (both time and storage) and opening up possibilities for new features. If you attempt to run drake >= 5.0.0 on a project from drake <= 4.0.0, drake will stop you before any damage to the cache is done, and you will be instructed how to migrate your project to the new drake.
drakewas having problems with an edge case: as a command, the literal string
"A"was interpreted as the symbol
Aafter tidying. With
tidy_source(), literal quoted strings stay literal quoted strings in commands. This may put some targets out of date in old projects, yet another loss of back compatibility in version 5.0.0.
rescue_cache(), exposed to the user and used in
clean(). This function removes dangling orphaned files in the cache so that a broken cache can be cleaned and used in the usual ways once more.
NULL. This solves an elusive bug in how drake imposes timeouts.
graphargument to functions
prune_graph()function for igraph objects.
codeas names in the workflow plan data frame. Use
commandinstead. This naming switch has been formally deprecated for several months prior.
drake_strings()to remove the silly dependence on the
drake_config(). Increases speed.
sanitize_plan(), remove rows with blank targets "".
clean()to optionally remove all target-level information.
cached()so users can inspect individual
verboseto numeric: 0 = print nothing, 1 = print progress on imports only, 2 = print everything.
next_stage()function to report the targets to be made in the next parallelizable stage.
sessionInfo()is a bottleneck for small
make()s, so there is now an option to suppress it. This is mostly for the sake of speeding up unit tests.
make()to suppress progress logging. This increases storage efficiency and speeds some projects up a tiny bit.
readd(). You can now load and read from non-default
make(..., cache_log_file = TRUE)as options to track changes to targets/imports in the drake cache.
rmarkdown::render(), not just