Skip to content

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 20 Aug 18:44
· 42 commits to master since this release
21c3f8a
  • FilesystemCorpus now creates its temp file with O_EXCL (fopen(…, 'x'))
    instead of a plain write. The temp path is derived from the property id and
    pid, so on a shared corpus directory it is predictable; a pre-planted symlink
    would otherwise be followed and let a corpus write overwrite an arbitrary
    file. The exclusive create refuses the existing path, turning that into a
    skipped write (the corpus is best-effort memory, not a ledger).
  • Gen::regex() / stringMatching() now reject an explicit {n}/{n,m} bound
    above 10,000 with a named error, instead of building a fixed-size array that
    exhausts memory during generation. Unbounded */+/{n,} were already
    capped by maxRepeat; only the explicit bounds were unguarded.
  • Docs: documented that seed replay may run more attempts than the configured
    runs (it extends up to the recorded failing attempt so it can reproduce the
    regression), and that ValueCodec::decodeEnum() triggers the autoloader on a
    class name from the corpus document.
  • Docs: SKILL.md now covers EdgeCases::None — the attribute parameter list
    and the boundary-bias rule (per-property opt-out for bodies that discard
    edge values, with the PHPUnit edgeCases() parity and the seed-alignment
    guarantee under None).