Releases: eapache/go-resiliency
Releases · eapache/go-resiliency
Version 1.7.0
Version 1.6.0
- 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
- Adds
Retrier.WithInfiniteRetry()
andRetrier.RunFn()
to handle more complex cases (thanks to Maxime Beckman).
Version 1.4.0
- 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
- Increased minimum Golang version to 1.13.
- Fix a goroutine leak in
Deadline.Run()
onErrTimeOut
. - Add a
go.mod
file to conform to more recent Golang version standards. - Use
errors.Is
when classifying errors for theRetrier
(thanks to Taufik Rama). - Add implementation of
LimitedExponentialBackoff
for theRetrier
(thanks to tukeJonny).
Version 1.2.0
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 onRetrier
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
- Improve documentation and fix some typos.
- Bump CI to ensure we support newer Golang versions.
- Add
IsEmpty()
method onSemaphore
.