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
Nightly
- 7284ec4: [py] Properly verify Selenium Manager exists (#16711) (Corey Goldberg) #16711
- 88a8296: fix flaky Ruby test
element_spec.rb(#16709) (Andrei Solntsev) #16709 - 8749a53: [java][BiDi] implement
emulation.setScreenOrientationOverride(#16705) (Swastik Baranwal) #16705 - 8e246df: [rb] add synchronization and error handling for socket interactions (#16487) (Titus Fortner) #16487
- 706d53d: [rb] mark low level bidi implementation as private api (#16475) (Titus Fortner) #16475
- b154cc7: [rb] ensure driver process is always stopped (#15635) (Titus Fortner) #15635
- c6e2c05: [rb] create user-friendly method for enabling bidi (#14284) (Titus Fortner) #14284