Releases: redis/lettuce
6.4.1.RELEASE
🐞 Bug Fixes
- (crossport to 6.4.x) spublish typo fix (#2972)
- Sharded PubSub subscriptions not recovered after disconn… #2940
- Implement missing method in the BooleanListOutput (#3033)
- Add defensive copy for Futures allOf() method (#2943)
- fix:deadlock when reentrant exclusive lock #2905 #2879 (#2961)
Full Changelog: 6.4.0.RELEASE...6.4.1.RELEASE
6.5.0.RELEASE
⭐ New Features
- Introducing JSON to Lettuce (#2992)
- Add support for the
CLUSTER MYSHARDID
command (#2920) - Add support for the
CLUSTER LINKS
command (#2986) - Add support for the
CLIENT TRACKINGINFO
command (#2862) - Default ClientOptions.timeoutOptions to TimeoutOptions.enabled() (#2927)
- Propagate database number, user, and RedisURI into Tracing (#3005)
- Add support for creating regex and subnet-based ReadFrom instances from a single string (#3016)
- Add hasNoSlots() method to RedisClusterNode (#3015)
🐞 Bug Fixes
- Initialize slots with empty BitSet in RedisClusterNode's constructors (#2341)
- fix(2971): spublish typo fix (#2972)
- Update completeExceptionally on ClusterCommand using super (#2980)
- Add defensive copy for Futures allOf() method (#2943)
- fix:deadlock when reentrant exclusive lock #2905 #2879 (#2961)
- ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException (#2993)
- ScanIterator.scan.stream().toList() causes "java.lang.IllegalStateException: Accept exceeded fixed size of 0" on Java 16+ (#3002)
- fix: Lcs response parse (#2970)
- Resubscribe logic ignoring Pub/Sub shard channels after reconnect. (#3024)
- Command interface - issues with async array results (#3033)
💡 Other
- Add badges to the README.md file (#2939)
- Convert wiki to markdown docs (#2944)
- Add the Github repo url to the doc config (#3008)
- document update regarding addressResolverGroup settings (#3007)
- Add CodeCov configuration, enable test analytics (#3023)
- io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required on CLIENT and READONLY command (#3035)
- Bump org.jacoco:jacoco-maven-plugin from 0.8.9 to 0.8.12 (#2921)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.1 (#2922)
- Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.1 (#2958)
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 (#2957)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.4.0 (#2968)
- Bump org.hdrhistogram:HdrHistogram from 2.1.12 to 2.2.2 (#2966)
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 (#2978)
- Bump org.apache.logging.log4j:log4j-bom from 2.17.2 to 2.24.0 (#2988)
- Bump io.netty:netty-bom from 4.1.107.Final to 4.1.113.Final (#2990)
- Suspected change in ubuntu causing CI failures (#2949)
- MKdocs styling update (#3034)
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in #2852
- @jkrauze made their first contribution in #2972
- @Roiocam made their first contribution in #2961
- @jinkshower made their first contribution in #2943
- @joshrotenberg made their first contribution in #3008
- @nosan made their first contribution in #3016
- @wmxl made their first contribution in #3015
- @winguse made their first contribution in #3007
- @jabolina made their first contribution in #2970
Full Changelog: 6.4.0.RELEASE...6.5.0.RELEASE
6.1.11.RELEASE
The Lettuce team is pleased to announce the Lettuce 6.1.11 service release!
This release ships with bugfixes and dependency upgrades.
Find the full changelog at the end of this document.
Thanks to all contributors who made Lettuce 6.1.11.RELEASE possible. Lettuce 6 supports
Redis 2.6+ up to Redis 7.x. In terms of Java runtime, Lettuce requires at least Java 8 and
works with Java 19. It is tested continuously against the latest Redis source-build
📗 Links
- Reference documentation: https://lettuce.io/core/6.1.10.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.1.10.RELEASE/api/
🐞 Bug Fixes
Full Changelog: 6.1.10.RELEASE...6.1.11.RELEASE
6.5.0.RC2
⭐ New Features
- Introducing JSON to Lettuce (#2992)
- Add support for the
CLUSTER MYSHARDID
command (#2920) - Add support for the
CLUSTER LINKS
command (#2986) - Add support for the
CLIENT TRACKINGINFO
command (#2862) - Default ClientOptions.timeoutOptions to TimeoutOptions.enabled() (#2927)
- Propagate database number, user, and RedisURI into Tracing (#3005)
🐞 Bug Fixes
- Initialize slots with empty BitSet in RedisClusterNode's constructors (#2341)
- fix(2971): spublish typo fix (#2972)
- Update completeExceptionally on ClusterCommand using super (#2980)
- Add defensive copy for Futures allOf() method (#2943)
- fix:deadlock when reentrant exclusive lock #2905 #2879 (#2961)
- ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException (2993)
💡 Other
- Add badges to the README.md file (#2939)
- Convert wiki to markdown docs (#2944)
- Add the Github repo url to the doc config (#3008)
- Bump org.jacoco:jacoco-maven-plugin from 0.8.9 to 0.8.12 (#2921)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.1 (#2922)
- Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.1 (#2958)
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 (#2957)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.4.0 (#2968)
- Bump org.hdrhistogram:HdrHistogram from 2.1.12 to 2.2.2 (#2966)
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 (#2978)
- Bump org.apache.logging.log4j:log4j-bom from 2.17.2 to 2.24.0 (#2988)
- Bump io.netty:netty-bom from 4.1.107.Final to 4.1.113.Final (#2990)
- Suspected change in ubuntu causing CI failures (#2949)
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in #2852
- @jkrauze made their first contribution in #2972
- @Roiocam made their first contribution in #2961
- @jinkshower made their first contribution in #2943
- @joshrotenberg made their first contribution in #3008
Full Changelog: 6.4.0.RELEASE...6.5.0.RC2
6.5.0.RC1
⭐ New Features
- Introducing JSON to Lettuce (#2992)
- Add support for the
CLUSTER MYSHARDID
command (#2920) - Add support for the
CLUSTER LINKS
command (#2986) - Add support for the
CLIENT TRACKINGINFO
command (#2862) - Default ClientOptions.timeoutOptions to TimeoutOptions.enabled() (#2927)
🐞 Bug Fixes
- Initialize slots with empty BitSet in RedisClusterNode's constructors (#2341)
- fix(2971): spublish typo fix (#2972)
- Update completeExceptionally on ClusterCommand using super (#2980)
- Add defensive copy for Futures allOf() method (#2943)
- fix:deadlock when reentrant exclusive lock #2905 #2879 (#2961)
💡 Other
- Add badges to the README.md file (#2939)
- Convert wiki to markdown docs (#2944)
- Bump org.jacoco:jacoco-maven-plugin from 0.8.9 to 0.8.12 (#2921)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.1 (#2922)
- Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.1 (#2958)
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0 (#2957)
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.4.0 (#2968)
- Bump org.hdrhistogram:HdrHistogram from 2.1.12 to 2.2.2 (#2966)
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 (#2978)
- Bump org.apache.logging.log4j:log4j-bom from 2.17.2 to 2.24.0 (#2988)
- Bump io.netty:netty-bom from 4.1.107.Final to 4.1.113.Final (#2990)
- Suspected change in ubuntu causing CI failures (#2949)
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in #2852 (#2852)
- @jkrauze made their first contribution in #2972 (#2972)
- @Roiocam made their first contribution in #2961 (#2961)
- @jinkshower made their first contribution in #2943 (#2943)
Full Changelog: 6.4.0.RELEASE...6.5.0.RC1
6.4.0.RELEASE
⭐ New Features
- Implement
HPEXPIRE
,HPEXPIREAT
,HPEXPIRETIME
,HTTL
and HPTTL` (#2857) - Implement
HEXPIRE
,HEXPIREAT
,HEXPIRETIME
andHPERSIST
(#2836) - Mark dnsResolver(DnsResolver) as deprecated. (#2855)
- implementation of
PUBSUB SHARDCHANNELS
(#2793) - Add support for
SUNSUBSCRIBE
#2759 (#2851) - Add support for
SPUBLISH
(#2838) - Add a
evalReadOnly
overload that accepts the script as aString
(#2868) XREAD
support for reading last message from stream (#2863)- Send the
CLIENT SETINFO
command in a fire-and-forget way (#2823) - Add support
CLIENT KILL [MAXAGE]
(#2782) - Support
HSCAN
withNOVALUES
argument (#2816) - Server addressed the issues of empty list returned for missing keys (#2899)
🐞 Bug Fixes
💡 Other
- Fixed the release flow (#2896)
- Setting the next release to be 6.4.x as part of #2880 (#2881)
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 (#2875)
- Bump org.apache.maven.plugins:maven-assembly-plugin from 3.6.0 to 3.7.1 by @dependabot (#2887)
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 (#2873)
- Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 (#2877)
- Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 (#2874)
- Bump org.openjdk.jmh:jmh-generator-annprocess from 1.21 to 1.37 (#2876)
- Bump reactor.version from 3.6.4 to 3.6.6 by @dependabot (#2889)
- Add release drafter workflow (#2820)
- Applying code formatter each time we run a Maven build (#2841)
- Flaky integration test frequently fails the pipeline (#2844)
- GitHub issue template polishing and stale issues action (#2833)
- Attempt to stabilize integration tests (#2825)
- Add snapshot and release workflows (#2810)
- Fix license in POM (#2812)
- Created CodeQL analysis configuration by modifying suggested template (#2811)
- bump setup-java to v4 (#2807)
- Added unit tests for most of the pubsub classes that did not have any (#2808)
- Change the license to more permissive MIT (#2803)
- CI/CD quickstart (#2777)
- Updated release acton (as part of #2880) by @tishun in #2885
- Fixed the release flow by @tishun in #2896
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
@BalmungSan, @atakavci, @dengliming, @dependabot, @dependabot[bot], @gerzse, @mp911de, @sullis, @thachlp, @tishun, @uglide and @yfwz100
Full Changelog: 6.3.0.RELEASE...6.4.0.RELEASE
6.4.0.M1
What's Changed
- CI/CD quickstart by @tishun in #2777
- implementation of PUBSUB SHARDCHANNELS by @atakavci in #2793
- Change the license to more permissive MIT by @uglide in #2803
- Added unit tests for most of the pubsub classes that did not have any by @tishun in #2808
- bump setup-java to v4 by @sullis in #2807
- Created CodeQL analysis configuration by modifying suggested template by @tishun in #2811
- Fix license in POM by @uglide in #2812
- Add snapshot and release workflows by @uglide in #2810
- Support HSCAN with NOVALUES argument by @gerzse in #2816
- Send the CLIENT SETINFO command in a fire-and-forget way by @tishun in #2823
- Attempt to stabilize integration tests by @tishun in #2825
- GitHub issue template polishing and stale issues action by @tishun in #2833
- Implement HEXPIRE, HEXPIREAT, HEXPIRETIME and HPERSIST by @tishun in #2836
- Flaky integration test frequently fails the pipeline by @tishun in #2844
- Add support for
SPUBLISH
by @atakavci in #2838 - Applying code formatter each time we run a Maven build by @tishun in #2841
- Add support CLIENT KILL [MAXAGE] by @dengliming in #2782
- Add support for
SUNSUBSCRIBE
#2759 by @atakavci in #2851 - Mark dnsResolver(DnsResolver) as deprecated. by @yfwz100 in #2855
- Implement HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL and HPTTL by @tishun in #2857
- XREAD support for reading last message from stream by @tishun in #2863
- Add a
evalReadOnly
overload that accepts the script as aString
by @BalmungSan in #2868 - Add release drafter workflow by @tishun in #2820
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 by @dependabot in #2873
- Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 by @dependabot in #2874
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 by @dependabot in #2875
- Bump org.openjdk.jmh:jmh-generator-annprocess from 1.21 to 1.37 by @dependabot in #2876
- Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 by @dependabot in #2877
- Setting the next release to be 6.4.x as part of #2880 by @tishun in #2881
- Updated release notes by @tishun in #2882
New Contributors
- @atakavci made their first contribution in #2793
- @uglide made their first contribution in #2803
- @sullis made their first contribution in #2807
- @gerzse made their first contribution in #2816
- @yfwz100 made their first contribution in #2855
- @BalmungSan made their first contribution in #2868
- @dependabot made their first contribution in #2873
Full Changelog: 6.3.0.RELEASE...6.4.0.M1
6.3.2.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.3.2.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.3.2.RELEASE/api/
⭐ New Features
- Performance: Encoding of keys/values in CommandArgs when using a codec that implements ToByteBufEncoder #2610
- Switch to
ConcurrentLinkedQueue
to avoid expensivesize
calls #2602 - Use
HashedWheelTimer
for command expiration management to reduce thread context switches and improve performance #2773
🐞 Bug Fixes
- Connection reconnect suspended after reconnect to Redis with protected mode #2770
- Can't PUBLISH when subscribed with RESP3 #2594
💡 Other
- Upgrade dependencies #2780
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
6.3.1.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.3.1.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.3.1.RELEASE/api/
⭐ New Features
- Update
RedisVersion
parser to accept version numbers with non-numeric suffix #2557 ClusterTopologyRefreshOptions.Builder. enableAdaptiveRefreshTrigger (…)
without options should throwIllegalArgumentException
#2575- GraalVM - io.lettuce.core.metrics.DefaultCommandLatencyCollector$DefaultPauseDetectorWrapper was found in the image heap #2579
🐞 Bug Fixes
- Geosearch and FCALL_RO commands go to the master node #2568
💡 Other
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
6.3.0.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.3.0.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.3.0.RELEASE/api/
⭐ Commands
- Add
WITHSCORE
option toZRANK
andZREVRANK
commands #2410 - Add support for
CLIENT SETINFO
,CLIENT INFO
, and enhancedCLIENT LIST
#2439 ZMPOP
andBZMPOP
commands #2435- Support
FCALL
commands to Call Lua-scripts that are loaded as Function in redis #2185
⭐ New Features
- Add support for disconnect on timeout to recover early from no
RST
packet failures #2082 - Avoid buffer copies in
RedisStateMachine
#2173 - Make SlotHash utility methods public #2199
- Improve
AdaptiveRefreshTriggeredEvent
to provide the cause and contextual details #2338 - Refine
RedisException
instantiation to avoid exception instances if they are not used #2353 - Add capability of FailOver with takeOver option #2358
- Add option to disable tracing for individual commands #2373
- ReplicaTopologyProvider can't parse replicas from INFO #2375
- Add support for Micrometer Tracing #2391
- Add Command filter to
MicrometerCommandLatencyRecorder
#2406 - Expose methods to suspend periodic topology refresh and to check whether a topology refresh is running #2428
- Accept Double and Boolean in
MapOutput
#2429 - Array lists with set capacities in SimpleBatcher #2445
- Add fallback to RESP2 upon
NOPROTO
response #2455 - Introduce generic Object output #2467
- Propagate initialization failures from
ChannelInitializer
#2475 - Register library name and library version on Redis 7.2 or greater #2483
- Add support for cluster-announced hostname #2487
🐞 Bug Fixes
- Proper creation of
AttributeKey
#2111 - INFO response parsing throws on encountering '' on NodeTopologyView #2161
PartitionSelectorException
during refresh ofPartitions
#2178- RedisURI.Builder#withSsl(RedisURI) not working with SslVerifyMode#CA #2182
- SMISMEMBER is not marked a readonly command #2197
- Eval lua script expects return integer but null #2200
ZRANGESTORE
does not support by Rank comparison #2202- zrevrangestorebylex/zrevrangestorebyscore range arguments flipped #2203
- Own
RedisCredentialsProvider
causes issue with protocol handshake on Redis 5 #2234 - NullPointerException if INFO command on redis cluster fails #2243
- XTrimArgs Should Allow Limit = 0 #2250
- The hostname and password cannot parse even if escaping with RedisURI redis-sentinel the password include '@' and '#' #2254
- Fix password parsing error when redis-sentinel URI contains @ #2255
- Handle unknown endpoints in MOVED response #2290
- Fallback to RESP2 hides potential authentication configuration problems #2313
- Accept slots as String using
CLUSTER SHARDS
#2325 RedisURI.applySsl(…)
does not retainSslVerifyMode
#2328- Apply
SslVerifyMode
inRedisURI.applySsl(…)
#2329 - Fix long overflow in
RedisSubscription#potentiallyReadMore
#2383 - Consistently implement CompositeArgument in arg types #2387
- Reactive Cluster
MGET
is not running in parallel #2395 - Polish RedisObservation name & javadoc #2404
memory usage
command passes key asString
instead of using the codec #2424- Fix NPE when manually flushing a batch #2444
flushCommands
leads to random inbound command order when using large argument values with SSL #2456CommandListener
notified twice on error #2457RoleParser
does not definenone
,handshake
, andunknown
replica states #2482- StatefulRedisClusterPubSubConnectionImpl's activated() method will report exception after resubscribe() was call. #2534
💡 Other
- Improve Document on pingBeforeActivateConnection #2138
- Improve Document on dynamicRefreshSources #2139
- Fixes typo in ReadFrom #2213
- Fix duplicate word occurrences #2307
- Update netty.version to 4.1.89.Final #2311
- Avoid using port 7443 in Lettuce tests #2326
- Upgrade to Reactor 3.4.27 #2330
- Fix Set unit test sscanMultiple fail in redis7 #2349
- README.md demo has a error #2377
- Upgrade to Kotlin 1.7 #2392
- Upgrade to Netty 4.1.94.Final #2431
- Update SetArgs.java builder method param comment #2441
- Use enum for no-op
PauseDetectorWrapper
#2474 - Upgrade build to Redis 7.2 #2481
- Refine command outputs to capture whether a segment has been received instead of relying on the deserialized value state #2498
- Upgrade to Reactor 3.6.0 #2517
- Docs on metrics (wiki) are misleading #2538
- Upgrade to Micrometer 1.12.0 #2549
- Upgrade to netty 4.1.101.Final #2550
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @CodePlayer
- @DanielYWoo
- @Emibergo02
- @FatalEnigma
- @IlyaShatskikh
- @JunRzz
- @Leoncanva
- @PedroMPagani
- @SreedharReddyKallu
- @andre237
- @be-hase
- @coolbeevip
- @h-marvin
- @henry701
- @hkupty
- @huangmiao
- @jacob-pro
- @jeffreye
- @jiantosca
- @jruaux
- @karesti
- @kell0gg
- @koisyu
- @kotovdv
- @liyuntao
- @lorenzhawkes
- @lpellegr
- @luciopaiva
- @m-ibot
- @manzhizhen
- @mindas
- @oridool
- @oshai
- @rbowen
- @rstosick
- @sobhan-ssh
- @tadashiya
- @vijay-kota
- @yangbodong22011
- @ze
- @zhxjdwh