Skip to content

v0.2.0

Choose a tag to compare

@wallach-game wallach-game released this 21 Jul 08:57

What's new

  • Streaming: Eliminated temp file I/O — items stream directly via process substitution. O(1) memory, zero disk overhead.
  • Performance: Removed per-item bash -c fork. Single-template commands now use eval (builtin, no subprocess).
  • Parallel execution: -p / --parallel runs commands concurrently. -P N / --max-procs N limits concurrency (default: all CPUs).
  • Dry-run: -n / --dry-run prints commands without executing them.
  • NUL input: -0 now also makes -l (--lines) read NUL-delimited input.
  • Bug fixes: Filenames with spaces and filenames starting with - now work correctly with -f.

Full changelog

  • Streaming (process substitution) instead of temp file — no disk I/O, true pipelining
  • bash -c replaced with eval — no fork per item, dramatically faster for large sets
  • -n/ --dry-run flag added
  • -p/ --parallel + -P/ --max-procs flags added
  • -0 now affects -l input (NUL-delimited line reading)
  • -f no longer treats arguments starting with - as flags — only -- terminates glob list
  • files.sh: literal filenames with spaces are now handled correctly
  • 11 new tests (45 total)