v2.0.0 β UX Overhaul
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=1auto-answers prompts with defaults - Configurable confirm default:
pfb confirm "Delete?" no - Elapsed time in spinner after 3 seconds
--no-colorper-invocation flag- Color vars and cursor helpers available at source time β no prior
pfbcall needed - Interactive UI writes to stderr β
result=$(cmd_using_pfb)now works cleanly pfb confirmno longer hangs on EOF stdin (CI, pipes)pfb selectwith no args exits cleanly with a usage error- Exact command dispatch β typos no longer silently succeed (Levenshtein correction now catches them)