7.4.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.4.0 minor release!
✨ New: MultiDbClient Lettuce introduces MultiDbClient, providing client-side failover and failback across multiple Redis databases.
MultiDbClient is designed to support client-side geographic failover, improving availability by monitoring the health of configured Redis endpoints and automatically switching connections when a database becomes unavailable. See the docs for details and more examples.
Lettuce 7.4.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.6, Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.4.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.4.0.RELEASE
⭐ New Features
- [automatic failover] Support for client-side geographic failover by @ggivo in https://github.com/redis/lettuce/pull/3576
- Implement hotkeys commands by @a-TODO-rov in https://github.com/redis/lettuce/pull/3638
🐞 Bug Fixes
- Remove noisy INFO log for unsupported maintenance events by @ggivo in https://github.com/redis/lettuce/pull/3652
💡 Other
- Improvements to the Lettuce guide by @tishun in https://github.com/redis/lettuce/pull/3655
❤️ Contributors We'd like to thank all the contributors who worked on this release! @a-TODO-rov, @ggivo, @tishun, @atakavci and github-action-benchmark
Full Changelog: https://github.com/redis/lettuce/compare/7.3.0.RELEASE...7.4.0.RELEASE
7.3.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.3.0 minor release!
Lettuce 7.3.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.6, Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.3.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.3.0.RELEASE
⭐ New Features
- Add idempotent mechanism to streams by @a-TODO-rov in https://github.com/redis/lettuce/pull/3637
- Add support for INT vector types by @a-TODO-rov in https://github.com/redis/lettuce/pull/3616
🐞 Bug Fixes
- Fix command queue corruption on encoding failures by @yangy0000 in https://github.com/redis/lettuce/pull/3443
- Update NIO event loop creation to use Netty 4.2 API #3584 by @jruaux in https://github.com/redis/lettuce/pull/3585
- Fix epoll with iouring scenario by @a-TODO-rov in https://github.com/redis/lettuce/pull/3601
💡 Other
- Bump the maven group with 2 updates by @dependabot[bot] in https://github.com/redis/lettuce/pull/3390
- DOC-4423 list command examples by @andy-stark-redis in https://github.com/redis/lettuce/pull/3433
- DOC-5375 reactive hash examples by @andy-stark-redis in https://github.com/redis/lettuce/pull/3336
- DOC-5376 added reactive sets examples by @andy-stark-redis in https://github.com/redis/lettuce/pull/3337
- DOC-5399 set cmd examples by @andy-stark-redis in https://github.com/redis/lettuce/pull/3342
- Bump org.awaitility:awaitility from 4.2.2 to 4.3.0 by @dependabot[bot] in https://github.com/redis/lettuce/pull/3626
- Add Redis 8.6 to test matrix by @a-TODO-rov in https://github.com/redis/lettuce/pull/3617 https://github.com/redis/lettuce/pull/3635
- Re-enable SentinelAclIntegrationTests #3274 by @yuripbong in https://github.com/redis/lettuce/pull/3625
❤️ New Contributors
- @yangy0000 made their first contribution in https://github.com/redis/lettuce/pull/3443
- @yuripbong made their first contribution in https://github.com/redis/lettuce/pull/3625
Full Changelog: https://github.com/redis/lettuce/compare/7.2.1.RELEASE...7.3.0.RELEASE
7.2.1.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.2.1 patch release!
Lettuce 7.2.1 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.2.1.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.2.1.RELEASE/reference/ Javadoc: https://lettuce.io/core/7.2.1.RELEASE/api/
🐞 Bug Fixes
- Fix command queue corruption on encoding failures (#3443) by @a-TODO-rov in https://github.com/redis/lettuce/pull/3581
Full Changelog: https://github.com/redis/lettuce/compare/7.2.0.RELEASE...7.2.1.RELEASE
7.1.1.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.1.1 service release! This release ships with bugfixes and dependency upgrades.
Lettuce 7 supports Redis 2.6+ up to Redis 8.4. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 21.
Thanks to all contributors who made Lettuce 7.1.1 possible.
- Reference documentation: https://lettuce.io/core/7.1.1.RELEASE/reference/
- Javadoc: https://lettuce.io/core/7.1.1.RELEASE/api/
- SearchArgs.returnField with alias produces malformed redis command #3528 (7.1.x) by @tishun in https://github.com/redis/lettuce/pull/3534
- Fix command queue corruption on encoding failures (#3443) (7.1.x) by @tishun in https://github.com/redis/lettuce/pull/3562
- Bumping Netty to 4.2.5.Final (7.1.x) by @tishun in https://github.com/redis/lettuce/pull/3537
Full Changelog: https://github.com/redis/lettuce/compare/7.1.0.RELEASE...7.1.1.RELEASE
7.0.1.RELEASE
The Lettuce team is pleased to announce the release of Lettuce 7.0.1!
Lettuce 7.0.1.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.
Thanks to all contributors who made Lettuce 7.0.1.RELEASE possible!
If you need any support, meet Lettuce at
- GitHub Discussions: https://github.com/lettuce-io/lettuce-core/discussions
- Stack Overflow (Questions): https://stackoverflow.com/questions/tagged/lettuce
- Join the chat at https://discord.gg/redis and look for the "Help:Tools Lettuce" channel
- GitHub Issues (Bug reports, feature requests): https://github.com/lettuce-io/lettuce-core/issues
- Documentation: https://lettuce.io/core/7.0.1.RELEASE/reference/
- Javadoc: https://lettuce.io/core/7.0.1.RELEASE/api/
- [Backport] Reduce CPU cycles spent on setting tracing tags by @ggivo in https://github.com/redis/lettuce/pull/3504
- docs: add maintNotificationsConfig to ClientOptions documentation by @ggivo in https://github.com/redis/lettuce/pull/3487
- SearchArgs.returnField with alias produces malformed redis command #3528 (7.0.x) by @a-TODO-rov in https://github.com/redis/lettuce/pull/3538
- Preserve null values when parsing SearchReplies (#3518) by @a-TODO-rov in https://github.com/redis/lettuce/pull/3553
- Fix command queue corruption on encoding failures (#3443) (7.0.x) by @tishun in https://github.com/redis/lettuce/pull/3561
- Bumping Netty to 4.2.5.Final (7.0.x) by @a-TODO-rov in https://github.com/redis/lettuce/pull/3539
Full Changelog: https://github.com/redis/lettuce/compare/7.0.0.RELEASE...7.0.1.RELEASE
6.8.2.RELEASE
The Lettuce team is pleased to announce the Lettuce 6.8.2 service release! This release ships with bugfixes and dependency upgrades.
Lettuce 6 supports Redis 2.6+ up to Redis 8.2. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 21.
Thanks to all contributors who made Lettuce 6.8.2 possible.
- Reference documentation: https://lettuce.io/core/6.8.2.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.8.2.RELEASE/api/
- [Backport] Reduce CPU cycles spent on setting tracing tags (#3339) by @ggivo in https://github.com/redis/lettuce/pull/3505
- Preserve null values when parsing SearchReplies (#3518) by @a-TODO-rov in https://github.com/redis/lettuce/pull/3551
- SearchArgs.returnField with alias produces malformed redis command #3… by @a-TODO-rov in https://github.com/redis/lettuce/pull/3550
- Fix command queue corruption on encoding failures (#3443) (6.8.x) by @tishun in https://github.com/redis/lettuce/pull/3560
- Bumping Netty to 4.1.125.Final (6.8.x) by @tishun in https://github.com/redis/lettuce/pull/3535
Full Changelog: https://github.com/redis/lettuce/compare/6.8.1.RELEASE...6.8.2.RELEASE
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
7.2.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.2.0 minor release!
Lettuce 7.2.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.2.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.2.0.RELEASE/reference/ Javadoc: https://lettuce.io/core/7.2.0.RELEASE/api/
⭐ New Features
- Add FT.HYBRID command by @a-TODO-rov in https://github.com/redis/lettuce/pull/3540
- Expose method to add upstream driver libraries to CLIENT SETINFO payload by @viktoriya-kutsarova in https://github.com/redis/lettuce/pull/3542
🐞 Bug Fixes
- SearchArgs.returnField with alias produces malformed redis command #3528 by @tishun in https://github.com/redis/lettuce/pull/3530
- fix consistency with get(int) that returns wrapped DelegateJsonObject/DelegateJsonArray for nested structures by @NeatGuyCoding in https://github.com/redis/lettuce/pull/3464
💡 Other
- Bumping Netty to 4.2.5.Final (main) by @tishun in https://github.com/redis/lettuce/pull/3536
❤️ New Contributors
- @NeatGuyCoding made their first contribution in https://github.com/redis/lettuce/pull/3464
- @viktoriya-kutsarova made their first contribution in https://github.com/redis/lettuce/pull/3542
Full Changelog: https://github.com/redis/lettuce/compare/7.1.0.RELEASE...7.2.0.RELEASE
7.1.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.1.0 minor release!
This release provides support for new features that are going to be part of the Redis 8.4 release, such as using the CLAIM parameter in the XREADGROUP command; atomically set multiple string keys and update their expiration withMSETEX and atomic compare-and-set and compare-and-delete for string keys using the extensions of the DIGEST, DELEX and SET commands.
Lettuce 7.1.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Find the full changelog at the end of this document.
Thanks to all contributors who made Lettuce 7.1.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.1.0.RELEASE/reference/ Javadoc: https://lettuce.io/core/7.1.0.RELEASE/api/
⭐ New Features
- Add support for XREADGROUP CLAIM arg by @a-TODO-rov in https://github.com/redis/lettuce/pull/3486
- Add support CAS/CAD by @a-TODO-rov in https://github.com/redis/lettuce/pull/3512
- Implement msetex command by @a-TODO-rov in https://github.com/redis/lettuce/pull/3510
🐞 Bug Fixes
- Preserve null values when parsing SearchReplies by @mhyllander in https://github.com/redis/lettuce/pull/3518
- Add official 8.4 to test matrix and make it default by @a-TODO-rov in https://github.com/redis/lettuce/pull/3520
- Fix io_uring class name by @a-TODO-rov in https://github.com/redis/lettuce/pull/3509
- Reduce CPU cycles spent on setting tracing tags by @RohanNagar in https://github.com/redis/lettuce/pull/3339
💡 Other
- N/A
❤️ New Contributors
- @RohanNagar made their first contribution in https://github.com/redis/lettuce/pull/3339
- @mhyllander made their first contribution in https://github.com/redis/lettuce/pull/3518
Full Changelog: https://github.com/redis/lettuce/compare/7.0.0.RELEASE...7.1.0.RELEASE
7.0.0
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.
- 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.
- 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)
- 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)
- Fix cluster scan deadlock (#3448)
- [Hitless Upgrades] Timeouts seen during endpoint re-bind and migrate (#3426)
- Fix a NullPointerException in DelegateJsonObject #3417 (#3418)
- 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)
- 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)
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: https://github.com/redis/lettuce/compare/6.8.0.RELEASE...7.0.0.RELEASE