✨ Improvements
--profilereports the slowest tests (BASHUNIT_PROFILE_COUNT, default 10) (#678)- Readable snapshot diff when
gitis unavailable (#679) - Failure output shows the test
file:line(#680) .bashunitrcproject config file (#681)- Killed tests report the cause: timeout, SIGINT, SIGKILL/OOM, SIGTERM (#683)
🐛 Bug Fixes
--strictskips Bash 3.0's brokenpipefail(pipefailonly on Bash >= 3.1)bashunit watchforwards--filterand other flags correctly (#682)learnand coverage usemktemp -dfor temp directoriesparallel::cleanuprefuses torm -rfoutside*/bashunit/parallel/*
Internal
- Global-slot return pattern for hot-path helpers;
_BASHUNIT_SPY_*namespace (#674) - Windows acceptance CI: matrix shards now cover every test file (
bashunit_test.sh,coverage_*,install,mockwere silently skipped) and job labels show only the shard name
⚡ Performance
- Faster runtime-error detection: single
caseglob (#668) - Cache coverage-enabled flag in hot path (#664)
- Parallel runner uses
wait -non Bash 4.3+ instead of polling (#667) - Hot-path result helpers return via global slots, dropping a fork per call (#662)
- Drop
grep/random_strforks ingenerate_idandnormalize_variable_name(#663)
👥 Contributors
Checksum
SHA256: 18f1e8354213001b80e37c722b8520ebe26ce10fce11cb20ee471ddc96a21b11
Full Changelog: 0.36.0...0.37.0