Skip to content

Releases: redis/lettuce

6.4.1.RELEASE

01 Nov 10:01
08096cf
Compare
Choose a tag to compare

🐞 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

31 Oct 15:11
7f455ec
Compare
Choose a tag to compare

⭐ 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!

Full Changelog: 6.4.0.RELEASE...6.5.0.RELEASE

6.1.11.RELEASE

30 Oct 20:40
5b1b259
Compare
Choose a tag to compare

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

🐞 Bug Fixes

Full Changelog: 6.1.10.RELEASE...6.1.11.RELEASE

6.5.0.RC2

12 Oct 08:21
d255b1a
Compare
Choose a tag to compare
6.5.0.RC2 Pre-release
Pre-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)

🐞 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!

Full Changelog: 6.4.0.RELEASE...6.5.0.RC2

6.5.0.RC1

26 Sep 08:37
547271c
Compare
Choose a tag to compare
6.5.0.RC1 Pre-release
Pre-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)

🐞 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!

Full Changelog: 6.4.0.RELEASE...6.5.0.RC1

6.4.0.RELEASE

29 Jul 12:47
83f459a
Compare
Choose a tag to compare

⭐ New Features

  • Implement HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL and HPTTL` (#2857)
  • Implement HEXPIRE, HEXPIREAT, HEXPIRETIME and HPERSIST (#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 a String (#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 with NOVALUES 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

07 Jun 16:11
ecac6d2
Compare
Choose a tag to compare
6.4.0.M1 Pre-release
Pre-release

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 a String 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

Full Changelog: 6.3.0.RELEASE...6.4.0.M1

6.3.2.RELEASE

13 Mar 09:17
8941aea
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • Performance: Encoding of keys/values in CommandArgs when using a codec that implements ToByteBufEncoder #2610
  • Switch to ConcurrentLinkedQueue to avoid expensive size 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

10 Jan 09:22
12e6995
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • Update RedisVersion parser to accept version numbers with non-numeric suffix #2557
  • ClusterTopologyRefreshOptions.Builder. enableAdaptiveRefreshTrigger (…) without options should throw IllegalArgumentException #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!

6.3.0.RELEASE

15 Nov 09:17
9bb1669
Compare
Choose a tag to compare

📗 Links

⭐ Commands

  • Add WITHSCORE option to ZRANK and ZREVRANK commands #2410
  • Add support for CLIENT SETINFO, CLIENT INFO, and enhanced CLIENT LIST #2439
  • ZMPOP and BZMPOP 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 of Partitions #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 retain SslVerifyMode #2328
  • Apply SslVerifyMode in RedisURI.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 as String 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 #2456
  • CommandListener notified twice on error #2457
  • RoleParser does not define none, handshake, and unknown 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!