6.4.1.RELEASE
- (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: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.4.1.RELEASE
6.5.0.RELEASE
- 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)
- 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)
- 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)
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in https://github.com/redis/lettuce/pull/2852
- @jkrauze made their first contribution in https://github.com/redis/lettuce/pull/2972
- @Roiocam made their first contribution in https://github.com/redis/lettuce/pull/2961
- @jinkshower made their first contribution in https://github.com/redis/lettuce/pull/2943
- @joshrotenberg made their first contribution in https://github.com/redis/lettuce/pull/3008
- @nosan made their first contribution in https://github.com/redis/lettuce/pull/3016
- @wmxl made their first contribution in https://github.com/redis/lettuce/pull/3015
- @winguse made their first contribution in https://github.com/redis/lettuce/pull/3007
- @jabolina made their first contribution in https://github.com/redis/lettuce/pull/2970
Full Changelog: https://github.com/redis/lettuce/compare/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
- Reference documentation: https://lettuce.io/core/6.1.10.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.1.10.RELEASE/api/
- Run reactive MGET in parallel #2395 by @tishun in https://github.com/redis/lettuce/pull/3036
Full Changelog: https://github.com/redis/lettuce/compare/6.1.10.RELEASE...6.1.11.RELEASE
6.5.0.RC2
- 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)
- 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)
- 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)
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in https://github.com/redis/lettuce/pull/2852
- @jkrauze made their first contribution in https://github.com/redis/lettuce/pull/2972
- @Roiocam made their first contribution in https://github.com/redis/lettuce/pull/2961
- @jinkshower made their first contribution in https://github.com/redis/lettuce/pull/2943
- @joshrotenberg made their first contribution in https://github.com/redis/lettuce/pull/3008
Full Changelog: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.5.0.RC2
6.5.0.RC1
- 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)
- 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)
- 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)
We'd like to thank all the contributors who worked on this release!
- @zeze1004 made their first contribution in https://github.com/redis/lettuce/pull/2852 (#2852)
- @jkrauze made their first contribution in https://github.com/redis/lettuce/pull/2972 (#2972)
- @Roiocam made their first contribution in https://github.com/redis/lettuce/pull/2961 (#2961)
- @jinkshower made their first contribution in https://github.com/redis/lettuce/pull/2943 (#2943)
Full Changelog: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.5.0.RC1
6.4.0.RELEASE
- 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)
- Remove not readonly commands #2832 (#2871)
- Handle NPE (#2906)
- 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 https://github.com/redis/lettuce/pull/2885
- Fixed the release flow by @tishun in https://github.com/redis/lettuce/pull/2896
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: https://github.com/redis/lettuce/compare/6.3.0.RELEASE...6.4.0.RELEASE
6.4.0.M1
- CI/CD quickstart by @tishun in https://github.com/redis/lettuce/pull/2777
- implementation of PUBSUB SHARDCHANNELS by @atakavci in https://github.com/redis/lettuce/pull/2793
- Change the license to more permissive MIT by @uglide in https://github.com/redis/lettuce/pull/2803
- Added unit tests for most of the pubsub classes that did not have any by @tishun in https://github.com/redis/lettuce/pull/2808
- bump setup-java to v4 by @sullis in https://github.com/redis/lettuce/pull/2807
- Created CodeQL analysis configuration by modifying suggested template by @tishun in https://github.com/redis/lettuce/pull/2811
- Fix license in POM by @uglide in https://github.com/redis/lettuce/pull/2812
- Add snapshot and release workflows by @uglide in https://github.com/redis/lettuce/pull/2810
- Support HSCAN with NOVALUES argument by @gerzse in https://github.com/redis/lettuce/pull/2816
- Send the CLIENT SETINFO command in a fire-and-forget way by @tishun in https://github.com/redis/lettuce/pull/2823
- Attempt to stabilize integration tests by @tishun in https://github.com/redis/lettuce/pull/2825
- GitHub issue template polishing and stale issues action by @tishun in https://github.com/redis/lettuce/pull/2833
- Implement HEXPIRE, HEXPIREAT, HEXPIRETIME and HPERSIST by @tishun in https://github.com/redis/lettuce/pull/2836
- Flaky integration test frequently fails the pipeline by @tishun in https://github.com/redis/lettuce/pull/2844
- Add support for
SPUBLISH
by @atakavci in https://github.com/redis/lettuce/pull/2838 - Applying code formatter each time we run a Maven build by @tishun in https://github.com/redis/lettuce/pull/2841
- Add support CLIENT KILL [MAXAGE] by @dengliming in https://github.com/redis/lettuce/pull/2782
- Add support for
SUNSUBSCRIBE
#2759 by @atakavci in https://github.com/redis/lettuce/pull/2851 - Mark dnsResolver(DnsResolver) as deprecated. by @yfwz100 in https://github.com/redis/lettuce/pull/2855
- Implement HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL and HPTTL by @tishun in https://github.com/redis/lettuce/pull/2857
- XREAD support for reading last message from stream by @tishun in https://github.com/redis/lettuce/pull/2863
- Add a
evalReadOnly
overload that accepts the script as aString
by @BalmungSan in https://github.com/redis/lettuce/pull/2868 - Add release drafter workflow by @tishun in https://github.com/redis/lettuce/pull/2820
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 by @dependabot in https://github.com/redis/lettuce/pull/2873
- Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 by @dependabot in https://github.com/redis/lettuce/pull/2874
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 by @dependabot in https://github.com/redis/lettuce/pull/2875
- Bump org.openjdk.jmh:jmh-generator-annprocess from 1.21 to 1.37 by @dependabot in https://github.com/redis/lettuce/pull/2876
- Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 by @dependabot in https://github.com/redis/lettuce/pull/2877
- Setting the next release to be 6.4.x as part of #2880 by @tishun in https://github.com/redis/lettuce/pull/2881
- Updated release notes by @tishun in https://github.com/redis/lettuce/pull/2882
- @atakavci made their first contribution in https://github.com/redis/lettuce/pull/2793
- @uglide made their first contribution in https://github.com/redis/lettuce/pull/2803
- @sullis made their first contribution in https://github.com/redis/lettuce/pull/2807
- @gerzse made their first contribution in https://github.com/redis/lettuce/pull/2816
- @yfwz100 made their first contribution in https://github.com/redis/lettuce/pull/2855
- @BalmungSan made their first contribution in https://github.com/redis/lettuce/pull/2868
- @dependabot made their first contribution in https://github.com/redis/lettuce/pull/2873
Full Changelog: https://github.com/redis/lettuce/compare/6.3.0.RELEASE...6.4.0.M1
6.3.2.RELEASE
- Reference documentation: https://lettuce.io/core/6.3.2.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.3.2.RELEASE/api/
- 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
- Connection reconnect suspended after reconnect to Redis with protected mode #2770
- Can't PUBLISH when subscribed with RESP3 #2594
- Upgrade dependencies #2780
We'd like to thank all the contributors who worked on this release!
- @Tmpod
- @ZH379411584
- @okg-cxf
- @shikharid
- @yangty89
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
- Extend copyright license years to 2024 #2577
- Upgrade to Reactor 3.6.2 #2586
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @NicklasWallgren
- @devkanro
- @kajte
- @zzmmff
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