Changelog for retry-0.9.3.0
0.9.3.0
- Add
UnliftIO.Retry
PR 81
0.9.2.1
- Use explicit import for
lift
which allows for mtl-2.3 compatibility PR 80
0.9.2.0
- Add
retryOnError
PR 44
0.9.1.0
- Add resumable retry/recover variants:
resumeRetrying
resumeRetryingDynamic
resumeRecovering
resumeRecoveringDynamic
resumeRecoverAll
0.9.0.0
- Replace several uses of RetryPolicy type alias with RetryPolicyM m for better GHC 9 compat.
0.8.1.2
- Set lower bound on base to >= 4.8
0.8.1.1
- Loosen upper bounds
0.8.1.0
- Add
retryingDynamic
andrecoveringDynamic
. PR 65
0.8.0.2
- Update docs for default retry policy. PR 64
0.8.0.1
- Loosen upper bounds
0.8.0.0
- Remove dependency on data-default-class
0.7.7.0
- Add
natTransformRetryPolicy
0.7.6.3
- Documentation fix on
recoverAll
0.7.6.2
- Loosen bounds on exceptions again.
0.7.6.1
- Loosen bounds on exceptions.
0.7.6.0
- Clarify the semantics of
limitRetriesByDelay
. - Add
limitRetriesByCumulativeDelay
0.7.5.1
- Improve haddocks for fullJitterBackoff.
0.7.5.0
- Add Semigroup instance when the Semigroup class is available through base.
0.7.4.3
- Loosen dependency upper bounds.
0.7.5
- Add skipAsyncExceptions helper function
0.7.4.2
- Loosen HUnit dependency for tests.
0.7.4.1
- Loosen QuickCheck dependency for tests.
0.7.4
- Widen transformers dependency
0.7.3
- Widen ghc-prim dependency for GHC 8
0.7.2
- Fix premature integer overflow error thanks to Mitsutoshi Aoe
0.7.1
- Various documentation updates.
- Add stepping combinator for manual retries.
- Add applyPolicy and applyAndDelay
- Add Read instance for RetryStatus
- Fix logic bug in rsPreviousDelay in first retry
0.7.0.1
- Officially drop support for GHC < 7.6 due to usage of Generics.
0.7
- RetryPolicy has become RetryPolicyM, allowing for policy logic to consult the monad context.
- RetryPolicyM now takes a RetryStatus value. Use the function rsIterNum to preserve existing behavior of RetryPolicy only receiving the number.
- The monadic action now gets the RetryStatus on each try. Use const if you don't need it.
- recoverAll explicitly does not handle the standard async exceptions. Users are encouraged to do the same when using recovering, as catching async exceptions can be hazardous.
- We no longer re-export (<>) from Monoid.
- Utility functions simulatePolicy and simulatePolicyPP have been added which help predict how a policy will behave on each iteration.
0.6
- Actions are now retried in the original masking state, while
handlers continue to run in
MaskedInterruptible
(@maoe) - Added several tests confirming exception hierarchy semantics under
recovering
(@ozataman)
0.5
- Mitsutoshi's backoff work inspired a complete redo of the RetryPolicy interface, replacing it with a monoidal RetryPolicy. The result is a much thinner API that actually provides much more power to the end user.
- Now using microseconds in all premade policies. PLEASE TAKE CARE WHEN UPGRADING. It was a bad idea to use miliseconds and deviate from norms in the first place.
0.4
- Transitioned to using Edward Kmett's exceptions package instead of monad-control. Use 0.3 series if you still need monad-control support.
0.3
Thanks to John Wiegley and Michael Snoyman for their contributions:
- Now using monad-control instead of MonadCatchIO, which is widely agreed to be broken.
- Now using transformers instead of mtl, which was a broader than needed dependency.