redis/lettuce
 Watch   
 Star   
 Fork   
20 days ago
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: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.4.1.RELEASE

20 days ago
lettuce

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!

Full Changelog: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.5.0.RELEASE

21 days ago
lettuce

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

🐞 Bug Fixes

Full Changelog: https://github.com/redis/lettuce/compare/6.1.10.RELEASE...6.1.11.RELEASE

2024-10-12 00:15:29
lettuce

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!

Full Changelog: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.5.0.RC2

2024-09-25 17:02:19
lettuce

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!

Full Changelog: https://github.com/redis/lettuce/compare/6.4.0.RELEASE...6.5.0.RC1

2024-07-11 21:47:02
lettuce

6.4.0.RELEASE

⭐ 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

  • Remove not readonly commands #2832 (#2871)
  • Handle NPE (#2906)

💡 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 https://github.com/redis/lettuce/pull/2885
  • Fixed the release flow by @tishun in https://github.com/redis/lettuce/pull/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: https://github.com/redis/lettuce/compare/6.3.0.RELEASE...6.4.0.RELEASE

2024-06-07 23:41:14
lettuce

6.4.0.M1

What's Changed

New Contributors

Full Changelog: https://github.com/redis/lettuce/compare/6.3.0.RELEASE...6.4.0.M1

2024-03-13 17:09:43
lettuce

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

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

6.3.0.RELEASE

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

  • @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