v0.10.0
Integrates three work units, verified green via nix flake check (667 tests) and CI.
Fixes — runtime correctness
- Cleanup hooks (
after-each/after-all) always run viaunwind-protect, and condition handling is widened toserious-conditionso SBCL platform timeouts (bare serious conditions, not errors) still reach cleanup. --bailonly consumes a following token when it parses as a valid bail value; supports inline--bail=N.- Isolated output is read via
uiop:read-file-string(char-accurate for multibyte content). gen-such-thatvalidates that its predicate is a function.:randomtest ordering computes each label hash once (decorate-sort-undecorate).
Performance
- Strict-empty-batch fast path in collection (skips the CPS walk for trivially-empty suites).
- Single-pass list+tail cloning, incremental stable hashing, one-shot suite lineage.
- S-expression reporters bind
*print-pretty*to nil for stable, single-line machine output. - Adds a benchmarking harness under
benchmarks/.
Refactor
- Split the largest source and test files into focused, single-responsibility modules with dependency-ordered ASDF wiring.
Full Changelog: v0.9.0...v0.10.0