From 7e521768abac9b064211318f10a04b8b6c464bb0 Mon Sep 17 00:00:00 2001 From: Tim Kuehn Date: Fri, 26 Jun 2020 20:02:59 -0700 Subject: [PATCH] Prepare for v0.21.0 release. --- README.md | 2 +- RELEASES.md | 23 +++++++++++++++++++++++ example-service/Cargo.toml | 2 +- plugins/Cargo.toml | 2 +- tarpc/Cargo.toml | 4 ++-- tarpc/src/lib.rs | 2 +- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4bce186..84c4fe8 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Some other features of tarpc: Add to your `Cargo.toml` dependencies: ```toml -tarpc = { version = "0.18.0", features = ["full"] } +tarpc = { version = "0.21.0", features = ["full"] } ``` The `tarpc::service` attribute expands to a collection of items that form an rpc service. diff --git a/RELEASES.md b/RELEASES.md index 51be92c..536aaa8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,26 @@ +## 0.21.0 (2020-06-26) + +### New Features + +A new proc macro, `#[tarpc::server]` was added! This enables service impls to elide the boilerplate +of specifying associated types for each RPC. With the ubiquity of async-await, most code won't have +nameable futures and will just be boxing the return type anyway. This macro does that for you. + +### Breaking Changes + +- Enums had _non_exhaustive fields replaced with the #[non_exhaustive] attribute. + +### Bug Fixes + +- https://github.com/google/tarpc/issues/304 + + A race condition in code that limits number of connections per client caused occasional panics. + +- https://github.com/google/tarpc/pull/295 + + Made request timeouts account for time spent in the outbound buffer. Previously, a large outbound + queue would lead to requests not timing out correctly. + ## 0.20.0 (2019-12-11) ### Breaking Changes diff --git a/example-service/Cargo.toml b/example-service/Cargo.toml index b8f1435..d38526b 100644 --- a/example-service/Cargo.toml +++ b/example-service/Cargo.toml @@ -16,7 +16,7 @@ description = "An example server built on tarpc." clap = "2.0" futures = "0.3" serde = { version = "1.0" } -tarpc = { version = "0.20", path = "../tarpc", features = ["full"] } +tarpc = { version = "0.21", path = "../tarpc", features = ["full"] } tokio = { version = "0.2", features = ["full"] } tokio-serde = { version = "0.6", features = ["json"] } env_logger = "0.6" diff --git a/plugins/Cargo.toml b/plugins/Cargo.toml index a468d15..8f4de1b 100644 --- a/plugins/Cargo.toml +++ b/plugins/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tarpc-plugins" -version = "0.7.0" +version = "0.8.0" authors = ["Adam Wright ", "Tim Kuehn "] edition = "2018" license = "MIT" diff --git a/tarpc/Cargo.toml b/tarpc/Cargo.toml index bba7c88..bd481a7 100644 --- a/tarpc/Cargo.toml +++ b/tarpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tarpc" -version = "0.20.0" +version = "0.21.0" authors = ["Adam Wright ", "Tim Kuehn "] edition = "2018" license = "MIT" @@ -35,7 +35,7 @@ rand = "0.7" tokio = { version = "0.2", features = ["time"] } serde = { optional = true, version = "1.0", features = ["derive"] } tokio-util = { optional = true, version = "0.2" } -tarpc-plugins = { path = "../plugins", version = "0.7" } +tarpc-plugins = { path = "../plugins", version = "0.8" } tokio-serde = { optional = true, version = "0.6" } [dev-dependencies] diff --git a/tarpc/src/lib.rs b/tarpc/src/lib.rs index a97f86d..c66be89 100644 --- a/tarpc/src/lib.rs +++ b/tarpc/src/lib.rs @@ -50,7 +50,7 @@ //! Add to your `Cargo.toml` dependencies: //! //! ```toml -//! tarpc = "0.20.0" +//! tarpc = "0.21.0" //! ``` //! //! The `tarpc::service` attribute expands to a collection of items that form an rpc service.