Skip to content

{secretbase} RNG seeds, smarter task dispatch, tar_make(as_job = TRUE)

Choose a tag to compare

@wlandau wlandau released this 08 Feb 16:12
· 676 commits to main since this release
881f1a3

targets 1.5.0

Invalidating changes

Because of the changes below, upgrading to this version of targets will unavoidably invalidate previously built targets in existing pipelines. Your pipeline code should still work, but any targets you ran before will most likely need to rerun after the upgrade.

  • In tar_seed_create(), use secretbase::sha3(x = TARGET_NAME, bits = 32L, convert = NA) to generate target seeds that are more resistant to overlapping RNG streams (#1139, @shikokuchuo). The previous approach used a less rigorous combination of digest::digest(algo = "sha512") and digets::digest2int().

Other improvements

  • Update the documentation of the deployment argument of tar_target() to reflect the advent of crew (#1208, @psychelzh).
  • Unset cli.num_colors on exit in tar_error() and tar_warning() (#1210, @dipterix).
  • Do not try to access seconds_timeout if the crew controller is actually a controller group (#1207, wlandau/crew.cluster#35, @stemangiola, @drejom).
  • tar_make() gains an as_job argument to optionally run a targets pipeline as an RStudio job.
  • Bump required igraph version to 2.0.0 because igraph::get.edgelist() was deprecated in favor of igraph::as_edgelist().
  • Do not dispatch targets to backlogged crew controllers (or controller groups) (#1220). Use the new push_backlog() and pop_backlog() crew methods to make this smooth.
  • Make the debugger message more generic (#1223, @eliocamp).
  • Throw an early and informative error from tar_make() if there is already a targets pipeline running on a local process on the same local data store. The local process is detected using the process ID and time stamp from tar_process() (with a 1.01-second tolerance for the time stamp).
  • Remove pkgload::load_all() warning (#1218). Tried using .__DEVTOOLS__ but it interferes with reverse dependencies.
  • Add documentation and an assertion in tar_target_raw() to let users know that iteration = "group" is invalid for dynamic targets (ones with pattern = map(...) etc.; #1226, @bmfazio).