lettuce-io/lettuce-core
 Watch   
 Star   
 Fork   
2024-03-13 17:09:43
lettuce-core

6.3.2.RELEASE

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

  • @Tmpod
  • @ZH379411584
  • @okg-cxf
  • @shikharid
  • @yangty89
2024-01-10 17:01:31
lettuce-core

6.3.1.RELEASE

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

  • @NicklasWallgren
  • @devkanro
  • @kajte
  • @zzmmff
2023-11-15 17:12:27
lettuce-core

6.3.0.RELEASE

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

  • @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
2023-11-15 16:39:04
lettuce-core

6.2.7.RELEASE

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

  • @JunRzz
  • @hkupty
  • @yangbodong22011
2023-08-16 15:55:30
lettuce-core

6.2.6.RELEASE

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

  • @jruaux
  • @lpellegr
2023-07-17 18:01:23
lettuce-core

6.2.5.RELEASE

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

  • @FatalEnigma
  • @IlyaShatskikh
  • @kell0gg
  • @koisyu
  • @JimB123
  • @luciopaiva
  • @oshai
  • @zhxjdwh
2023-04-18 18:03:36
lettuce-core

6.2.4.RELEASE

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

2023-02-16 23:09:43
lettuce-core

6.2.3.RELEASE

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

2022-12-06 16:39:47
lettuce-core

6.2.2.RELEASE

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

2022-10-10 17:23:06
lettuce-core

6.1.10.RELEASE

The Lettuce team is pleased to announce the Lettuce 6.1.10 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.10.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

  • zrevrangestorebylex/zrevrangestorebyscore range arguments flipped #2203
  • SMISMEMBER is not marked a readonly command #2197
  • RedisURI.Builder#withSsl(RedisURI) not working with SslVerifyMode#CA #2182
  • INFO response parsing throws on encountering '\n' on NodeTopologyView #2161

❤️ Contributors

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