Data splitting, and URL tracking, and advanced memory management
Version 7.4.0
Mildly breaking changes
These changes are technically breaking changes, but they should only affect advanced users.
rescue_cache()
no longer returns a value.
Bug fixes
- Restore compatibility with
clustermq
(#898). Suggest version >= 0.8.8 but allow 0.8.7 as well. - Ensure
drake
recomputesconfig$layout
whenknitr
reports change (#887). - Do not rehash large imported files every
make()
(#878). - Repair parsing of long tidy eval inputs in the DSL (#878).
- Clear up cache confusion when a custom cache exists adjacent to the default cache (#883).
- Accept targets as symbols in
r_drake_build()
. - Log progress during
r_make()
(#889). - Repair
expose_imports()
: do not do theenvironment<-
trick unless the object is a non-primitive function. - Use different static analyses of
assign()
vsdelayedAssign()
. - Fix a superfluous code analysis warning incurred by multiple
file_in()
files and other strings (#896). - Make
ignore()
work insideloadd()
,readd()
,file_in()
,file_out()
, andknitr_in()
.
New features
- Add experimental support for URLs in
file_in()
andfile_out()
.drake
now treatsfile_in()
/file_out()
files as URLS if they begin with "http://", "https://", or "ftp://". The fingerprint is a concatenation of the ETag and last-modified timestamp. If neither can be found or if there is no internet connection,drake
throws an error. - Implement new memory management strategies
"unload"
and"none"
, which do not attempt to load a target's dependencies from memory (#897). - Allow users to give each target its own memory strategy (#897).
- Add
drake_slice()
to help split data across multiple targets. Related: #77, #685, #833. - Introduce a new
drake_cache()
function, which is now recommended instead ofget_cache()
(#883). - Introduce a new
r_deps_target()
function. - Add RStudio addins for
r_make()
,r_vis_drake_graph()
, andr_outdated()
(#892).