Skip to content

Releases: ropensci/drake

Add NOTICE and inst/NOTICE

03 Feb 02:00
Compare
Choose a tag to compare
  • Add files NOTICE and inst/NOTICE to more explicitly credit code included from other open source projects. (Previously drake only took a decentralized approach: comments in the source to indicate the project, package, and GitHub link (if available) to any code borrowed.)

Level separation

01 Jan 01:06
Compare
Choose a tag to compare

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

Nomenclature

27 Oct 17:59
Compare
Choose a tag to compare

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).

Patch

09 Oct 22:47
Compare
Choose a tag to compare

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).

Safeguards and worker logs

25 Aug 20:57
Compare
Choose a tag to compare

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).

CRAN hotfix

29 Jun 15:53
Compare
Choose a tag to compare

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

Lockfile bugfix and better-looking graphs

29 Jun 14:50
Compare
Choose a tag to compare

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).

Important reproducibility bugfix for dynamic branching

01 Jun 02:18
Compare
Choose a tag to compare

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).

Fully custom target names in static branching

14 May 19:18
Compare
Choose a tag to compare

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

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).

Mostly bug fixes and guard rails

24 Mar 11:47
Compare
Choose a tag to compare

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).