All Versions
42
Latest Version
Avg Release Cycle
87 days
Latest Release
-

Changelog History
Page 1

  • v2.4.3 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #289 - Binary imcompatibility with code that was compiled against previous Failsafe versions.
  • v2.4.2 Changes

    ๐Ÿ‘Œ Improvements

    • โž• Added RetryPolicy.onRetryScheduled event handler.
    • โž• Added ExecutionEvent.getExecutionCount() and ExecutionContext.getExecutionCount(), which distinguishes between attempts which may have been rejected and completed executions.
    • โž• Added Failsafe.none to create a no-op FailsafeExecutor.
    • ๐Ÿ‘Œ Improved support for outer Timeouts with retries.
    • ๐Ÿ›  Fixed #221 - Added support for FailsafeExecutor.with(Executor).
    • ๐Ÿ›  Fixed #277 - Changed Timeout to use Failsafe's internal scheduler, so that user provided ExecutorService shutdowns do not interfere with timeouts.
    • ๐Ÿ›  Fixed #266 - Propagate Future cancellation to supplied CompletionStage when using getStageAsync.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #267 - Allow null fallback values to be passed through when using nested fallbacks.
  • v2.4.1 Changes

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ›  Fixed #234 - An outer Timeout should cancel any inner retries.

    API Changes

    • ๐Ÿ—„ Deprecated Timeout.withCancel(boolean) and Timeout.canCancel(). Timeouts always cancel any executions and inner retries.
    • โž• Added Timeout.withInterrupt(boolean) to take the place of withCancel.
    • โž• Added ExecutionEvent.getElapsedAttemptTime().
  • v2.4.0 Changes

    ๐Ÿ‘Œ Improvements

    • โž• Added time based thresholding support to CircuitBreaker via:
      • withFailureThreshold(int failureThreshold, Duration failureThresholdingPeriod)
      • withFailureThreshold(int failureThreshold, int failureExecutionThreshold, Duration failureThresholdingPeriod)
      • withFailureRateThreshold(int failureRateThreshold, int failureExecutionThreshold, Duration failureThresholdingPeriod)
    • โž• Added getters to CircuitBreaker for existing count based thresholding settings:
      • getFailureThresholdingCapacity()
      • getSuccessThresholdingCapacity()
    • And added getters to CircuitBreaker for new time based thresholding settings:
      • getFailureRateThreshold()
      • getFailureExecutionThreshold()
      • getFailureThresholdingPeriod()
    • โž• Added some new metrics to CircuitBreaker:
      • getSuccessRate()
      • getFailureRate()
      • getExecutionCount()

    API Changes

    • ๐Ÿ”„ Changed the return type of CircuitBreaker's getFailureThreshold() and getSuccessThreshold() from Ratio to int. getFailureThresholdingCapacity, getFailureRateThreshold, getFailureExecutionThreshold, and getSuccessThresholdingCapacity provide additional detail about thresholding configuration.
    • โœ‚ Removed support for the previously deprecated CircuitBreaker.withTimeout. The Timeout policy should be used instead.
  • v2.3.5 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #242 - Delays not occurring between manually triggered async execution retries.
  • v2.3.4 Changes

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘€ Re-worked internal threading to only create async threads immediately prior to supplier execution. See #230.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #240 - handleResult(null) always triggering when an exception is thrown.
  • v2.3.3 Changes

    February 10, 2020

    ๐Ÿ‘Œ Improvements

    โž• Added support for CompletionStage to the Fallback policy.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #224 - Allow combining random delay and jitter.

    API Changes

    • ๐Ÿ“ฆ Fallback.apply was made package private.
    • ๐Ÿ“ฆ DelayablePolicy.computeDelay was made package private.
  • v2.3.2 Changes

    January 25, 2020

    ๐Ÿ‘Œ Improvements

    • โž• Added CircuitBreaker.getRemainingDelay().
    • โž• Added support for Fallback.VOID.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #216 - Incorrect computation of randomDelay.
  • v2.3.1 Changes

    August 22, 2019

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed #206 - Problem with Fallback converting from failure to success.

    ๐Ÿ‘Œ Improvements

    • โฑ Set setRemoveOnCancelPolicy(true) for the internal delay scheduler.
    • โž• Added Scheduler.DEFAULT to return the default scheduler Failsafe uses.
  • v2.3.0 Changes

    August 16, 2019

    Behavior Changes

    • FailsafeExecutor.get and FailsafeExecutor.run will no longer wrap Error instances in FailsafeException before throwing.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed potential race between Timeout interrupts and execution completion.