Skip to content

Commit

Permalink
release-0.23.0-beta.1
Browse files Browse the repository at this point in the history
  • Loading branch information
jaymell committed Mar 30, 2023
1 parent 0481cb6 commit 6a0c4c3
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 13 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The crate is called `redis` and you can depend on it via cargo:

```ini
[dependencies]
redis = "0.22.3"
redis = "0.23.0"
```

Documentation on the library can be found at
Expand Down Expand Up @@ -56,24 +56,24 @@ To enable asynchronous clients, enable the relevant feature in your Cargo.toml,

```
# if you use tokio
redis = { version = "0.22.3", features = ["tokio-comp"] }
redis = { version = "0.23.0", features = ["tokio-comp"] }
# if you use async-std
redis = { version = "0.22.3", features = ["async-std-comp"] }
redis = { version = "0.23.0", features = ["async-std-comp"] }
```

## TLS Support

To enable TLS support, you need to use the relevant feature entry in your Cargo.toml.

```
redis = { version = "0.22.3", features = ["tls"] }
redis = { version = "0.23.0", features = ["tls"] }
# if you use tokio
redis = { version = "0.22.3", features = ["tokio-native-tls-comp"] }
redis = { version = "0.23.0", features = ["tokio-native-tls-comp"] }
# if you use async-std
redis = { version = "0.22.3", features = ["async-std-tls-comp"] }
redis = { version = "0.23.0", features = ["async-std-tls-comp"] }
```

then you should be able to connect to a redis instance using the `rediss://` URL scheme:
Expand All @@ -86,7 +86,7 @@ let client = redis::Client::open("rediss://127.0.0.1/")?;

Support for Redis Cluster can be enabled by enabling the `cluster` feature in your Cargo.toml:

`redis = { version = "0.22.3", features = [ "cluster"] }`
`redis = { version = "0.23.0", features = [ "cluster"] }`

