Skip to content

Releases: rubyist/circuitbreaker

Release 2.1.0

16 Oct 12:22
Compare
Choose a tag to compare

Added

  • Failure, Sucess counts and Error Rate is now calculated over a sliding window
  • Number of buckets in the window and the time the window spans are tuneable

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • A race condition in Call()

Release 2.0.2

13 Oct 20:59
Compare
Choose a tag to compare

Added

  • ResetCounters

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

Release 2.0.1

13 Oct 19:47
Compare
Choose a tag to compare

Added

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Error rate should return 0.0 if there have been no samples

Release 2.0.0

13 Oct 16:28
Compare
Choose a tag to compare

This is a major reworking of breaker internals. All circuit breakers are now Breaker objects, and the trip semantics are defined by an assigned ShouldTrip function.

Added

  • All circuit breakers are now a Breaker with trip semantics handled by a TripFunc
  • NewConsecutiveBreaker
  • NewRateBreaker
  • ConsecFailures
  • ErrorRate
  • Success
  • Successes
  • Retry logic now uses cenkalti/backoff, exponential backoff by default

Deprecated

  • Nothing

Removed

  • TrippableBreaker, ThresholdBreaker, FrequencyBreaker, TimeoutBreaker; all handled by Breaker now
  • NewFrequencyBreaker, replaced by NewConsecutiveBreaker
  • NewTimeoutBreaker, time out semantics are now handled by Call()
  • NoOp(), use a Breaker with no TripFunc instead

Release 1.1.2

25 Aug 00:16
Compare
Choose a tag to compare

For a FrequencyBreaker, Failures() should return the count since the duration start, even after resetting.

Using Failures() in a monitoring system will always show 0 if traffic is doing Reset() on successful attempts faster than your sampling rate.

Release 1.1.1

20 Aug 14:11
Compare
Choose a tag to compare

Only send the reset event when the breaker was in a tripped state.

Release 1.1.0

16 Aug 16:36
Compare
Choose a tag to compare

This release re-exports the Panel's Circuits map.

Release 1.0.0

16 Aug 15:50
Compare
Choose a tag to compare

This is the 1.0.0 release. The API is considered stable and backward compatibility will be maintained.