Skip to content

v2.0.0 β€” UX Overhaul

Choose a tag to compare

@ali5ter ali5ter released this 20 Mar 14:18
· 52 commits to main since this release

pfb v2.0.0 β€” Comprehensive UX Overhaul

15 fixes across safety, correctness, and ergonomics. Full details in CHANGELOG.md.

Breaking Changes

pfb select now returns via stdout (was exit code):

# Before
pfb select "${options[@]}"
selected=$?

# After
selected=$(pfb select "${options[@]}")

Use pfb select-from for the old exit-code behavior during migration.

pfb success now displays [success] (was [done]).

Highlights

  • CI/non-interactive mode: PFB_NON_INTERACTIVE=1 auto-answers prompts with defaults
  • Configurable confirm default: pfb confirm "Delete?" no
  • Elapsed time in spinner after 3 seconds
  • --no-color per-invocation flag
  • Color vars and cursor helpers available at source time β€” no prior pfb call needed
  • Interactive UI writes to stderr β€” result=$(cmd_using_pfb) now works cleanly
  • pfb confirm no longer hangs on EOF stdin (CI, pipes)
  • pfb select with no args exits cleanly with a usage error
  • Exact command dispatch β€” typos no longer silently succeed (Levenshtein correction now catches them)