Skip to content

v0.2.0

Choose a tag to compare

@greenlight-beacon greenlight-beacon released this 18 Sep 17:35
35b8612

0.2.0 (2026-09-18)

Breaking Changes

  • Replace Expect::that() with Expect::value() for values or Expect::calling() for calls. Value expectations never execute their subject. (#1949)
  • Replace Expect::eventually() and Expect::consistently() with call chains such as Expect::calling($probe)->returnValue()->eventually()->within($seconds). Use ->consistently()->for($seconds) for continuous checks. (#1949)

Features

  • Use the functional API with use function Greenlight\expect: expect($value) checks values and expect()->calling($callback) checks calls. The runner loads the helper automatically. Outside the runner, load src/Expect/functions.php explicitly after the Composer autoloader. (#1949)
  • Check call results with toReturn() or select them with returnValue(). Call expectations also support immediate and temporal toThrow() checks. (#1949)

Bug Fixes

  • Reject infinite subjects in toBeWithin(), including when a tolerance boundary overflows. (#1922)
  • Return absolute paths for newly created temporary roots so cleanup still works after the working directory changes. (#1921)

Performance Improvements

  • Prepare test listings in linear time when the saved run contains many failed test IDs. (#1918)
  • Limit UTF-8 conversion work for large captured writes, including malformed input. (#1920)