New & Noteworthy¶
What’s new in Lettuce 6.8¶
- RediSearch support through
RediSearchCommandsand the respective reactive, async and Kotlin APIs
What’s new in Lettuce 6.7¶
- VectorSet support through
RedisVectorSetCommandsand the respective reactive, async and Kotlin APIs ConnectionPoolSupportalso allows the user to provide custom connection validations
What’s new in Lettuce 6.6¶
- Support
HGETDEL,HGETEXandHSETEX - Introduce command replay filter to avoid command replaying after reconnect
- Deprecate the STRALGO command and implement the LCS in its place
- Token based authentication integration with core extension
What’s new in Lettuce 6.5¶
- RedisJSON support through
RedisJSONCommandsand the respective reactive, async and Kotlin APIs - Complete support for all
CLUSTERcommands (addedCLUSTER MYSHARDIDandCLUSTER LINKS) - Added support for the
CLIENT TRACKINGcommand - Migrated the documentation to MkDocs
What’s new in Lettuce 6.4¶
- Hash Field Expiration is now fully supported
- Sharded Pub/Sub is now fully supported
- Support
CLIENT KILLwith[MAXAGE]parameter andHSCANwithNOVALUESparameter
What’s new in Lettuce 6.3¶
-
Redis Function support (
fcallandFUNCTIONcommands). -
Support for Library Name and Version through
LettuceVersion. Automated registration of the Lettuce library version upon connection handshake. -
Support for Micrometer Tracing to trace observations (distributed tracing and metrics).
What’s new in Lettuce 6.2¶
-
RedisCredentialsProviderabstraction to externalize credentials and credentials rotation. -
Retrieval of Redis Cluster node connections using
ConnectionIntentto obtain read-only connections. -
Master/Replica now uses
SENTINEL REPLICASto discover replicas instead ofSENTINEL SLAVES.
What’s new in Lettuce 6.1¶
-
Kotlin Coroutines support for
SCAN/HSCAN/SSCAN/ZSCANthroughScanFlow. -
Command Listener API through
RedisClient.addListener(CommandListener). -
Micrometer support through
MicrometerCommandLatencyRecorder. -
Configuration of extended Keep-Alive options through
KeepAliveOptions(only available for some transports/Java versions). -
Configuration of netty's
AddressResolverGroupthroughClientResources. UsesDnsAddressResolverGroupwhennetty-resolver-dnsis on the classpath. -
Add support for Redis ACL commands.
What’s new in Lettuce 6.0¶
-
Support for RESP3 usage with Redis 6 along with RESP2/RESP3 handshake and protocol version discovery.
-
ACL authentication using username and password or password-only authentication.
-
Cluster topology refresh is now non-blocking.
-
RxJava 3 support.
-
Refined Scripting API accepting the Lua script either as
byte[]orString. -
Connection and Queue failures now no longer throw an exception but properly associate the failure with the Future handle.
-
Removal of deprecated API including timeout methods accepting
TimeUnit. Use methods acceptingDurationinstead. -
Lots of internal refinements.
-
xpendingmethods return nowList<PendingMessage>andPendingMessages -
Spring support removed. Use Spring Data Redis for a seamless Spring integration with Lettuce.
-
AsyncConnectionPoolSupport.createBoundedObjectPool(…)methods are now blocking to await pool initialization. -
DecodeBufferPolicyfor fine-grained memory reclaim control. -
RedisURI.toString()renders masked password. -
ClientResources.commandLatencyCollector(…)refactored intoClientResources.commandLatencyRecorder(…)returningCommandLatencyRecorder.
What’s new in Lettuce 5.3¶
-
Improved SSL configuration supporting Cipher suite selection and PEM-encoded certificates.
-
Fixed method signature for
randomkey(). -
Un-deprecated
ClientOptions.pingBeforeActivateConnectionto allow connection verification during connection handshake.
What’s new in Lettuce 5.2¶
-
Allow randomization of read candidates using Redis Cluster.
-
SSL support for Redis Sentinel.
What’s new in Lettuce 5.1¶
-
Add support for
ZPOPMIN,ZPOPMAX,BZPOPMIN,BZPOPMAXcommands. -
Add support for Redis Command Tracing through Brave, see Configuring Client resources.
-
Add support for Redis Streams.
-
Asynchronous
connect()for Master/Replica connections. -
Asynchronous Connection Pooling through
AsyncConnectionPoolSupportandAsyncPool. -
Dedicated exceptions for Redis
LOADING,BUSY, andNOSCRIPTresponses. -
Commands in at-most-once mode (auto-reconnect disabled) are now canceled already on disconnect.
-
Global command timeouts (also for reactive and asynchronous API usage) configurable through Client Options.
-
Host and port mappers for Lettuce usage behind connection tunnels/proxies through
SocketAddressResolver, see Configuring Client resources. -
SCRIPT LOADdispatch to all cluster nodes when issued throughRedisAdvancedClusterCommands. -
Reactive
ScanStreamto iterate over the keyspace usingSCANcommands. -
Transactions using Master/Replica connections are bound to the master node.
What’s new in Lettuce 5.0¶
-
New artifact coordinates:
io.lettuce:lettuce-coreand packages moved fromcom.lambdaworks.redistoio.lettuce.core. -
Reactive API now Reactive Streams-based using Project Reactor.
-
Redis Command Interfaces supporting dynamic command invocation and Redis Modules.
-
Enhanced, immutable Key-Value objects.
-
Asynchronous Cluster connect.
-
Native transport support for Kqueue on macOS systems.
-
Removal of support for Guava.
-
Removal of deprecated
RedisConnectionandRedisAsyncConnectioninterfaces. -
Java 9 compatibility.
-
HTML and PDF reference documentation along with a new project website: https://lettuce.io.