Skip to content

Multi-project config

Compare
Choose a tag to compare
@wlandau wlandau released this 21 Sep 12:47
· 1760 commits to main since this release

targets 0.8.0

Bug fixes

  • Hash the correct files in tar_target(target_name, ..., format = "aws_file"). Previously, _targets/objects/target_name was also hashed if it existed.

New features

  • Implement a new tar_config_unset() function to delete one or more configuration settings from the YAML configuration file.
  • Implement the TAR_CONFIG environment variable to set the default file path of the YAML configuration file with project settings (#622, @yyzeng, @atusy, @nsheff, @wdkrnls). If TAR_CONFIG is not set, the file path is still _targets.yaml.
  • Restructure the YAML configuration file format to handle configuration information for multiple projects (using the config package) and support the TAR_PROJECT environment variable to select the current active project for a given R session. The old single-project format is gracefully deprecated (#622, @yyzeng, @atusy, @nsheff, @wdkrnls).
  • Implement retrieval = "none" and storage = "none" to anticipate loading/saving targets from other languages, e.g. Julia (@MilesMcBain).
  • Add a new tar_definition() function to get the target definition object of the current target while that target is running in a pipeline.
  • If called inside an AWS target, tar_path() now returns the path to the staging file instead of _targets/objects/target_name. This ensures you can still write to tar_path() in storage = "none" targets and the package will automatically hash the right file and upload it to the cloud. (This behavior does not apply to formats "file" and "aws_file", where it is never necessary to set storage = "none".)

Enhancements

  • Use eval(parse(text = ...), envir = tar_option_set("envir") instead of source() in the _targets.R file for Target Markdown.
  • Allow feather and parquet formats to accept objects of class RecordBatch and Table (@MilesMcBain).
  • Let knitr load the Target Markdown engine (#469, @nviets, @yihui). Minimum knitr version is now 1.34.
  • In the tar_resources_future() help file, encourage the use of plan to specify resources.