Lettuce 7.0.0.RELEASE
The Lettuce team is pleased to announce the release of Lettuce 7.0.0!
The release focuses on introducing Maintenance events support functionality, API improvements, and cleanup of deprecated features.
Key changes
- Maintenance events support for graceful maintenance handling
- Redis Query Engine (RediSearch) in cluster mode - when searching with a cursor the cursor now is sticking to a single node in cluster environments; read operations are spread around the nodes of a cluster in a random manner to avoid bottlenecks;
- Enhanced JSON API with
String-based access to avoid unnecessary conversions - Removal of deprecated APIs and options as part of the major version upgrade
- Upgrading to Netty 4.2
Lettuce 7.0.0.RELEASE supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.2, 8.0, 7.4, and 7.2.
Changes
🔥 Breaking Changes
- The KEYS command needs to be keyless (#3341)
- chore: remove usage of deprecated connection methods in command APIs in integration tests (#3328) (#3343)
- Remove deprecated dnsResolver option (#3328) (#3333)
- Remove deprecated
reset()method from Lettuce API and internals (#3395) - Make Utility Class constructor private to enforce noninstantiability (#3266)
- Enable adaptive refresh by default #3249 (#3316)
- ISSUE#3328 - Remove deprecated code from ISSUE#1314 (#3351)
- chore: deprecated withPassword(String) method (#3328) (#3350)
- Remove deprecated Utf8StringCodec class (#3328) (#3389)
- chore: remove deprecated default timeout from AbstractRedisClient (#3328) (#3344)
- chore: remove deprecated ClientOptions#cancelCommandsOnReconnectFailure (#3328) (#3346)
🚀 New Features
- Search - request/response policies implementation with API overrides (#3465)
- Implement JSON raw return types (#3478)
- Add support for EPSILON and WITHATTRIBS arguments in VSIM command (#3449)
- Add String-based JSON API to avoid unnecessary conversions (#3369) (#3394)
- [Hitless Upgrades] React to maintenance events #3345 (#3354, #3450, #3426)
🐛 Bug Fixes
- Fix cluster scan deadlock (#3448)
- [Hitless Upgrades] Timeouts seen during endpoint re-bind and migrate (#3426)
- Fix a NullPointerException in DelegateJsonObject #3417 (#3418)
💡 Other
- feat: add JSON read-only commands to ReadOnlyCommands (#3462)
- Upgrading to Netty 4.2 (#3405)
- Make search commands truly keyless (#3456)
- Add getCodec method to StatefulConnection (#3444)
- [hitless upgrade] Rename maintenance notification configuration properties (#3450)
- Return name method to ProtocolKeyword public interface. (#3424)
- Refactor JsonValue to Object mapping #3412 (#3413)
- Using non-native transports with SocketOptions should cause an error (#3279)
🧰 Maintenance
- GH workflows - fix docs action (#3457)
- Redis Enterprise Maintenance Events: Comprehensive Functional Testing (#3461)
- Remove spellcheck (#3471)
- Fix benchmarks after #3444 (#3476)
- Release Lettuce 7.0.0.BETA2 - update release notes #3454
- Fixing compilation error in benchmark code (#3442)
- docs: Fix various typos in documentation (#3423)
- bump test inra to 8.2.1-pre (#3399)
- Fixing the benchmarks action (#3402)
- Disable flaky test to stabilize the pipeline (#3403)
- Update redis-search.md (#3401)
- Bump kotlin.version from 1.7.21 to 2.0.0 (#2979)
Contributors
We'd like to thank all the contributors who worked on this release!
@Kiminni, @KoKimSS, @The-East-Wind, @a-TODO-rov, @brushmate, @ggivo, @kimsunghyun1995, @mohamed-arafa, @ori0o0p, @thachlp, @tishun, @uglide
Full Changelog: 6.8.0.RELEASE...7.0.0.RELEASE