Skip to content

v0.9.0

Choose a tag to compare

@harris21 harris21 released this 15 Aug 09:28
· 4 commits to main since this release
19a3936

What's Changed

  • forceOpen() and forceClose() skipped the transition lock and the same-state guard, so a repeated fuse:open re-fired CircuitBreakerOpened every time. Both now take the same path as automatic transitions. Thanks @SeadSilajdzic (#20).
  • Run fuse:open or fuse:close against a circuit that's already in that state and it says "was already open" instead of claiming it opened something.
  • New README sections: listener examples for Slack, Prometheus and Laravel Pulse, a Stripe outage walkthrough from first failure to recovery, and how to isolate one customer's broken webhook using per-entity circuit names.

Upgrading

forceOpen() and forceClose() return bool now rather than void. Ignore it and nothing changes; override either one in a subclass and you'll need to update the signature.

The one thing to watch: fuse:open on an already-open circuit no longer resets opened_at. If you were leaning on that to keep a circuit held open, it will now recover on schedule.

Full Changelog: v0.8.0...v0.9.0