Skip to content

Releases: eapache/go-resiliency

Version 1.6.0

19 Feb 16:11
Compare
Choose a tag to compare
  • Adds Breaker.GetState() to check the breaker state directly (e.g. for monitoring metrics).
  • Fix a race condition in the Batcher that could have lead to a panic if multiple batches ended up executing at once (thanks to Tiago Peczenyj for the discovery and very clear bug report).
  • Fix Batcher.Shutdown() to behave correctly when multiple batches end up executing at once.
  • A variety of small refactors, simplifications, and test suite improvements.

Version 1.5.0

14 Dec 20:03
b912f08
Compare
Choose a tag to compare
  • Adds Retrier.WithInfiniteRetry() and Retrier.RunFn() to handle more complex cases (thanks to Maxime Beckman).

Version 1.4.0

14 Aug 21:04
Compare
Choose a tag to compare
  • Adds Batcher.Shutdown() to flush any pending work without waiting for the timer, e.g. on application shutdown (thanks to Ivan Stankov).
  • Fix possible memory leaks of Timer objects in Deadline, Retrier, and Semaphore (thanks to Dmytro Nozdrin).

Version 1.3.0

28 Jun 01:14
Compare
Choose a tag to compare
  • Increased minimum Golang version to 1.13.
  • Fix a goroutine leak in Deadline.Run() on ErrTimeOut.
  • Add a go.mod file to conform to more recent Golang version standards.
  • Use errors.Is when classifying errors for the Retrier (thanks to Taufik Rama).
  • Add implementation of LimitedExponentialBackoff for the Retrier (thanks to tukeJonny).

Version 1.2.0

14 Jun 15:48
Compare
Choose a tag to compare

Note: This release requires Golang at least 1.7, which is higher than the
previous release. All the versions being dropped are multiple years old and no
longer supported upstream, so I'm not counting this as a breaking change.

  • Add RunCtx method on Retrier to support running with a context.
  • Ensure the Retrier's use of random numbers is concurrency-safe.
  • Bump CI to ensure we support newer Golang versions.

Version 1.1.0

26 Mar 13:25
Compare
Choose a tag to compare
  • Improve documentation and fix some typos.
  • Bump CI to ensure we support newer Golang versions.
  • Add IsEmpty() method on Semaphore.