Skip to content

Releases: wallach-game/bashumerate

v0.2.2-hotfix003

Choose a tag to compare

@wallach-game wallach-game released this 22 Jul 11:28

v0.2.2-hotfix003

Release date: 2026-07-22 11:28 UTC
SHA256: d985d6b93ac9ae56de5974ab332f4e9cfbee5955f98257af82250ca98414c92e

v0.2.2-hotfix002

Choose a tag to compare

@wallach-game wallach-game released this 21 Jul 09:51

v0.2.2-hotfix002

Release date: 2026-07-21 09:51 UTC
SHA256: 4329131c5582eb3e9abfd3eaf2610c081e24ff2da4d8d25c653970fa5ce41bc7

v0.2.2-hotfix001

Choose a tag to compare

@wallach-game wallach-game released this 21 Jul 09:49

v0.2.2-hotfix001

Release date: 2026-07-21 09:37 UTC
SHA256: 8368b7130d0febf989143b27e647559694eb85abdef0e7c05b7d7372dd60f152

Fixes

  • Version detection now handles tagless clones (basher shallow checkouts).
  • Falls back to VERSION file when git tags unavailable.
  • Also tries git tag -l (all tags) before giving up.

Usage

basher install wallach-game/bashumerate@0.2.2-hotfix001
enumerate -v

v0.2.2

Choose a tag to compare

@wallach-game wallach-game released this 21 Jul 09:45

v0.2.2

Release date: 2026-07-21 09:37 UTC

  • Clean version art (braille only).
  • Benchmark scripts.

v0.2.1

Choose a tag to compare

@wallach-game wallach-game released this 21 Jul 09:30

v0.2.1 — Speed mode & optimizations

Release date: 2026-07-21 09:37 UTC
SHA256: 909bd5e3585121c07bf9acf88cc77d4cbf9bb13e86eda455a52708c5777b40ab

New

  • -v / --version: ASCII art version display with toilet-style banner.
  • -s / --speed flag: inlined execution path, no function call overhead, skips filters/dry-run/parallel.
  • List source fast path: iterates directly over items instead of subprocess → printf → pipe → read.
  • No-op command detection: : and true skip eval entirely.

Performance

  • Speed mode (-s) is 2.4x faster than normal mode for no-op, 2.25x faster for echo {}.
  • enumerate is 11-27x faster than xargs -I{} for real workloads.
  • Synthetic no-op overhead reduced from ~1500x to ~17x vs bare for loop with -s.

Other

  • Benchmark scripts in bench/ (uses hyperfine).
  • 50 tests total (up from 45).

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)

v0.1.0

Choose a tag to compare

@wallach-game wallach-game released this 20 Jul 19:34

Initial release of bashumerate - a programmable iterator for bash.

  • -f, --files - enumerate files matching glob patterns
  • -l, --lines - enumerate lines from a file or stdin
  • -r, --range - enumerate integers from start to end
  • -L, --list - enumerate literal items
  • --include / --exclude filters
  • NUL-delimited output with -0
  • 34 bats tests passing