Releases: ropensci/drake
Releases · ropensci/drake
Add NOTICE and inst/NOTICE
- Add files
NOTICE
andinst/NOTICE
to more explicitly credit code included from other open source projects. (Previouslydrake
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
Version 7.13.0
Bug fixes
- Avoid checking printed output in test of testing infrastructure.
- Use
dsl_sym()
instead ofas.symbol()
when constructing commands forcombine()
(#1340, @vkehayas).
New features
- Add a new
level_separation
argument tovis_drake_graph()
andrender_drake_graph()
to control the aspect ratio ofvisNetwork
graphs (#1303, @matthewstrasiotto, @matthiasgomolka, @robitalec).
Nomenclature
Version 7.12.7
- Deprecate
caching = "master"
in favor ofcaching = "main"
. - Improve the error message when a valid plan is not supplied (#1334, @robitalec).
Patch
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
infuture::future()
. - Manually relay warnings when
parallelism = "clustermq"
andcaching = "worker"
(@richardbayes).
Enhancements
Safeguards and worker logs
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 inman/figures
. - Improve error message for empty dynamic grouping variables (#1308, @saadaslam).
- Expose the
log_worker
argument ofclustermq::workers()
tomake()
anddrake_config()
(#1305, @billdenney, @mschubert). - Set
as.is
toTRUE
inutils::type.convert()
(#1309, @bbolker).
CRAN hotfix
Fixes a documentation-related warning in the last submission (7.12.3).
Lockfile bugfix and better-looking graphs
Version 7.12.3
Bug fixes
cached_planned()
andcached_unplanned()
now work with non-standard cache locations (#1268, @plebejer).- Set
use_cache
toFALSE
more often (#1257, @plebejer). - Use namespaced function calls in mtcars example instead of loading packages.
- Replace the
iris
dataset with theairquality
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 forr_make()
(#1282).
Enhancements
- Deprecate
expose_imports()
in favor ofmake(envir = getNamespace("yourPackage")
(#1286, @mvarewyck). - Suppress the message recommending
r_make()
ifgetOption("drake_r_make_message")
isFALSE
(#1238, @januz). - Improve the appearance of the
visNetwork
graph by using the hierarchical layout withvisEdges(smooth = list(type = "cubicBezier", forceDirection = TRUE))
(#1289, @mstr3336).
Important reproducibility bugfix for dynamic branching
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 byc()
(#1262, @bart1).
Fully custom target names in static branching
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).
Mostly bug fixes and guard rails
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 inclean()
, even whengarbage_collection
isTRUE
(#521, @the-Hull). - Fix
keep_going = TRUE
for formatted targets (#1206). - Use the correct variable names in logger helper (
progress_bar
instead ofprogress
) so thatdrake
works without theprogress
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()
anddrake_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
is2
(#1203, @kendonB). - Deprecate the
jobs
argument ofclean()
. - Show an informative error message for empty dynamic grouping variables (#1212, @kendonB).
- Throw error messages if users supply dynamic targets to
drake_build()
ordrake_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()
andknitr_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).