Changes for version v0.3.2 - 2026-11-15
- dump_to redacts the secrets in what it writes, whenever Text::Redact::Secrets is installed, so a dump sent to a log doesn't leak a password, a token or a DSN.
- It ships roadmap 2026-0038. Nothing changes unless Text::Redact::Secrets is installed: then dumps are redacted, and a module that's there but broken makes dump_to croak, with a new message. What a stage sees, and every message there was before, are as they were.
- dump_to redacts with Text::Redact::Secrets' redact when it's installed, a v1.x, and passes a self-test, redacting a few made-up secrets in a dump: each secret it finds in what's written, such as a password, a token or the password in a DSN, is written as *REDACTED*. Only the dump is redacted: the value passed on is as it came. The module is looked for once, at the first dump. If it's there but fails to load, isn't a v1.x, or fails the test, dump_to croaks, on that dump and each after, rather than write a dump that may hold secrets, with a new message, "Text::Redact::Secrets ..., so dump_to won't write a dump that may hold secrets". local $Ekorn::Pipeline::Stages::Taps::DumpSecrets = 1 writes secrets as they are, read as each value is dumped; while it's true, the module is neither loaded nor tested. It isn't a dependency: cpanfile recommends it, so installers that take recommendations install it. The user guide and the reference show it. (roadmap 2026-0038)
Documentation
Ekorn::Pipeline user guide
Ekorn::Pipeline reference
Modules
run values through a list of stages
what Ekorn's types are made from
report Ekorn::Pipeline's errors at the caller's line
words that make Ekorn's types
a stage made afresh for each run, told when its values run out
one run, handing out its values as they're pulled
read and write JSON and JSON Lines, as sources, stages or sinks
|, |= and @{} for Ekorn's types
pipe and tap methods, running an object through stages
a sink made afresh for each run
ready-made sinks, needing only Perl
a source made afresh for each run
ready-made sources, needing only Perl
a stage, as an object
stages gathering values: batch and collect
stages taking or dropping values: take, drop, take_if, drop_if, take_while and drop_while
stages run for their side effects: peek, count_into and dump_to
end a pipeline early
name pipelines as the program compiles, each with a function
Ekorn's stages, sources, sinks and words, from one module
Provides
in lib/Ekorn/Pipeline/Operators.pm
in lib/Ekorn/Pipeline/Operators.pm
in lib/Ekorn/Pipeline/Sink.pm
in lib/Ekorn/Pipeline/Sink.pm