New
v2.3.0
Enhancements
- Issue #2234: Allow passing custom Clock to CircuitBreaker without needing to use internal API.
- Issue #2131: Added support for RxJava3 in Spring projects.
- Issue #2029: Include
decorateSupplieras aRetryinstance method. - Issue #2246: Add handling for the case where a non-checked retry consumer is interrupted during sleep.
- Issue #2245: Refactor
Retry#executeSuspendExecutecondition to enhance consistency withFlowRetry. - Issue #2232: Convert
SynchronizedtoReentrantLockto avoid virtual-thread pinning issues. - Issue #2241: Implement a lock-free sliding window for internal CircuitBreaker metrics.
- Issue #2239: Add a
ClocktoCircuitBreakerConfigand utilize it in the state machine. - Issue #2200: Ignore unknown exceptions in CircuitBreaker configuration.
- Issue #2233: Improve exception message for failure rate threshold in CircuitBreaker configuration.
- Issue #1404: Configure exponential backoff or randomized wait duration if base configuration allows it.
- Issue #2179: Ensure
RateLimiter.executeSuspendFunctionrespectsdrainPermissionsOnResultin the configuration. - Issue #2152: Ensure the randomize function always returns a number greater than 1.0.
- Issue #2130: Add support for Feign 12.5+.
- Issue #2121: Specify required
RateLimiterpermits in annotations.
Bugs
- Issue #2243: Fixed potential memory leak in
DefaultEventConsumerRegistry. - Issue #2209: Resolved issue where
CompletionStagedoes not complete on user-supplied predicate failures. - Issue #2190: Fixed
StackOverflowErrorand circular reference in CircuitBreaker configuration handling. - Issue #2175: Fixed validation error message for
slowCallDurationThreshold.