The Lettuce team is delighted to announce the availability of Lettuce 6.
Lettuce 6 aligns with Redis 6 in terms of API and protocol changes. Both protocols, RESP and RESP3 are supported side-by-side defaulting to RESP.
Most notable changes that ship with this release are:
RESP3 support
ACL Authentication with username/password
Asynchronous Cluster Topology Refresh
Client-side caching support
Registration of push message listeners
Configuration files for GraalVM Native Image compilation
Kotlin Coroutine API
Redesign command latency metrics publishing
API cleanups/Breaking Changes
Lettuce 6 supports Redis 2.6+ up to Redis 6.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 15.
Thanks to all contributors who made Lettuce 6.0.0.RELEASE possible.
Lettuce requires a minimum of Java 8 to build and run and is compatible with Java 15. It is tested continuously against the latest Redis source-build.
Redis 6 ships with support for a new protocol version. RESP3 brings support for additional data types to distinguish better between responses. The following response types were introduced with RESP3:
Null: a single null value replacing RESP v2 *-1 and $-1 null values.
Double: a floating-point number.
Boolean: true or false.
Blob error: binary-safe error code and message.
Verbatim string: a binary-safe string that is typically used as user message without any escaping or filtering.
Map: an ordered collection of key-value pairs. Keys and values can be any other RESP3 type.
Set: an unordered collection of N other types.
Attribute: Like the Map type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information.
Push: Out-of-band data.
Streamed strings: A large response using chunked transfer.
Hello: Like the Map type, but is sent only when the connection between the client and the server is established, in order to welcome the client with different information like the name of the server, its version, and so forth.
Big number: a large number non-representable by the Number type
Lettuce supports all response types except attributes. Push messages are only supported for Pub/Sub messages.
The protocol version can be changed through ClientOptions which disables protocol discovery:
The Lettuce team is delighted to announce the availability of Lettuce 6.
Lettuce 6 aligns with Redis 6 in terms of API and protocol changes. Both protocols, RESP and RESP3 are supported side-by-side defaulting to RESP.
Most notable changes that ship with this release are:
RESP3 support
ACL Authentication with username/password
Asynchronous Cluster Topology Refresh
Client-side caching support
Registration of push message listeners
Configuration files for GraalVM Native Image compilation
Kotlin Coroutine API
Redesign command latency metrics publishing
API cleanups/Breaking Changes
Lettuce 6 supports Redis 2.6+ up to Redis 6.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 15.
Thanks to all contributors who made Lettuce 6.0.0.RELEASE possible.
Lettuce requires a minimum of Java 8 to build and run and is compatible with Java 15. It is tested continuously against the latest Redis source-build.
Redis 6 ships with support for a new protocol version. RESP3 brings support for additional data types to distinguish better between responses. The following response types were introduced with RESP3:
Null: a single null value replacing RESP v2 *-1 and $-1 null values.
Double: a floating-point number.
Boolean: true or false.
Blob error: binary-safe error code and message.
Verbatim string: a binary-safe string that is typically used as user message without any escaping or filtering.
Map: an ordered collection of key-value pairs. Keys and values can be any other RESP3 type.
Set: an unordered collection of N other types.
Attribute: Like the Map type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information.
Push: Out-of-band data.
Streamed strings: A large response using chunked transfer.
Hello: Like the Map type, but is sent only when the connection between the client and the server is established, in order to welcome the client with different information like the name of the server, its version, and so forth.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps lettuce-core from 5.3.4.RELEASE to 6.0.0.RELEASE.
Release notes
Sourced from lettuce-core's releases.
Changelog
Sourced from lettuce-core's changelog.
Commits
edf471b
[maven-release-plugin] prepare release 6.0.0.RELEASE535bf90
Rename StatefulRedisConnection.suspendable() to .coroutines() and command int...4c44963
Kotlin api generator fixes and polishing #14394a434c8
Polishing #14368a4a321
Deprecate reactive StreamChannel methods #14345fc9d3f
Polishing #14340bb4beb
Polishing #142252ae9c0
Change hgetall return type from Mono<Map> to Flux<KeyValue> #14344b6b5ee
Polishing #1414, #1415, #14167cc06ad
Prepare release notes #1432Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)