mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.7 KiB
5.7 KiB
HEAD
3.4.1
- Fix: Use
Process.clock_gettime(CLOCK_MONOTONIC)for elapsed time tracking so retry timing is immune to wall-clock adjustments (NTP, manual changes). - Fix: Handle
max_elapsed_time: nilgracefully instead of raisingNoMethodError. - Remove dead
* 1.0float coercion inExponentialBackoff#randomize.
3.4.0
- Add
retry_ifoption to support custom retry predicates, including checks against wrappedexception.causevalues.
3.3.0
- Refactor
Retriable.retriableinternals into focused private helpers to improve readability while preserving behavior. - Modernize
.rubocop.ymlwith explicit modern defaults to enable new cops while preserving existing project style policies.
3.2.1
- Remove executables from gemspec as it was polluting the path for some users. Thanks @hsbt.
3.2.0
- Require ruby 2.3+.
- Fix: Ensure
triesvalue is overridden byintervalsparameter if both are provided and add a test for this. This is always what the README stated but the code didn't actually do it. - Fix: Some rubocop offenses.
3.1.2
- Replace
minitestgem withrspec - Fancier README
- Remove unnecessary short circuit in
randomizemethod
3.1.1
- Fix typo in contexts exception message.
- Fix updating the version in the library.
3.1.0
- Added contexts feature. Thanks to @apurvis.
3.0.2
- Add configuration and options validation.
3.0.1
- Add
rubocoplinter to enforce coding styles for this library. Also, fix rule violations. - Removed
attr_reader :configthat caused a warning. @bruno- - Clean up Rakefile testing cruft. @bruno-
- Use
.any?in the:onhash processing. @apurvis
3.0.0
- Require ruby 2.0+.
- Breaking Change:
onwith aHashvalue now matches subclassed exceptions. Thanks @apurvis! - Remove
awesome_printfrom development environment.
2.1.0
- Fix bug #17 due to confusing the initial try as a retry.
- Switch to
Minitest5.6 expect syntax.
2.0.2
- Change required_ruby_version in gemspec to >= 1.9.3.
2.0.1
- Add support for ruby 1.9.3.
2.0.0
- Require ruby 2.0+.
- Time intervals default to randomized exponential backoff instead of fixed time intervals. The delay between retries grows with every attempt and there's a randomization factor added to each attempt.
base_interval,max_interval,rand_factor, andmultiplierare new arguments that are used to generate randomized exponential back off time intervals.intervalargument removed.- Accept
intervalsarray argument to provide your own custom intervals. - Allow configurable defaults via
Retriable#configureblock. - Add ability for
:onargument to accept aHashwhere the keys are exception types and the values are a single or array ofRegexppattern(s) to match against exception messages for retrial. - Raise, not return, on max elapsed time.
- Check for elapsed time after next interval is calculated and it goes over the max elapsed time.
- Support early termination via
max_elapsed_timeargument.
2.0.0.beta5
- Change
:max_triesback to:tries.
2.0.0.beta4
- Change #retry back to #retriable. Didn't like the idea of defining a method that is also a reserved word.
- Add ability for
:onargument to accept aHashwhere the keys are exception types and the values are a single or array ofRegexppattern(s) to match against exception messages for retrial.
2.0.0.beta3
- Accept
intervalsarray argument to provide your own custom intervals. - Refactor the exponential backoff code into it's own class.
- Add specs for exponential backoff, randomization, and config.
2.0.0.beta2
- Raise, not return, on max elapsed time.
- Check for elapsed time after next interval is calculated and it goes over the max elapsed time.
- Add specs for
max_elapsed_timeandmax_interval.
2.0.0.beta1
- Require ruby 2.0+.
- Default to random exponential backoff, removes the
intervaloption. Exponential backoff is configurable via arguments. - Allow configurable defaults via
Retriable#configureblock. - Change
Retriable.retriabletoRetriable.retry. - Support early termination via
max_elapsed_timeargument.
1.4.1
- Fixes non kernel mode bug. Remove DSL class, move
#retriableinto Retriable module. Thanks @mkrogemann.
1.4.0
- By default, retriable doesn't monkey patch
Kernel. If you want this functionality, you can `require 'retriable/core_ext/kernel'. - Upgrade minitest to 5.x.
- Refactor the DSL into it's own class.
1.3.3.1
- Allow sleep parameter to be a proc/lambda to allow for exponential backoff.
1.3.3
- sleep after executing the retry block, so there's no wait on the first call (molfar)
1.3.2
- Clean up option defaults.
- By default, rescue StandardError and Timeout::Error instead of Exception.
1.3.1
- Add
rakedependency for travis-ci. - Update gemspec summary and description.
1.3.0
- Rewrote a lot of the code with inspiration from attempt.
- Add timeout option to the code block.
- Include in Kernel by default, but allow require 'retriable/no_kernel' to load a non kernel version.
- Renamed
:timesoption to:tries. - Renamed
:sleepoption to:interval. - Renamed
:thenoption to:on_retry. - Removed other callbacks, you can wrap retriable in a begin/rescue/else/ensure block if you need that functionality. It avoids the need to define multiple Procs and makes the code more readable.
- Rewrote most of the README
1.2.0
- Forked the retryable-rb repo.
- Extend the Kernel module with the retriable method so you can use it anywhere without having to include it in every class.
- Update gemspec, Gemfile, and Raketask.
- Remove echoe dependency.