- Add an
output_file
argument totar_quarto()
andtar_quarto_raw()
for single documents (#198, @mutlusun). - Detect child quarto documents (#199, @mutlusun).
- Improve reporting of static branch names from
tar_map()
andtar_map_rep()
(#201, @kkmann). - Ensure compatibility with
targets
after ropensci/targets#1368. - Improve detection of Quarto files in
tar_quarto_inspect()
(#200, @multusun).
- Add a
delimiter
argument totar_map()
etc. for customizing separators in target names (#177, @psychelzh). - Add "raw" hook functions (#185, @multimeric).
- Add
tar_assign()
(#186, ropensci/targets#1309, @hadley). - Merge help files of "_raw" functions (#191, @hadley).
- Supersede
tar_format_feather()
in favor oftar_arrow_feather()
(#190). - Supersede the
tar_aws_*()
target factories. They are obsolete because of therepository
argument intar_target()
.
- To align with ropensci/targets#1244 and ropensci/targets#1262, switch the hashing functions from
digest::digest()
tosecretbase::siphash13()
.
- Expose the new
description
argument oftar_target()
intargets
1.5.1.9001. tar_map()
and other static branching target factories now append values to the target descriptions. Use thedescriptions
argument of those functions to customize.- Ensure consistent
repository
settings intar_change()
andtar_map_rep()
. tar_knit()
,tar_render()
,tar_quarto()
, and their "rep" and "raw" versions all gain aworking_directory
argument to change the working directory the report knits from. Users who setworking_directory
need to supply thestore
argument oftar_load()
andtar_read()
relative to the working directory so the report knows where to find the data (#169).tar_knit()
,tar_render()
,tar_quarto()
, and their "raw" versions all gain anoutput_file
argument to more conveniently set the file path to the rendered output file.tar_quarto()
and its "rep" and "raw" versions all gain a newquarto_args
argument for advanced Quarto arguments (#166, @petrbouchal).
- Adjust tests because group iteration is now explicitly prohibited for dynamic targets.
- Use
tar_seed_create()
andtar_seed_set()
fromtargets
. - Document limitations of literate programming target factories like
tar_render()
(#158). - Make
tar_rep2()
compatible withtar_map()
(#165).
- Prepare to use
tar_seed_create()
andtar_seed_set()
(ropensci/targets#1139). Future versions oftarchetypes
should use these package functions, but this version cannot because of the compatibility constraints of the release cycle. - Migrate tests to
targets
>= 1.3.2.9004 progress statuses ("completed" instead of "built", "dispatched" instead of "started").
- Deprecate the
packages
andlibrary
arguments oftar_quarto()
andtar_quarto_raw()
(#155, @svraka). - Switch to from
furrr
toparallel
forrep_workers
intar_rep()
etc. (#251, @solmos).
- Relax overly strict assertion on R Markdown / Quarto parameter lists (@rmgpanw, #152).
- Adjust a test to comply with upcoming
targets
1.3.0.
- Allow
format = "file_fast"
in target factories.
- Support Quarto profiles through the
QUARTO_PROFILE
environment variable (#139, @andrewheiss). - Take the basename of the source file for #129 so the output files land correctly when the source file is in a subdirectory (#129,
targets
issue 1047, @joelnitta). - Use
targets::tar_runtime_object()$store
instead oftargets::tar_runtime_object()$get_store()
to ensure forward compatibility withtargets
. - Use interactive test for
tar_download()
to avoid unpredictable network issues outside our control.
- Implement a new
set_deps
argument in the hook functions to force modified targets to keep the dependencies they had before applying the hook (#131, @edalfon). - Forward all settings to
tar_copy_target()
(#131, @edalfon). - Initialize the directory of output files in
tar_quarto_rep()
andtar_render_rep()
(#129, @benzipperer). - Work around quarto-dev/quarto-cli#2456 by writing temporary local files in
tar_quarto_rep()
(#129, @benzipperer).
- Implement
rep_workers
to control inner parallelism in batched replication functions (#117). - Ensure the function passed to
furrr
functions has environmenttar_option_get("envir")
. - Allow subdirectories of rendered reports with
tar_quarto_rep()
(#129, @mglev1n).
- Support nested futures for parallelism among reps within batches (#117, @kkmann).
- Add Quarto troubleshooting section to help files.
- Migrate away from deprecated
targets::tar_path()
. - Implement and return resilient seeds in batched replication (#111, #113).
- Document #105 (@MarekGierlinski).
- Adapt tests to changes in
tar_manfiest()
default output.
- Add new functions
tar_quarto()
andtar_quarto_rep()
(and "raw" versions) for Quarto documents and projects in pipelines (#89). - Add new function
tar_quarto_files()
to inspect Quarto projects and documents for important files: source files to inspect for target dependencies, output documents, and Quarto-specific inputs like_quarto.yml
. Usesquarto::quarto_inspect()
and powers the automatic file detection intar_quarto()
etc. (#89). - Add runtime guardrails to the
params
argument oftar_render_rep()
(must be a data frame with unique rows (or unique elements ofoutput_file
)). - Temporarily change
root.dir
when scanning for dependencies soknitr
child documents work (#93, @mutlusun). - Use
format = "rds"
fortarget_batch
intar_map_rep_raw()
so the global format option does not mess up the pipeline. - Handle non-atomic length-one list columns in
tar_append_static_values()
. - Allow
tar_render()
to work with just one row of parameters (#96, #97, @ugoebel73). - Remove dependencies and collect garbage before running reports.
- Make sure all the target factories have
memory
andgarbage_collection
arguments.
- Implement
tar_file_read()
(#84, @petrbouchal). - Suppress warnings for deprecated AWS formats.
- Select the correct targets in
tar_select_targets()
(#92, @arcruz0). - Support the
repository
argument fortargets
>= 0.11.0.
- Select list elements from
command1
using[[
and not[
intar_map2()
functions.
- Implement
tar_map_rep()
andtar_map_rep_raw()
for dynamic batched replication within static branching for data frames (#78). - Implement
tar_map2_count()
,tar_map2_count_raw()
,tar_map2_size()
, andtar_map2_size_raw()
for batched dynamic-within-static branching for data frames (#78). - Deprecate
tar_rep_map()
in favor oftar_rep2()
to avoid name confusion. Likewise withtar_rep_map_raw()
totar_rep2_raw()
(#78).
- Allow empty /
NULL
target list intar_map()
(@kkami1115). - Do not claim to support
"aws_file"
format intar_files()
or related target factories.
- Relax assertion on language objects.
- Explain
targets
timestamps correctly in the help files oftar_age()
andtar_cue_age()
.
- When
names = NULL
intar_map()
, use hashes instead of numeric indexes for generated target names (#67). That way, target names are no longer sensitive to the order ofvalues
, and so targets will incorrectly invalidate less often. Unfortunately, this is an invalidating change: some targets will automatically rerun after you install this version oftarchetypes
. I apologize for the inconvenience this causes. However, we do need this patch in order to solve #67, and targets will incorrectly invalidate less frequently in the future.
- Migrate to utilities for error handling and metaprogramming exported from
targets
(#59).
- Make the
*_raw()
target factories processcommand
the same way whether it is an expression or ordinary language object. - Ensure compatibility with
targets
0.5.0.9000, which logs skipped targets.
- Add
tar_rep_map()
andtar_rep_map_raw()
to perform batched computation downstream oftar_rep()
(#50). - Add
tar_select_names()
andtar_select_targets()
to make certain metaprogramming tasks easier. - In
tar_map()
, attempt to convert the elements ofvalues
into lists of language objects.
- Allow trailing commas in
tar_plan()
(#40, @kendonB). - Implement
tar_age()
based ontar_cue_age()
(#39, @petrbouchal). - Implement new cue factories
tar_cue_age()
,tar_cue_age_raw()
,tar_cue_force()
, andtar_cue_skip()
(#39). - Implement
tar_download()
(#38, @noamross, @petrbouchal) - Set intermediate temporary directory to remove race condition in
tar_render_rep()
(#36, @gorgitko). - Prefix internal condition classes with "tar_".
- Add new format helpers such as
tar_aws_rds()
andtar_parquet()
. - Support hooks
tar_hook_before()
,tar_hook_inner()
, andtar_hook_outer()
(#44). - Deep-copy the cue in
tar_map()
.
- Unset
crayon.enabled
for literate programming. - Switch meaning of
%||%
and%|||%
to conform to historical precedent.
- Add new functions for easier grouping of data frames for dynamic branching:
tar_group_by()
,tar_group_select()
,tar_group_size()
,tar_group_count()
(#32, @liutiming). - In
tar_render()
and related functions, track the*_files/
output directory if it exists (#30). - Implement an external
walk_ast()
function to make it easier for other developers to extend the static code analysis oftarchetypes
(@MilesMcBain).
- Skip literate programming tests if pandoc is missing or has an insufficient version.
- Use explicit temp files in examples even when running inside
targets::tar_dir()
. (targets::tar_dir()
andtargets::tar_test()
already run code in a temporary directory.) - Add comments in the examples to emphasize that
targets::tar_dir()
runs code in a temporary directory, which means all ostensibly files created in the enclosed expression will actually be written to temporary storage and not the user's file space.
- Make sure every function with a help file in
man/
has Rd-tags\value
and\arguments
. - For every function with a help file in
man/
, describe the return value in the\value
Rd tag. For each function that returns a target object or list of target objects, the\value
tag now links to https://books.ropensci.org/targets/, the user manual where the purpose of target objects is explained, and https://books.ropensci.org/targets-design/, the design specification which documents the structure and composition of target objects. - Ensure that examples, vignettes, and test do not write to the home file space of the user.
- Ensure that no function defined in the
tarchetypes
package writes by default to the home file space of the user. The paths of all output files are controlled by non-tarchetypes
functions that invoketarchetypes
.
tar_plan()
now returns a list of target objects rather than a pipeline object. Related: ropensci/targets#253.
- First version.
- Implement
tar_knitr_deps()
andtar_knitr_deps_expr()
to accommodate custom multi-file literate programming projects like R Markdown sites andbookdown
projects (#23, @tjmahr).