{secretbase} RNG seeds, smarter task dispatch, tar_make(as_job = TRUE)
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(), usesecretbase::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 ofdigest::digest(algo = "sha512")anddigets::digest2int().
Other improvements
- Update the documentation of the
deploymentargument oftar_target()to reflect the advent ofcrew(#1208, @psychelzh). - Unset
cli.num_colorson exit intar_error()andtar_warning()(#1210, @dipterix). - Do not try to access
seconds_timeoutif thecrewcontroller is actually a controller group (#1207, wlandau/crew.cluster#35, @stemangiola, @drejom). tar_make()gains anas_jobargument to optionally run atargetspipeline as an RStudio job.- Bump required
igraphversion to 2.0.0 becauseigraph::get.edgelist()was deprecated in favor ofigraph::as_edgelist(). - Do not dispatch targets to backlogged
crewcontrollers (or controller groups) (#1220). Use the newpush_backlog()andpop_backlog()crewmethods 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 atargetspipeline running on a local process on the same local data store. The local process is detected using the process ID and time stamp fromtar_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 thatiteration = "group"is invalid for dynamic targets (ones withpattern = map(...)etc.; #1226, @bmfazio).