Prepare for v0.34.0 release

This commit is contained in:
Tim Kuehn
2023-12-29 20:38:51 -08:00
parent d50290a21c
commit 263ef8a897
5 changed files with 25 additions and 5 deletions

View File

@@ -67,7 +67,7 @@ Some other features of tarpc:
Add to your `Cargo.toml` dependencies:
```toml
tarpc = "0.33"
tarpc = "0.34"
```
The `tarpc::service` attribute expands to a collection of items that form an rpc service.

View File

@@ -1,3 +1,23 @@
## 0.34.0 (2023-12-29)
### Breaking Changes
- `#[tarpc::server]` is no more! Service traits now use async fns.
- `Channel::execute` no longer spawns request handlers. Async-fn-in-traits makes it impossible to
add a Send bound to the future returned by `Serve::serve`. Instead, `Channel::execute` returns a
stream of futures, where each future is a request handler. To achieve the former behavior:
```rust
channel.execute(server.serve())
.for_each(|rpc| { tokio::spawn(rpc); })
```
### New Features
- Request hooks are added to the serve trait, so that it's easy to hook in cross-cutting
functionality look throttling, authorization, etc.
- The Client trait is back! This makes it possible to hook in generic client functionality like load
balancing, retries, etc.
## 0.33.0 (2023-04-01)
### Breaking Changes

View File

@@ -21,7 +21,7 @@ futures = "0.3"
opentelemetry = { version = "0.21.0" }
opentelemetry-jaeger = { version = "0.20.0", features = ["rt-tokio"] }
rand = "0.8"
tarpc = { version = "0.33", path = "../tarpc", features = ["full"] }
tarpc = { version = "0.34", path = "../tarpc", features = ["full"] }
tokio = { version = "1", features = ["macros", "net", "rt-multi-thread"] }
tracing = { version = "0.1" }
tracing-opentelemetry = "0.22.0"

View File

@@ -1,6 +1,6 @@
[package]
name = "tarpc-plugins"
version = "0.12.0"
version = "0.13.0"
rust-version = "1.56"
authors = ["Adam Wright <adam.austin.wright@gmail.com>", "Tim Kuehn <timothy.j.kuehn@gmail.com>"]
edition = "2021"

View File

@@ -1,6 +1,6 @@
[package]
name = "tarpc"
version = "0.33.0"
version = "0.34.0"
rust-version = "1.58.0"
authors = [
"Adam Wright <adam.austin.wright@gmail.com>",
@@ -49,7 +49,7 @@ pin-project = "1.0"
rand = "0.8"
serde = { optional = true, version = "1.0", features = ["derive"] }
static_assertions = "1.1.0"
tarpc-plugins = { path = "../plugins", version = "0.12" }
tarpc-plugins = { path = "../plugins", version = "0.13" }
thiserror = "1.0"
tokio = { version = "1", features = ["time"] }
tokio-util = { version = "0.7.3", features = ["time"] }