pipeflow 0.4.0
CRAN release: 2026-09-27
New features
- Pipeline functions can be called as methods on the pipeline object, e.g.
p$add(...),p$run(...),p$set_params(...), … - The extract and replace operators gained new capabilities:
- two-index extraction (
p[[step, "out"]]), - negative row indices in
p[...]andp[i, j] <- value, - boolean filters in
p[...](data.table-style expressions), - cross-pipeline assignment to copy steps between pipelines,
- step removal via
p[[step]] <- NULL, - time stamps via
p[[step, "time"]] <- value, - setting or replacing views via
p[["view"]] <- ....
- two-index extraction (
-
pip_collect()(formerlypip_collect_out()) supports grouping via abyargument,as.table = TRUEto return a compact table, and asimplifyargument to control flattening of single-step groups. -
pip_data()provides direct access to the underlying step table. -
pip_graph()(formerlypip_get_graph()) returns visNetwork-compatible graph data. The old function names remain available as deprecated aliases. -
pip_derived_cols()returns the names of the read-only (derived) columns. -
pip_view()gains ajoin = "union"argument to combine filters as a logical OR. -
.selfis now automatically available inside every step function (and is a protected parameter name), enabling pipelines to modify themselves at runtime, including.self$restart()and.self$halt().
Changes
- The columns of the internal step table were reordered and
nodeIdis now shown in the full print view (cols = "all"). - The dependencies on
lgrandjsonlitewere removed.
Bug fixes
-
pip_rename()no longer corrupts the parameters of single-step pipelines. - Running a view now resolves upstream dependencies correctly.
Documentation
- New vignettes: “Working with pipeline views” and “Nested pipelines”.
- Help pages of related functions were consolidated (extract/replace operators,
dim/length,lock/unlock,tag/untag,set_params/get_params). -
pip_run()documents the runtime control flow (restart(),halt()), andpip_add()gained an example for theafterargument.
pipeflow 0.3.0
CRAN release: 2026-06-15
New features
-
C++ DAG engine (
src/dag.cpp): All graph operations (node/edge add/remove, topological ordering, reachability queries) run at C++ speed via Rcpp, eliminating R object overhead for dependency resolution. -
New
pip_*API: Functional API replacing the R6Pipelineclass —pip_new(),pip_add(),pip_run(),pip_replace(),pip_clone(),pip_bind(),pip_view(),pip_tag()/pip_untag(), etc. -
Execution modes (
auto/split/reduce/plain): Native support for map-reduce style workflows where steps split output into named partitions and downstream steps auto-map over them. -
Dependency validation at definition time:
pip_add(),pip_replace(), andpip_remove()fail fast on broken references. - New pkgdown-only article pipeflow vs targets (
vignettes/articles/v07-vs-targets.Rmd) with an 18-row feature comparison table and benchmarks.
Breaking changes
- Legacy
pipe_*functions andPipelineR6 class are deprecated (preserved as aliases inR/aliases.R,R/pipelineR6.R). -
pip_collect_out()no longer acceptsgroupedorbyparameters. It returns a flat named list of step outputs. Usepip_view()with tags and manual list composition for grouped output. - The
groupcolumn has been removed from the pipeline data.table. Steps previously usinggroup = "..."inpip_add()should usetags = "...".
Documentation
- Comprehensive revision of all vignettes to match the new
pip_*API. - Revised
vignettes/v04-collect-output.Rmdto demonstrate tag-based grouping viapip_view()composition. - Updated README with a “Why use {pipeflow}” feature list, a short usage example, and a revised vs-targets summary.
pipeflow 0.2.3
CRAN release: 2025-07-26
- Add Depends R >= 4.2.0 to DESCRIPTION
- Fix issue caused by update of lgr package (#571e8260)
- Fix badge links in README
pipeflow 0.2.2
CRAN release: 2024-12-22
- Add News and this Changelog
- Add unit tests and detailed documentation for alias functions (#24)
- Link to other packges via my R universe (#25)
