Releases: resilience4j/resilience4j
Releases · resilience4j/resilience4j
Release v2.2.0
Enhancements
- Support Micronaut 4
- Issue #1962: Added apache commons configuration based registries
Bugs
- Issue #2052: Support class name using SpEL expression at @CIRCUITBREAKER name field enhancement
- Issue #2040: ThreadPoolBulkhead always uses the "default" configuration in micronaut application bug
- Issue #2037: Removing stale retry configurations from configuration map enhancement
- Issue #1625: New module that collects overall information enhancement
- Issue #1565: Do not retry if IntervalFunction returns interval less than 0
- Issue #1865: Timelimiter always uses the "default" configuration in micronaut application
- Issue #2038: java.lang.StackOverflowError due to infinite loop in CircuitBreakerStateMachine$OpenState.tryAcquirePermission
Release v2.1.0
Release v2.0.2
Bugs
- Issue #1835: Fixed CircuitBreaker CheckedSupplier and CheckedFunction decorator not opening on recordResultPredicate
Release v2.0.1
Enhancements
-
Support Spring Boot 3 by adding resilience4j-spring-boot3 and resilience4j-spring6
-
Issue #1787: Apply Spring Boot customizers even if there is no instance entry in the config file
Bugs
Release v2.0.0
- Removed Vavr as a dependency
- Upgraded to Java 17
- Upgraded to Kotlin 1.7.20
- Upgraded to Spring Boot 2.7
- Upgraded to Micronaut 3.7.3
Release v1.7.1
Enhancements
- Issue #1414: SpEL expressions support passing runtime method arguments to bean methods
Bugs
- Issue #1268: Stream events from springboot2 stopped SSE after the 1st message.
- Issue #1372: Kotlin Timelimiter executeSuspendFunction throws TimeoutException after coroutine is canceled
- Issue #1432: CircuitBreaker permits more calls then expected when switching from OPEN to HALF_OPEN state
- Issue #1437: Event can be published twice when CircuitBreaker in MetricsOnlyState
Release v1.7.0
Enhancements
- RateLimiter: Reduce RateLimiter memory footprint of high cardinality keys #1221
- CircuitBreaker: When waitDurationInOpenState and waitIntervalFunctionInOpenStat are used together, waitDurationInOpenState will be overridden #1214
- TimeLimiterAspect does not refresh static timeLimiterExecutorService on Spring context shutdown and restart #1203
- CircuitBreaker: Record a failure on result #384
- Added support for Micronaut
- Updated Spring Boot from 2.3.0.RELEASE to 2.4.1
- Updated Reactor from 3.3.0.RELEASE to 3.4.0
- Updated Spring Cloud Context from 2.2.2.RELEASE to 3.0.0
- Updated Spring Framework from 5.2.6.RELEASE to 5.3.2
- Updated Spring Boot Open Feign from 2.2.2.RELEASE to 2.2.6.RELEASE
- Updated Kotlin Coroutines from 1.3.2 to 1.4.2
- Updated Dropwizard Metrics from 3.2.6 to 4.1.16
- Prevent the decoration of default methods in feign client #1245
- Added RateLimiter.drainPermissions method #1240
- Added failAfterMaxAttempts flag to RetryConfig and a new MaxRetriesExceededException #1293
Bugs
Release v1.6.1
Bugs
- Springboot application failing on startup with version 1.6.0 #1192
Release v1.6.0
Enhancements
- RetryConfig.DEFAULT_MAX_ATTEMPTS should be public #1180
- Circuitbreaker doesn't open when nested TimeLimiter throws TimeOutCancellationException #1123
- Enhance Server Side Events
/circuitbreaker/events
#1076 - CallNotPermittedException should contain circuit breaker name (and possibly other information) #1062
- Retry: Exponential backoff with constant behaviour after certain time #1044
- Respecting the clock set in the CircuitBreakerStateMachine for detecting slow calls #734
Bugs
- Circuit breaker stuck in HALF_OPEN state #935
- Circuit breaker global fallback seems to not work when annotated method has more than 1 parameter #1174
- Timelimiter metrics not calculated when using resilince4j-kotlin #1168
- Problem with registering metrics for more than one circuit breaker #1131
- ConcurrentModificationException warning log while consuming events #1115
- CircuitBreakerConfig.Builder.waitDurationInOpenState() false documentation of when the function throws exception #1092
Release v1.5.0
- Issue #855: Updated resilience4j-spring-boot2 to 2.3.0.RELEASE
- Issue #855: Updated resilience4j-spring-cloud2 to 2.2.2.RELEASE
- Issue #942: Introduced new CB metric "notPermittedCalls"
- Issue #964: Added Kotlin DSL for building *Config and *Registry classes
- Issue #979: Added fairCallHandlingEnabled flag to BulkheadConfig which controls whether FairSync or NonfairSync should be used in the Semaphore.
- Issue #982: Added support to configure exponential random backoff via Spring config
- Issue #991: Fixed bug that auto transition to half_open happens even if the state is forced open.
- Issue #1000: Added toString to CircuitBreakerConfig
- Issue #1003: Fixed bug that CircuitBreaker tries to obtain permission twice in circuitBreaker.decorateEitherSupplier()