Logback 1.5.22
2025-12-11 Release of logback version 1.5.22
• In order to prevent involuntary information leakage, Logback will no longer output the value of a substituted variable, if the variable name contains any of the case-insensitive strings "password", "secret" or "confidential". This problem was reported by Chintan Rohila in issues/986.
• Logback now takes the overridden toString() method of Throwable subclasses into account when printing stack traces. This issue was reported in LOGBACK-543 by Alvin Chee, with a fix provided in PR 404 by Brett Kail.
• Instead of limit-counting guard, Logback now uses a tumbling-window guard to rate limit internal error messages.
• A bit-wise identical binary of this version can be reproduced by building from source code at commit 572379aabd2f672b49593e4020696c624541e5b0 associated with the tag v_1.5.22. Release built using Java "21" 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.
7.4.0.BETA1
The Lettuce team is pleased to announce the first beta release of Lettuce 7.4.0!
This release introduces client-side geographic failover through the newly added MultiDBClient.
- Automatic Detection: The client monitors the health of all configured Redis endpoints.
- Seamless Failover: If the active endpoint fails, traffic is automatically rerouted to the next healthiest endpoint based on configurable priorities.
- Customizable: Developers can configure endpoints, set priorities, adjust failure sensitivity, and plug in custom health checks or failure detection logic.
Lettuce 7.4.0.BETA1 supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.4, 8.2, 7.4, and 7.2.
We encourage you to try out this beta and provide feedback ahead of the general availability release.
Full Changelog: https://github.com/redis/lettuce/compare/7.2.0.RELEASE...7.4.0.BETA1
We'd like to thank all the contributors who worked on this release! @atakavci, @ggivo, @uglide
v7.0.2
- Avoid unnecessary list creation and processing in
AbstractTestContextBootstrapper#35995 AbstractTestContextBootstrappershould resolveContextLoaderonly once #35994- Log
RetryExceptionfor@Retryablemethods #35983 - Consistently stop already started
Lifecyclebeans on cancelled refresh #35964 - Support timeouts in
@RetryableandRetryPolicy#35963 - Use
==instead ofinstanceoffor primitive array type checks #35962 - Introduce
MultiValueMapCollectorfor use with streams #35958 - Avoid package cycle caused by use of UriComponentsBuilder in ServletServerHttpRequest #35952
- Target type in Converter interface should be
@Nullable#35947 - Provide access to attempt count in
RetryListeneras well as callbacks for the initial attempt #35940 - DefaultHandshakeHandler should not log client faults on error level #35930
- Log warning when meta-annotation is ignored due to types not present in classpath #35927
- Revise
ApplicationContext#getId()nullability to non-null #35925 - Use concurrent set behind reactive
TransactionSynchronizationManager#registerSynchronization#35921 - Refine
AbstractKotlinSerializationHttpMessageConverter#canWrite#35920 - Register bean dependency for
Optionalinjection point as well #35919 - Change
canRead/canWriteoverrides toClassones inAbstractSmartHttpMessageConverter#35916 - Do not make HttpHeaders read-only in HttpEntity #35888
- Add WebFlux SSE support with GSON #35884
- Different ReactorNettyWebSocketSession call getId() may return the same value #35883
- Refine nullability of
Assert#noNullElements#35868 - Allow configuring default maxIdleTime on InMemoryWebSessionStore. #35866
- Refine
BindingReflectionHintsRegistrarwithObjectToObjectConverterhints #35847 - Add
resetCaches()method to general CacheManager interface #35845 - Enhance handleTypeMismatch error message in ResponseEntityExceptionHandler #35837
- Add support for package-private
BeanRegistrarin Spring AOT generated code #35803 - Use ExtendedServletRequestDataBinder/ExtendedWebExchangeDataBinder for functional request binding #35800
- Expose Collection on FragmentsRendering to facilitate Unit Tests #35775
- Improve i18n-support for NoResourceFoundException #35758
- Cache resolved singleton beans in injected
Providerinstance #35373
ContextConfigurationAttributes(Class)constructor incorrectly setsinheritLocationstofalse#36000- NullPointerException thrown from JdkClientHttpRequestFactory for null request header value #35996
- State inconsistency in LazyConnectionDataSourceProxy when connection settings fail #35980
- SubscriberInputStream#resume misuses parked thread reference #35978
- Shared EntityManager returned by AbstractEntityManagerFactoryBean cannot be advised by AspectJ interceptor #35974
- RestClient cannot make HEAD requests when the response declares gzip Content-Encoding #35966
- ServerRequestObservationContext(s) miss Propagator.Getter method implementation #35965
- Jackson used instead of kotlinx.serialization for more complex types #35960
- Strong locking in
ConcurrentReferenceHashMap#computeIfAbsentmay cause context initialisation deadlock #35944 - BridgeMethodResolver change in 6.2.13 breaks Spring Data entity introspection #35936
- DefaultMessageListenerContainer does not clear Session and MessageConsumer for paused invokers #35932
- Tighten cacheable decision behind
@Lazyinjection point #35917 - AOT-generated bean definition does not consider name of
RuntimeBeanReferenceusing name and type #35913 - Accidental fallback match for Collection-type beans due to
@Bean-level qualifier annotation #35908 SingletonSuppliershould be defensive againstsingletonInstance/initializedvisibility mismatch #35905- SortedResourcesFactoryBean does not accept non-existent resources anymore #35895
- Support reading unresolvable types in
AbstractJacksonHttpMessageConverter#35889 - Refine Kotlin Serialization codec type checks #35885
- UrlHandlerFilter also removes query parameters and fragment when using HTTP redirect #35873
- Fix handling of
ServerSentEventwith Jackson encoder #35872 @EnableResilientMethodsdoes not participate in globally enforced target class proxying #35863- RestTestClient can leak HTTP connections when no body expectations are performed #35784
- Use provided ReactiveAdapterRegistry in BindingContext constructor #35771
- PathMatchingResourcePatternResolver fails with URI in JAR manifest Class-Path entries #35682
- Correct link to Reactive Libraries in reference docs #35970
- Document that annotations are ignored if attributes reference types not present in the classpath #35959
- Remove JUnit 4 based meta-annotation example #35903
- Refer to "Spring Tools" instead of "Spring Tools for Eclipse" in reference manual #35901
- Document that
SpringExtensionrequires JUnit Jupiter 6.0 or higher #35900 - Fix broken Javadoc links to methods #35899
- Clarify JMS
sessionTransactedflag for local versus global transaction #35897 - Reference docs should not use obsolete "junit5" links #35892
- Testing chapter references nonexistent Dependency Management documentation #35890
- Wrong interface in WebFlux Documentation page for API Version #35887
- Update reference documentation to use Jackson 3 #35886
- Upgrade to json-path 2.10.0 #35924
- Upgrade to Micrometer 1.16.1 #35984
- Upgrade to Reactor 2025.0.1 #35985
Thank you to all the contributors who worked on this release:
@JohnNiang, @Pankraz76, @florianhof, @ivonaest, @izeye, @jnizet, @ngocnhan-tran1996, @remeio, and @zamzterz
7.4.0.BETA1
The Lettuce team is pleased to announce the first beta release of Lettuce 7.4.0!
This release introduces Automatic Client-Side Endpoint Failover through the newly added MultiDBClient.
- Automatic Detection: The client monitors the health of all configured Redis endpoints.
- Seamless Failover: If the active endpoint fails, traffic is automatically rerouted to the next healthiest endpoint based on configurable priorities.
- Customizable: Developers can configure endpoints, set priorities, adjust failure sensitivity, and plug in custom health checks or failure detection logic.
Lettuce 7.4.0.BETA1 supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.4, 8.2, 7.4, and 7.2.
We encourage you to try out this beta and provide feedback ahead of the general availability release.
Full Changelog: https://github.com/redis/lettuce/compare/7.2.0.RELEASE...7.4.0.BETA1
We'd like to thank all the contributors who worked on this release! @atakavci, @ggivo, @uglide
v6.2.15
- Avoid package cycle caused by use of UriComponentsBuilder in ServletServerHttpRequest #35954
- DefaultHandshakeHandler should not log client faults on error level #35948
- Use concurrent set behind reactive
TransactionSynchronizationManager#registerSynchronization#35922 - Expose Collection on FragmentsRendering to facilitate Unit Tests #35912
- Different ReactorNettyWebSocketSession call getId() may return the same value #35911
- Enhance handleTypeMismatch error message in ResponseEntityExceptionHandler #35878
- NullPointerException thrown from JdkClientHttpRequestFactory for null request header value #35998
- State inconsistency in LazyConnectionDataSourceProxy when connection settings fail #35981
- SubscriberInputStream#resume misuses parked thread reference #35979
- PathMatchingResourcePatternResolver fails with URI in JAR manifest Class-Path entries #35967
- Strong locking in
ConcurrentReferenceHashMap#computeIfAbsentmay cause context initialisation deadlock #35945 - BridgeMethodResolver change in 6.2.13 breaks Spring Data entity introspection #35941
- DefaultMessageListenerContainer does not clear Session and MessageConsumer for paused invokers #35935
- Use provided ReactiveAdapterRegistry in BindingContext constructor #35934
- Tighten cacheable decision behind
@Lazyinjection point #35918 - Use provided ReactiveAdapterRegistry in BindingContext constructor #35914
- Accidental fallback match for Collection-type beans due to
@Bean-level qualifier annotation #35909 - SortedResourcesFactoryBean does not accept non-existent resources anymore #35896
- Document that annotations are ignored if attributes reference types not present in the classpath #35973
- Fix broken Javadoc links to methods #35904
- Refer to "Spring Tools" instead of "Spring Tools for Eclipse" in reference manual #35902
- Clarify JMS
sessionTransactedflag for local versus global transaction #35898 - Reference docs should not use obsolete "junit5" links #35893
- Testing chapter references nonexistent Dependency Management documentation #35891