Redis Client lettuce 3.4 and 4.1 Final released
I just released lettuce 3.4.Final and lettuce 4.1.Final. You can find the full details about 3.4.Final and 4.1.Final on Github.
These release contain numerous features and bugfixes. Lettuce introduces reusable client-resources, an EventBus, client metrics, and support for newly introduced commands. This versions work with Redis 3.2 RC3 but Redis expects a change in the format of CLUSTER NODES. So watch out for a new release of lettuce as soon as Redis 3.2 RC4 or a final is released.
lettuce is available in two major versions. The 3.x stream and the 4.x stream. Both streams are maintained.
The 4.x stream introduced breaking changes, as a user of 3.x you might be interested in the migration guide from 3.x to 4.x. See https://github.com/mp911de/lettuce/wiki/Migration-from-3.x-to-4.x
After this release, the 4.x branch will be promoted to the default branch.
Following rules should give a guidance for the stream in which a particular change is done:
Changes affecting both streams
New Redis commands (such as HSTRLEN)
Bugfixes
Changes for the 4.x stream only
New Redis paradigms
Enriching the API (such as multi-key command execution in the Cluster API)
Technical improvements to the client (such as the Reactive API)
The 3.x stream will be maintained at least until end of 2016.
Changes for lettuce 3.4.Final
Updated dependencies
netty 4.0.28.Final -> 4.0.34.Final
Enhancements
Support CLUSTER SETSLOT STABLE command #160
Support FLUSHALL [ASYNC]/FLUSHDB [ASYNC]/UNLINK commands #146
Adjust logging when running into Exceptions (exceptionCaught()) #140
Implement an EventBus system to publish events and metrics #124 (Thanks to @pulse00)
Implement a CompressionCodec for GZIP and Deflate compression #127
Provide a reusable client configuration for ThreadPools and other expensive resources #110
Use much faster JDK utility for converting an int to a byte sequence #163 (Thanks to @CodingFabian)
Cluster ReadFrom #114
Allow limiting the request queue size #115
Extend support for CLUSTER commands #111
Dispatch CLUSTER commands based on the slot #112
Support changed CLUSTER SLOTS #183
Fixes
Do not cache InetSocketAddress/SocketAddress in RedisURI #144
pfmerge invokes PFADD instead of PFMERGE #158 (Thanks to @christophstrobl)
Fix set with args method signature #159 (Thanks to @joshdurbin)
fix NOAUTH error when connecting to a cluster with password protection #171 (Thanks to @liufl)
Enable PING before connect with secured Redis servers #167
Include BaseRedis interface in synchronous RedisCluster API #166
Allow state-changing commands on pooled connections #162
NullPointer with bad cluster node list #173 (Thanks to @taer)
Avoid infinite reconnect loops when the connection is closed #126
Changes for lettuce 4.1.Final
Updated dependencies
netty 4.0.30.Final -> 4.0.34.Final
Enhancements
Support CLUSTER SETSLOT STABLE command #160
Support FLUSHALL [ASYNC]/FLUSHDB [ASYNC]/UNLINK commands #146
Support DEBUG RESTART/CRASH-AND-RECOVER [delay] commands #145
Adjust logging when running into Exceptions (exceptionCaught()) #140
Implement an EventBus system to publish events and metrics #124 (Thanks to @pulse00)
ClientResources and EventBus for 4.1 enhancement #137
Provide a reusable client configuration for ThreadPools and other expensive resources #110
Allow control over behavior in disconnected state #121
Use much faster JDK utility for converting an int to a byte sequence #163 (Thanks to @CodingFabian)
Extend support for CLUSTER commands #111
Dispatch CLUSTER commands based on the slot #112
Enable initial support for read from slaves in Master-Slave setups #125
Support changed CLUSTER SLOTS #183
Fixes
Do not cache InetSocketAddress/SocketAddress in RedisURI #144
Cluster API does not implement the Geo commands interface #154 (Thanks to @IdanFridman)
pfmerge invokes PFADD instead of PFMERGE #158 (Thanks to @christophstrobl)
Fix set with args method signature #159 (Thanks to @joshdurbin)
fix NOAUTH error when connecting to a cluster with password protection #171 (Thanks to @liufl)
Enable PING before connect with secured Redis servers #167
Perform multiple connection attempts when connecting a Redis Cluster #164
Include BaseRedis interface in synchronous RedisCluster API #166
Allow state-changing commands on pooled connections #162
Fix return type description in JavaDoc of the reactive API #185 (Thanks to @HaloFour)
Other
Maven coordinates:
3.4.Final
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>3.4.Final</version>
</dependency>
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>3.4.Final</version>
<classifier>shaded</classifier>
</dependency>4.1.Final
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>4.1.Final</version>
</dependency>
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>4.1.Final</version>
<classifier>shaded</classifier>
</dependency>Any feedback is appreciated or file an issue on GitHub.