Ropensci Drake Versions Save

An R-focused pipeline toolkit for reproducibility and high-performance computing

7.13.0

3 years ago

Version 7.13.0

Bug fixes

  • Avoid checking printed output in test of testing infrastructure.
  • Use dsl_sym() instead of as.symbol() when constructing commands for combine() (#1340, @vkehayas).

New features

  • Add a new level_separation argument to vis_drake_graph() and render_drake_graph() to control the aspect ratio of visNetwork graphs (#1303, @matthewstrasiotto, @matthiasgomolka, @robitalec).

v7.12.7

3 years ago

Version 7.12.7

  • Deprecate caching = "master" in favor of caching = "main".
  • Improve the error message when a valid plan is not supplied (#1334, @robitalec).

v7.12.6

3 years ago

Version 7.12.6

Bug fixes

  • Fix defunct functions error message when using namespace (#1310, @malcolmbarrett).
  • Preserve names of list elements in .data in DSL (#1323, @shirdekel).
  • Use identical() to compare file hashes (#1324, @shirdekel).
  • Set seed = TRUE in future::future().
  • Manually relay warnings when parallelism = "clustermq" and caching = "worker" (@richardbayes).

Enhancements

  • Make logs more machine-readable by sanitizing messages and preventing race conditions (#1331, @Plebejer).

v7.12.5

3 years ago

Bug fixes

  • Sanitize empty symbols in language columns (#1299, @odaniel1).
  • Handle cases where NROW() throws an error (#1300, julian-tagell on Stack Overflow).
  • Prohibit dynamic branching over non-branching dynamic files (#1302, @djbirke).

Enhancements

  • Transition to updated lifecycle that does not require badges to be in man/figures.
  • Improve error message for empty dynamic grouping variables (#1308, @saadaslam).
  • Expose the log_worker argument of clustermq::workers() to make() and drake_config() (#1305, @billdenney, @mschubert).
  • Set as.is to TRUE in utils::type.convert() (#1309, @bbolker).

v7.12.4

3 years ago

Fixes a documentation-related warning in the last submission (7.12.3).

v7.12.3

3 years ago

Version 7.12.3

Bug fixes

  • cached_planned() and cached_unplanned() now work with non-standard cache locations (#1268, @Plebejer).
  • Set use_cache to FALSE more often (#1257, @Plebejer).
  • Use namespaced function calls in mtcars example instead of loading packages.
  • Replace the iris dataset with the airquality dataset in all documentation, examples, and tests (#1271).
  • Assign functions created with code_to_function() to the proper environment (#1275, @robitalec).
  • Store tracebacks as character vectors and restrict the contents of error objects to try to prevent accidental storage of large data from the environment (#1276, @billdenney).
  • Strongly depend on tidyselect (#1274, @dernst).
  • Avoid txtq lockfiles (#1232, #1239, #1280, @danwwilson, @pydupont, @mattwarkentin).

New features

  • Add a new drake_script() function to write _drake.R files for r_make() (#1282).

Enhancements

  • Deprecate expose_imports() in favor of make(envir = getNamespace("yourPackage") (#1286, @mvarewyck).
  • Suppress the message recommending r_make() if getOption("drake_r_make_message") is FALSE (#1238, @januz).
  • Improve the appearance of the visNetwork graph by using the hierarchical layout with visEdges(smooth = list(type = "cubicBezier", forceDirection = TRUE)) (#1289, @mstr3336).

v7.12.2

3 years ago

Bug fixes

  • Invalidate old sub-targets when finalizing a dynamic target (@richardbayes). Solves a major reproducibility bug (#1260).
  • Prevent splice_inner() from dropping formal arguments shared by c() (#1262, @bart1).

v7.12.1

4 years ago

Version 7.12.1

Bug fixes

  • Repair subtarget_hashes.cross() for crosses on a single grouping variable.
  • Repair dynamic group() used with specialized formats (#1236, @adamaltmejd).
  • Enforce tidyselect >= 1.0.0.

New features

  • Allow user-defined target names in static branching with the .names argument (#1240, @maciejmotyka, @januz).

Enhancements

  • Do not analyze dependencies of calls to drake_plan() (#1237, @januz).
  • Error message for locked cache gives paste-able error message in Windows (#1243, @billdenney).
  • Prevent stack traces from accidentally storing large amounts of data (#1253, @sclewis23).

7.12.0

4 years ago

Version 7.12.0

Bug fixes

  • Ensure up-to-date sub-targets are skipped even if the dynamic parent does not get a chance to finalize (#1209, #1211, @psadil, @kendonB).
  • Restrict static transforms so they only use the upstream part of the plan (#1199, #1200, @bart1).
  • Correctly match the names and values of dynamic cross() sub-targets (#1204, @psadil). Expansion order is the same, but names are correctly matched now.
  • Stop trying to remove file_out() files in clean(), even when garbage_collection is TRUE (#521, @the-Hull).
  • Fix keep_going = TRUE for formatted targets (#1206).
  • Use the correct variable names in logger helper (progress_bar instead of progress) so that drake works without the progress package (#1208, @mbaccou).
  • Avoid conflict between formats and upstream dynamic targets (#1210, @psadil).
  • Always compute trigger metadata up front because recovery keys need it.
  • Deprecate and remove hasty mode and custom parallel backends (#1222).
  • Compartmentalize fixed runtime parameters in config$settings (#965).

New features

  • Add new functions drake_done() and drake_cancelled() (#1205).

Speedups

  • Avoid reading build times of dynamic sub-targets in drake_graph_info() (#1207).

Enhancements

  • Show an empty progress bar just before targets start to build when verbose is 2 (#1203, @kendonB).
  • Deprecate the jobs argument of clean().
  • Show an informative error message for empty dynamic grouping variables (#1212, @kendonB).
  • Throw error messages if users supply dynamic targets to drake_build() or drake_debug() (#1214, @kendonB).
  • Log the sub-target name and index of the failing sub-target in the metadata of the sub-target and its parent (#1214, @kendonB).
  • Shorten the call stack in error metadata.
  • Deprecate and remove custom schedulers (#1222).
  • Deprecate hasty_build (#1222).
  • Migrate constant runtime parameters to config$settings (#965).
  • Warn the user if file_in()/file_out()/knitr_in() files are not literal strings (#1229).
  • Prohibit file_out() and knitr_in() in imported functions (#1229).
  • Prohibit knitr_in() in dynamic branching (#1229).
  • Improve the help file of target().
  • Deprecate and rename progress functions to avoid potential name conflicts (progress() => drake_progress(), running() => drake_running(), failed() => drake_failed()) (#1205).

v7.11.0

4 years ago

Version 7.11.0

Bug fixes

  • Sanitize internal S3 classes for target storage (#1159, @rsangole).
  • Bump digest version to require 0.6.21 (#1166, @boshek)
  • Actually store output file sizes in metadata.
  • Use the depend trigger to toggle invalidation from dynamic-only dependencies, including the max_expand argument of make().
  • Repair session_info argument parsing (and reduce calls to utils::sessionInfo() in tests).
  • Ensure compatibility with tibble 3.0.0.

New features

  • Allow dynamic files with target(format = "file") (#1168, #1127).
  • Implement dynamic max_expand on a target-by-target basis via target() (#1175, @kendonB).

Enhancements

  • Assert dependencies of formats at the very beginning of make(), not in drake_config() (#1156).
  • In make(verbose = 2), remove the spinner and use a progress bar to track how many targets are done so far.
  • Reduce logging of utility functions.
  • Improve the aesthetics of console messages using cli (optional package).
  • Deprecate console_log_file in favor of log_make as an argument to make() and drake_config().
  • Immediately relay warnings and messages in "loop" and "future" parallel backends (#400).
  • Warn when converting trailing dots (#1147).
  • Warn about imports with trailing dots on Windows (#1147).
  • Allow user-defined caches for the loadd() RStudio addin through the new rstudio_drake_cache global option (#1169, @joelnitta).
  • Change dynamic target finalization message to "finalize" instead of "aggregate" (#1176, @kendonB).
  • Describe the limits of recoverable(), e.g. dynamic branching + dynamic files.
  • Throw an error instead of a warning in drake_plan() if a grouping variable is undefined or invalid (#1182, @kendonB).
  • Rigorous S3 framework for static code analysis objects of type drake_deps and drake_deps_ht (#1183).
  • Use rlang::trace_back() to make diagnose()$error$calls nicer (#1198).