Then you can simply use the `ClusterClient`, which accepts a list of available nodes. Note
that only one node in the cluster needs to be specified when instantiating the client, though
Expand All @@ -109,7 +109,7 @@ fn fetch_an_integer() -> String {
Async Redis Cluster support can be enabled by enabling the `cluster-async` feature, along
with your preferred async runtime, e.g.:

`redis = { version = "0.22.3", features = [ "cluster-async", "tokio-std-comp" ] }`
`redis = { version = "0.23.0", features = [ "cluster-async", "tokio-std-comp" ] }`

```rust
use redis::cluster::ClusterClient;
Expand All @@ -129,7 +129,7 @@ async fn fetch_an_integer() -> String {

Support for the RedisJSON Module can be enabled by specifying "json" as a feature in your Cargo.toml.

`redis = { version = "0.22.3", features = ["json"] }`
`redis = { version = "0.23.0", features = ["json"] }`

Then you can simply import the `JsonCommands` trait which will add the `json` commands to all Redis Connections (not to be confused with just `Commands` which only adds the default commands)

Expand Down
5 changes: 5 additions & 0 deletions redis-test/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<a name="0.2.0-beta.1"></a>
### 0.2.0-beta.1 (2023-03-28)

* Track redis 0.23.0-beta.1 release

<a name="0.1.1"></a>
### 0.1.1 (2022-10-18)

Expand Down
6 changes: 3 additions & 3 deletions redis-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "redis-test"
version = "0.1.1"
version = "0.2.0-beta.1"
edition = "2021"
description = "Testing helpers for the `redis` crate"
homepage = "https://github.com/redis-rs/redis-rs"
Expand All @@ -10,7 +10,7 @@ license = "BSD-3-Clause"
rust-version = "1.59"

[dependencies]
redis = { version = "0.22.1", path = "../redis" }
redis = { version = "0.23.0-beta.1", path = "../redis" }

bytes = { version = "1", optional = true }
futures = { version = "0.3", optional = true }
Expand All @@ -19,6 +19,6 @@ futures = { version = "0.3", optional = true }
aio = ["futures", "redis/aio"]

[dev-dependencies]
redis = { version = "0.22.1", path = "../redis", features = ["aio", "tokio-comp"] }
redis = { version = "0.23.0-beta.1", path = "../redis", features = ["aio", "tokio-comp"] }
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread"] }

42 changes: 42 additions & 0 deletions redis/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
<a name="0.23.0-beta.1"></a>
### 0.23.0-beta.1 (2023-03-28)

This release adds the `cluster_async` module, which introduces async Redis Cluster support. The code therein
is largely taken from @Marwes's [redis-cluster-async crate](https://github.com/redis-rs/redis-cluster-async), which itself
appears to have started from a sync Redis Cluster implementation started by @atuk721. In any case, thanks to @Marwes and @atuk721
for the great work, and we hope to keep development moving forward in `redis-rs`.

Though async Redis Cluster functionality for the time being has been kept as close to the originating crate as possible, previous users of
`redis-cluster-async` should note the following changes:
* Retries, while still configurable, can no longer be set to `None`/infinite retries
* Routing and slot parsing logic has been removed and merged with existing `redis-rs` functionality
* The client has been removed and superceded by common `ClusterClient`
* Renamed `Connection` to `ClusterConnection`
* Added support for reading from replicas
* Added support for insecure TLS
* Added support for setting both username and password

#### Breaking Changes
* Fix long-standing bug related to `AsyncIter`'s stream implementation in which polling the server
for additional data yielded broken data in most cases. Type bounds for `AsyncIter` have changed slightly,
making this a potentially breaking change. ([#597](https://github.com/redis-rs/redis-rs/pull/597) @roger)

#### Changes
* Commands: Add additional generic args for key arguments ([#795](https://github.com/redis-rs/redis-rs/pull/795) @MaxOhn)
* Add `mset` / deprecate `set_multiple` ([#766](https://github.com/redis-rs/redis-rs/pull/766) @randomairborne)
* More efficient interfaces for `MultiplexedConnection` and `ConnectionManager` ([#811](https://github.com/redis-rs/redis-rs/pull/811) @nihohit)
* Refactor / remove flaky test ([#810](https://github.com/redis-rs/redis-rs/pull/810))
* `cluster_async`: rename `Connection` to `ClusterConnection`, `Pipeline` to `ClusterConnInner` ([#808](https://github.com/redis-rs/redis-rs/pull/808))
* Support parsing IPV6 cluster nodes ([#796](https://github.com/redis-rs/redis-rs/pull/796) @socs)
* Common client for sync/async cluster connections ([#798](https://github.com/redis-rs/redis-rs/pull/798))
* `cluster::ClusterConnection` underlying connection type is now generic (with existing type as default)
* Support `read_from_replicas` in cluster_async
* Set retries in `ClusterClientBuilder`
* Add mock tests for `cluster`
* cluster-async common slot parsing([#793](https://github.com/redis-rs/redis-rs/pull/793))
* Support async-std in cluster_async module ([#790](https://github.com/redis-rs/redis-rs/pull/790))
* Async-Cluster use same routing as Sync-Cluster ([#789](https://github.com/redis-rs/redis-rs/pull/789))
* Add Async Cluster Support ([#696](https://github.com/redis-rs/redis-rs/pull/696))
* Fix broken json-module tests ([#786](https://github.com/redis-rs/redis-rs/pull/786))
* `cluster`: Tls Builder support / simplify cluster connection map ([#718](https://github.com/redis-rs/redis-rs/pull/718) @0xWOF, @utkarshgupta137)

<a name="0.22.3"></a>
### 0.22.3 (2023-01-23)

Expand Down
2 changes: 1 addition & 1 deletion redis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "redis"
version = "0.22.3"
version = "0.23.0-beta.1"
keywords = ["redis", "database"]
description = "Redis driver for Rust."
homepage = "https://github.com/redis-rs/redis-rs"
Expand Down

0 comments on commit 6a0c4c3

Please sign in to comment.