Skip to content

Data splitting, and URL tracking, and advanced memory management

Compare
Choose a tag to compare
@wlandau wlandau released this 07 Jun 03:15

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 recomputes config$layout when knitr 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 the environment<- trick unless the object is a non-primitive function.
  • Use different static analyses of assign() vs delayedAssign().
  • Fix a superfluous code analysis warning incurred by multiple file_in() files and other strings (#896).
  • Make ignore() work inside loadd(), readd(), file_in(), file_out(), and knitr_in().

New features

  • Add experimental support for URLs in file_in() and file_out(). drake now treats file_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 of get_cache() (#883).
  • Introduce a new r_deps_target() function.
  • Add RStudio addins for r_make(), r_vis_drake_graph(), and r_outdated() (#892).