Skip to content

Releases: redis/lettuce

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!

6.2.7.RELEASE

15 Nov 08:45
11b52dd
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • Add support for cluster-announced hostname #2487
  • Add support for disconnect on timeout to recover early from no RST packet failures #2082

🐞 Bug Fixes

  • StatefulRedisClusterPubSubConnectionImpl's activated() method will report exception after resubscribe() was call. #2534

💡 Other

  • Refine command outputs to capture whether a segment has been received instead of relying on the deserialized value state #2498
  • Docs on metrics (wiki) are misleading #2538
  • Upgrade to netty 4.1.101.Final #2550
  • Upgrade to Micrometer 1.9.17 #2551
  • Release Lettuce 6.2.7 #2552

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

6.2.6.RELEASE

16 Aug 08:02
bcb554b
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • Add fallback to RESP2 upon NOPROTO response #2455
  • Propagate initialization failures from ChannelInitializer #2475

🐞 Bug Fixes

  • CommandListener notified twice on error #2457
  • flushCommands leads to random inbound command order when using large argument values with SSL #2456
  • RoleParser does not define none, handshake, and unknown replica states #2482

💡 Other

  • Use enum for no-op PauseDetectorWrapper #2474
  • Upgrade build to Redis 7.2 #2481

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

6.2.5.RELEASE

17 Jul 10:04
c4bf85d
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • ReplicaTopologyProvider can't parse replicas from INFO #2375
  • Support for module-based read-only commands #2401
  • Accept Double and Boolean in MapOutput #2429
  • Array lists with set capacities in SimpleBatcher #2445

🐞 Bug Fixes

  • Reactive Cluster MGET is not running in parallel #2395
  • memory usage command passes key as String instead of using the codec #2424
  • Fix NPE when manually flushing a batch #2444

💡 Other

  • Upgrade to Netty 4.1.94.Final #2431
  • Update SetArgs.java builder method param comment #2441

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

6.2.4.RELEASE

18 Apr 10:15
a94d37f
Compare
Choose a tag to compare

📗 Links

⭐ New Features

  • Add capability of FailOver with takeOver option #2358
  • Improve AdaptiveRefreshTriggeredEvent to provide the cause and contextual details #2338
  • Refine RedisException instantiation to avoid exception instances if they are not used #2353

🐞 Bug Fixes

  • Fix long overflow in RedisSubscription#potentiallyReadMore #2383
  • Consistently implement CompositeArgument in arg types #2387

💡 Other

  • README.md demo has an error #2377
  • Fix Set unit test sscanMultiple fail in redis7 #2349

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

6.2.3.RELEASE

16 Feb 15:15
318c6aa
Compare
Choose a tag to compare

📗 Links

🐞 Bug Fixes

  • Fallback to RESP2 hides potential authentication configuration problems #2313
  • Accept slots as String using CLUSTER SHARDS #2325
  • Handle unknown endpoints in MOVED response #2290
  • RedisURI.applySsl(…) does not retain SslVerifyMode #2328
  • Apply SslVerifyMode in RedisURI.applySsl(…) #2329

💡 Other

  • Avoid using port 7443 in Lettuce tests #2326
  • Update netty.version to 4.1.89.Final #2311
  • Fix duplicate word occurrences #2307

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

6.2.2.RELEASE

06 Dec 08:44
77c4ea5
Compare
Choose a tag to compare

📗 Links

🐞 Bug Fixes

  • 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
  • XTrimArgs Should Allow Limit = 0 #2250
  • NullPointerException if INFO command on redis cluster fails #2243
  • Own RedisCredentialsProvider causes issue with protocol handshake on Redis 5 #2234
  • Proper creation of AttributeKey #2111

💡 Other

  • Improve Document on dynamicRefreshSources #2139
  • Improve Document on pingBeforeActivateConnection #2138
  • Shutdown issue #2111

❤️ Contributors

We'd like to thank all the contributors who worked on this release!