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
JavaDoc: http://redis.paluch.biz/docs/api/releases/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
Other
- Improve Redis URI documentation and query parameter handling #153
- Added configurable timeout to connection string #152
- Update netty to 4.0.34.Final #186
Changes for lettuce 4.1.Final
JavaDoc: http://redis.paluch.biz/docs/api/releases/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
- Improve Redis URI documentation and query parameter handling #153
- Added configurable timeout to connection string #152
- Update netty to 4.0.34.Final #186
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.