Releases: redis/lettuce
6.3.2.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.3.2.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.3.2.RELEASE/api/
⭐ New Features
- 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
🐞 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
📗 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
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
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
6.2.7.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.7.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.7.RELEASE/api/
⭐ 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
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.6.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.6.RELEASE/api/
⭐ New Features
- Add fallback to RESP2 upon
NOPROTO
response #2455 - Propagate initialization failures from
ChannelInitializer
#2475
🐞 Bug Fixes
CommandListener
notified twice on error #2457flushCommands
leads to random inbound command order when using large argument values with SSL #2456RoleParser
does not definenone
,handshake
, andunknown
replica states #2482
💡 Other
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
6.2.5.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.5.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.5.RELEASE/api/
⭐ 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 asString
instead of using the codec #2424- Fix NPE when manually flushing a batch #2444
💡 Other
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
6.2.4.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.4.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.4.RELEASE/api/
⭐ 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
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
6.2.3.RELEASE
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.3.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.3.RELEASE/api/
🐞 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 retainSslVerifyMode
#2328- Apply
SslVerifyMode
inRedisURI.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
📗 Links
- Reference documentation: https://lettuce.io/core/6.2.2.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.2.2.RELEASE/api/
🐞 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!
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
- Reference documentation: https://lettuce.io/core/6.1.10.RELEASE/reference/
- Javadoc: https://lettuce.io/core/6.1.10.RELEASE/api/
🐞 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!