Changelog of @hackage/retry 0.9.3.1

0.9.3.1

  • Resolve warnings in test suite PR 83

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

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 and recoveringDynamic. 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.