You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Embrace the vctrs paradigm and its type stability for dynamic branching (#1105, #1106).
Accept target as a symbol by default in read_trace(). Required for the trace to make sense in #1107.
Bug fixes
Repair reference to custom HPC resources in the "future" backend (#1083, @jennysjaarda).
Properly copy data when importing targets from one cache into another (#1120, @brendanf).
Prevent dynamic vector sizes from conflicting with file sizes in metadata.
New features
Add a new log_build_times argument to make() and drake_config(). Allows users to disable the recording of build times. Produces a speedup of up to 20% on Macs (#1078).
Implement cache locking to prohibit concurrent calls to make(), outdated(make_imports = TRUE), recoverable(make_imports = TRUE), vis_drake_graph(make_imports = TRUE), clean(), etc. on the same cache.
Add a new format trigger to invalidate targets when the specialized data format changes (#1104, @kendonB).
Add new functions cache_planned() and cache_unplanned() to help selectively clean workflows with dynamic targets (#1110, @kendonB).
Add S3 classes and pretty print methods for drake_config() objects and analyze_code() objects.
Add a minor logger note to say how many dynamic sub-targets are registered at a time (#1102, @kendonB).
Handle dependencies that are dynamic targets but not declared as such for the current target (#1107).
Internally, the "layout" data structure is now called the "workflow specification", or "spec" for short. The spec is drake's interpretation of the plan. In the plan, all the dependency relationships among targets and files are implicit. In the spec, they are all explicit. We get from the plan to the spec using static code analysis, e.g. analyze_code().