Skip to contents

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[...] and p[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"]] <- ....
  • pip_collect() (formerly pip_collect_out()) supports grouping via a by argument, as.table = TRUE to return a compact table, and a simplify argument to control flattening of single-step groups.
  • pip_data() provides direct access to the underlying step table.
  • pip_graph() (formerly pip_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 a join = "union" argument to combine filters as a logical OR.
  • .self is 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 nodeId is now shown in the full print view (cols = "all").
  • The dependencies on lgr and jsonlite were 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()), and pip_add() gained an example for the after argument.

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 R6 Pipeline class — 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(), and pip_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 and Pipeline R6 class are deprecated (preserved as aliases in R/aliases.R, R/pipelineR6.R).
  • pip_collect_out() no longer accepts grouped or by parameters. It returns a flat named list of step outputs. Use pip_view() with tags and manual list composition for grouped output.
  • The group column has been removed from the pipeline data.table. Steps previously using group = "..." in pip_add() should use tags = "...".

Documentation

  • Comprehensive revision of all vignettes to match the new pip_* API.
  • Revised vignettes/v04-collect-output.Rmd to demonstrate tag-based grouping via pip_view() composition.
  • Updated README with a “Why use {pipeflow}” feature list, a short usage example, and a revised vs-targets summary.

Internal

  • Extensive test suite covering C++ DAG, pip_* API, aliases, execution modes, and recursive runs.
  • MIT license, updated CI workflows, dependabot config, kilo.json, lintr/styler config.

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

pipeflow 0.2.1

CRAN release: 2024-12-05

  • CRAN release