Repository navigation
Releases: redis/lettuce
Release list
6.9.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 6.9.0 release!
This release changes how commands are rejected while a connection is not available. Read the behavior change
below before you upgrade.
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.9.0 possible.
- 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/6.9.0.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.9.0.RELEASE/api/
Behavior change
This applies when commands are rejected while disconnected: with DisconnectedBehavior.REJECT_COMMANDS, or with
DisconnectedBehavior.DEFAULT and auto-reconnect disabled.
- Redis Cluster: a command now fails right away when the connection to its target node is still being
established, for example the first commands to a node after startup, or after a new slot mapping appears. This
also applies to commands redirected withMOVED/ASK. Before, these commands waited for the connection
attempt, up to the connect timeout. - All connection types: when writing a command to the channel fails, the command is now rejected instead of
being re-queued.
To avoid rejections right after startup, connect to the cluster nodes up front.
This change is also in 7.7.0 and later. The 7.0.x β 7.6.x lines do not include it.
Fixes
- DisconnectedBehavior.REJECT_COMMANDS does not fail fast for Redis Cluster commands waiting on lazy node connection establishment in #3747 (backport of #3782 by @Vaibhav026)
Full Changelog: 6.8.2.RELEASE...6.9.0.RELEASE
8.0.0.BETA1
The Lettuce team is pleased to announce the first beta release of Lettuce 8.0!
This release makes Project Reactor not-required: applications that use only the synchronous and asynchronous APIs can exclude reactor-core:
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>8.0.0.BETA1</version>
<exclusions>
<exclusion>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
</exclusion>
</exclusions>
</dependency>Lettuce 8.0 also removes Reactor-based APIs, most of them deprecated in 7.8 and 7.9, and changes Reactor-typed extension points. See What's new in Lettuce 8.0 for details and the breaking changes.
PR: [reactor-optional] Make 'Project Reactor' optional dependency by @atakavci in #3731
Lettuce 8.0.0.BETA1 supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.12, 8.10, 8.8, 8.6, 8.4, 8.2, 7.4 and 7.2.
We encourage you to try out this beta, in particular with Reactor excluded, and to provide feedback ahead of the general availability release.
Full Changelog: 7.9.0.RELEASE...8.0.0.BETA1
7.9.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.9.0 minor release!
Lettuce 7.9.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.10, Redis 8.8, 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.9.0.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.9.0.RELEASE
π Bug Fixes
- Fix GEODIST destination argument validation by @codingkiddo in #3934
- Fix snapshot and release publishing with Maven 3.10 credential scoping by @uglide in #3940
- RedisPublisher must not drop an error when the state changes concurrently #3942 by @zenios in #3943
- MultiOutput broken for boolean values by @Dgramada in #3932
- JSON.NUMINCRBY parsing broken for RESP2 by @Dgramada in #3933
βοΈ Maintenance
- Bump redis-authx dependencies to version 0.2.0 by @atakavci in #3906
- docs(agents): add create-implementation-plan-for-redis-api-change skill by @uglide in #3939
- Add maven wrapper by @a-TODO-rov in #3951
- Upgrade javaparser-core to 3.28.0 by @seungheyon in #3948
π‘ Other
- Prepare 7.9 users for the Lettuce 8.0 credentials and connection changes by @a-TODO-rov in #3949
- [reactor-optional] Introduce reactor-free CredentialsProvider and deprecate the reactive one by @a-TODO-rov in #3911
- [reactor-optional] Keep adapter streams open and add RedisCredentialsProvider.adapt by @a-TODO-rov in #3930
β€οΈ New Contributors - Welcome to the Lettuce family!
- @codingkiddo made their first contribution in #3934
- @zenios made their first contribution in #3943
- @seungheyon made their first contribution in #3948
Full Changelog: 7.8.0.RELEASE...7.9.0.RELEASE
7.8.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.8.0 minor release!
Lettuce 7.8.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.10, Redis 8.8, 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.8.0.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.8.0.RELEASE
β New Features
- [Redis 8.10] Add FT.AGGREGATE REDUCE COLLECT support with complex-value FieldValue by @uglide in #3878
- Prepare public APIs for optional Reactor support by @a-TODO-rov in #3915
- Extend ZRANGE with additional arguments by @Dgramada in #3908
- Rework codecs for redis search module by @viktoriya-kutsarova in #3884
π Bug Fixes
- Relax timeouts on MOVING rebind without buffered commands by @ggivo in #3894
- Signal onError instead of hanging when a reactive complex-output command errors by @HwangRock in #3851
- Fix ObjectOutput handling of top-level scalar responses by @cfcromn in #3861
- LCS command broken for non String codecs by @Dgramada in #3919
- fix: XAUTOCLAIM with JUSTID reports deleted PEL entries as claimed messages by @waterWang in #3901
- Support Sentinel implementations with a partial command surface by @uglide in #3920
βοΈ Maintenance
- Bump Netty to 4.2.17.Final by @a-TODO-rov in #3899
- Upgrade Reactor Core to 3.8.7 by @a-TODO-rov in #3905
π‘ Other
- Promote geo failover API to GA by @a-TODO-rov in #3914
- Deprecate sorted set commands by @Dgramada in #3913
- Deprecate legacy client-side caching support by @a-TODO-rov in #3897
- Make partitions and readFrom volatile in PooledClusterConnectionProvider #3777 by @big-cir in #3783
- Report test metrics from a nightly workflow by @bobymicroby in #3903
- Add warm up docs by @a-TODO-rov in #3895
- Update the docs after 7.7 release by @a-TODO-rov in #3896
- Support running integration tests against externally provisioned Redis Enterprise databases by @uglide in #3898
β€οΈ New Contributors - Welcome to the Lettuce family!
- @cfcromn made their first contribution in #3861
- @waterWang made their first contribution in #3901
- @bobymicroby made their first contribution in #3903
Full Changelog: 7.7.0.RELEASE...7.8.0.RELEASE
7.7.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.7.0 minor release!
β¨ Highlights
Lettuce 7.7.0 introduces support for the new features from Redis OSS 8.10 release, such as:
- New command: HIMPORT - high-throughput compact hash bulk insertion - user-guide
- New commands: LMOVEM, BLMOVEM - move multiple elements between lists
- New command: SUNIONCARD - get the cardinality of the union of multiple sets
- New command: SDIFFCARD - get the cardinality of the difference between sets
- XREAD, XREADGROUP - new MAXCOUNT and MAXSIZE arguments to cap the cumulative reply entries and size
- New command: FT.ALIASLIST - get all aliases for the index
- Stemmer support for Malay and Tagalog languages
Feature support for Probabilistic data structures in Redis:
Lettuce 7.7.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.10, Redis 8.8, 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.7.0.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.7.0.RELEASE
β New Features
- feature: Add Bloom Filter (BF.*) support to Lettuce #3759 by @Dgramada in #3760
- Add Cuckoo Filter (CF.*) support by @HwangRock in #3774
- Feature/top k by @Dgramada in #3780
- Feature/cms by @Dgramada in #3821
- Feature/t digest by @Dgramada in #3823
- Add support for CLIENT NO-TOUCH #3775 by @big-cir in #3776
- Add VISMEMBER support for Vector Sets by @njm1250 in #3822
- [Redis 8.10] add malay and tagalog lang support by @uglide in #3792
- [Redis 8.10]Add MAXCOUNT and MAXSIZE options to XREAD and XREADGROUP by @uglide in #3859
- [Redis 8.10] Add FT.ALIASLIST search command support by @uglide in #3844
- [Redis 8.10] Add LMOVEM and BLMOVEM list commands by @a-TODO-rov in #3858
- [Redis 8.10] Add SUNIONCARD and SDIFFCARD set cardinality commands by @uglide in #3874
- [Redis 8.10] Add HIMPORT (Hinted Hash Templates) with lazy per-connection prepare by @a-TODO-rov in #3879
π Bug Fixes
- Avoid Mono.block() in RedisURI masking path by @PreAgile in #3762
- Publish ClusterTopologyChangedEvent after applying the new topology #2860 by @shun-lee in #3791
- Deprecate commands by @thachlp in #3682
- Fix VADD command for single-element vectors #3802 by @njm1250 in #3806
- Fix streams response parsing by @a-TODO-rov in #3801
- Fix JFR event recorder unit tests #3066 by @lsh1215 in #3809
- Reset topology-refresh in-progress flag on synchronous exception by @karunsehwag in #3817
- Fix quadratic key-order restoration in cluster reactive MGET by @karunsehwag in #3819
- Align native transport option selection with default order by @karunsehwag in #3818
- Count YIELD_SCORE_AS tokens in FT.HYBRID COMBINE clause #3811 by @apoorva-01 in #3832
- Fix FT.AGGREGATE ADDSCORES argument position by @uglide in #3833
- Fall back to plain SO_KEEPALIVE when jdk.net module is absent by @meteaksoyy in #3864
βοΈ Maintenance
- Upgrade GitHub Actions versions by @uglide in #3773
- Upgrade GitHub Actions versions (#3773) - part 2 by @tishun in #3784
- ci: run full Redis version matrix only nightly by @uglide in #3836
- Fix top flaky integration tests by @uglide in #3870
- Disable broken FT.HYBRID tests by @uglide in #3877
- [Commands API interface consistency #1] tests and non-breaking fixes by @uglide in #3865
- [Commands API interface consistency #2] Remove generators by @uglide in #3866
- [Commands API interface consistency] Replace adding-a-redis-command with extend-commands-api skill by @uglide in #3872
- Update security policy by @uglide in #3883
π‘ Other
- Add option to skip unit tests in reusable workflow by @a-TODO-rov in #3768
- ci: add Spring Data Redis integration test workflow by @tishun in #3732
- Add deprecation annotation to coroutine multi DSL #2371 by @young0264 in #3771
- Add more tests around SCH by @uglide in #3793
- Add integration testing infrastructure documentation by @uglide in #3813
- Add Vector Set commands to read-only command list by @njm1250 in #3825
- Add AI-agent operating manual, reference docs, skills, rules, and guardrails by @a-TODO-rov in #3850
- [Redis 8.10] Add integration test for search-on-timeout config by @uglide in #3828
- Fix/cluster reject commands pending future by @Vaibhav026 in #3782
β€οΈ New Contributors - Welcome to the Lettuce family!
- @PreAgile made their first contribution in #3762
- @shun-lee made their first contribution in #3791
- @njm1250 made their first contribution in #3806
- @lsh1215 made their first contribution in #3809
- @HwangRock made their first contribution in #3774
- @karunsehwag made their first contribution in #3817
- @apoorva-01 made their first contribution in #3832
- @meteaksoyy made their first contribution in #3864
- @Vaibhav026 made their first contribution in #3782
Full Changelog: 7.6.0.RELEASE...7.7.0.RELEASE
7.6.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.6.0 minor release!
β¨ Highlights
Lettuce 7.6.0 introduces support for the new features from Redis OSS 8.8 release, such as:
- the new Array data structure
- INCREX: a window counter rate limiter combining INCR, INCRBY, INCRBYFLOAT, bounds, and expiration
- XNACK: a new streams command - allow consumers to explicitly release pending messages
- ZUNION, ZINTER, ZUNIONSTORE, ZINTERSTORE: new COUNT aggregator
- JSON.SET: new FPHA argument to specify the FP type for homogeneous FP arrays
Lettuce 7.6.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.8, 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.6.0.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.6.0.RELEASE
β New Features
- Add arrays API by @a-TODO-rov in #3745
- Introduce INCREX command by @a-TODO-rov in #3746
- Redis 8.8: Add XNACK support by @uglide in #3728
- Support COUNT aggregator for ZINTER, ZINTERSTORE, ZUNION and ZUNIONSTORE (Redis 8.8) by @atakavci in #3736
- Add support for FPHA argument with JSON.SET (Redis 8.8)#4478 by @atakavci in #3710
- Add missing Search languages by @viktoriya-kutsarova in #3690
π Bug Fixes
- ERR unknown subcommand 'MYID' with Azure Managed Redis #3495 by @tishun in #3693
- Fix links in README for Streaming API and Native Transports by @a-TODO-rov in #3707
- Fix JSON.ARRAPPEND root path encoding by @Dgramada in #3715
- Fix benchmark tests by @atakavci in #3735
- Fix imports in benchmarks client by @atakavci in #3737
- Improve CI pipeline stability in #3740 , #3724 by @atakavci , #3725 by @tishun , #3720 by @viktoriya-kutsarova
βοΈ Maintenance
- ci(integration): cap
GITHUB_TOKENtocontents: readby @arpitjain099 in #3761 - ci: declare workflow-level
contents: readon 3 workflows by @arpitjain099 in #3748 - Bump Netty 4.2.12.Final by @atakavci in #3723
- Bump Netty 4.2.13.Final by @atakavci in #3751
π‘ Other
- Add 8.8 to test matrix by @a-TODO-rov in #3764
- Add tests for client auth by @a-TODO-rov in #3685
- Introduce reusable workflows by @a-TODO-rov in #3673
- Optimize single-node master/replica reads by @Sean-Kenneth-Doherty in #3758
- Add subkeyspace notifications integration tests by @a-TODO-rov in #3734
β€οΈ New Contributors - Welcome to the Lettuce family!
- @Dgramada made their first contribution in #3715
- @Sean-Kenneth-Doherty made their first contribution in #3758
- @arpitjain099 made their first contribution in #3761
Full Changelog: 7.5.0.RELEASE...7.6.0.RELEASE
7.5.2.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.5.2 patch release!
Lettuce 7.5.2 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.5.2.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.5.2.RELEASE
π‘ Other
- Bump Netty 4.2.13.Final in #3757
Full Changelog: 7.5.1.RELEASE...7.5.2.RELEASE
7.4.2.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.4.2 patch release!
Lettuce 7.4.2 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.2.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.4.2.RELEASE
π‘ Other
- Bump Netty 4.2.13.Final in #3756
Full Changelog: 7.4.1.RELEASE...7.4.2.RELEASE
7.3.2.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.3.2 patch release!
Lettuce 7.3.2 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.2.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.3.2.RELEASE
π‘ Other
- Bump Netty 4.2.13.Final in #3755
Full Changelog: 7.3.1.RELEASE...7.3.2.RELEASE
7.2.3.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.2.3 patch release!
Lettuce 7.2.3 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.3.RELEASE possible.
π Links
Reference documentation: https://lettuce.io/core/7.2.3.RELEASE/reference/
π‘ Other
- Bump Netty 4.2.13.Final in #3754
Full Changelog: 7.2.2.RELEASE...7.2.3.RELEASE