From 6f378e2bd0cdf3a1a3df87e1feff842a8a599142 Mon Sep 17 00:00:00 2001 From: Lucio Franco Date: Wed, 1 Apr 2020 14:34:51 -0400 Subject: [PATCH] chore: Prepare `0.2` release (#321) Signed-off-by: Lucio Franco --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ examples/helloworld-tutorial.md | 4 ++-- examples/routeguide-tutorial.md | 4 ++-- tonic-build/Cargo.toml | 4 ++-- tonic-build/src/lib.rs | 2 +- tonic-health/Cargo.toml | 4 ++-- tonic-health/src/lib.rs | 26 ++++++++++++++++++++++++++ tonic-health/src/server.rs | 4 ++++ tonic/Cargo.toml | 4 ++-- tonic/src/lib.rs | 2 +- 10 files changed, 73 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c47031e..6e8ede1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +# [0.2.0](https://github.com/hyperium/tonic/compare/v0.1.1...v0.2.0) (2020-04-01) + + +### Bug Fixes + +* **build:** Allow non_camel_case_types on codegen structs ([224280d](https://github.com/hyperium/tonic/commit/224280dfff8944e9e553337416d23d6e5a050945)), closes [#295](https://github.com/hyperium/tonic/issues/295) +* **build:** Don't replace extern_paths ([#261](https://github.com/hyperium/tonic/issues/261)) ([1b3d107](https://github.com/hyperium/tonic/commit/1b3d107206136312a2536d3b72748c52191d99b1)) +* **build:** Ignore non `.rs` files with rustfmt ([#284](https://github.com/hyperium/tonic/issues/284)) ([7dfa2a2](https://github.com/hyperium/tonic/commit/7dfa2a277b593e008cea53eef7163ca59a06c56a)), closes [#283](https://github.com/hyperium/tonic/issues/283) +* **build:** Implement Debug for client struct ([6dbe88d](https://github.com/hyperium/tonic/commit/6dbe88d445e378fff48d05083c23baeb2020cb2d)), closes [#298](https://github.com/hyperium/tonic/issues/298) +* **build:** Remove debug println! ([#287](https://github.com/hyperium/tonic/issues/287)) ([e2c2be2](https://github.com/hyperium/tonic/commit/e2c2be2f084b7c1ef4e93f6994cb9c728de0c1ed)) +* **build:** Server service uses generic body bound ([#306](https://github.com/hyperium/tonic/issues/306)) ([5758b75](https://github.com/hyperium/tonic/commit/5758b758b2d44059b0149a31542d11589999a789)) +* **health:** Set referenced version of tonic ([59c7788](https://github.com/hyperium/tonic/commit/59c77888464a0302993dbe07fed7c1848b415f8f)) +* **metadata:** Remove deprecated error description ([61e0429](https://github.com/hyperium/tonic/commit/61e0429ae810354363835c36a046b5113b3c74b4)) +* **transport:** Handle tls accepting on task ([#320](https://github.com/hyperium/tonic/issues/320)) ([04a8c0c](https://github.com/hyperium/tonic/commit/04a8c0c82a4007f48c3bf3539a3f2312746fedd1)) + + +### Features + +* **build:** Add support for custom prost config ([#318](https://github.com/hyperium/tonic/issues/318)) ([202093c](https://github.com/hyperium/tonic/commit/202093c31715b52997c6c206c758924ff5f69bc8)) +* **health:** Add tonic-health server impl ([da92dbf](https://github.com/hyperium/tonic/commit/da92dbf8aa885ea0ea05755e9432532fc980e353)), closes [#135](https://github.com/hyperium/tonic/issues/135) [#135](https://github.com/hyperium/tonic/issues/135) +* Add Status with Details Constructor ([#308](https://github.com/hyperium/tonic/issues/308)) ([cfd59db](https://github.com/hyperium/tonic/commit/cfd59dbb342a8b7d216f4856e13d24b564c606f3)) +* **build:** Decouple codgen from `prost` ([#170](https://github.com/hyperium/tonic/issues/170)) ([f65cda1](https://github.com/hyperium/tonic/commit/f65cda1ea0a190fe07c4f8d91473baad9a6f1f77)) +* **transport:** Expose http2 keep-alive support ([#307](https://github.com/hyperium/tonic/issues/307)) ([012fa3c](https://github.com/hyperium/tonic/commit/012fa3cb4a0e010dafa28305416fab6c4278fc7b)) + + +### BREAKING CHANGES + +* Bumped `rustls` to `0.17`. +* Removed deprecated `Error::description` implementations. + + # [0.1.1](https://github.com/hyperium/tonic/compare/v0.1.0...v0.1.1) (2020-01-20) diff --git a/examples/helloworld-tutorial.md b/examples/helloworld-tutorial.md index 608768b..87dea6f 100644 --- a/examples/helloworld-tutorial.md +++ b/examples/helloworld-tutorial.md @@ -113,12 +113,12 @@ name = "helloworld-client" path = "src/client.rs" [dependencies] -tonic = "0.1" +tonic = "0.2" prost = "0.6" tokio = { version = "0.2", features = ["macros"] } [build-dependencies] -tonic-build = "0.1.0" +tonic-build = "0.2" ``` We include `tonic-build` as a useful way to incorporate the generation of our client and server gRPC code into the build process of our application. We will setup this build process now: diff --git a/examples/routeguide-tutorial.md b/examples/routeguide-tutorial.md index ffa1bd4..0c35506 100644 --- a/examples/routeguide-tutorial.md +++ b/examples/routeguide-tutorial.md @@ -180,7 +180,7 @@ Edit `Cargo.toml` and add all the dependencies we'll need for this example: ```toml [dependencies] -tonic = "0.1" +tonic = "0.2" prost = "0.6" futures-core = "0.3" futures-util = "0.3" @@ -192,7 +192,7 @@ serde_json = "1.0" rand = "0.7" [build-dependencies] -tonic-build = "0.1.0" +tonic-build = "0.2" ``` Create a `build.rs` file at the root of your crate: diff --git a/tonic-build/Cargo.toml b/tonic-build/Cargo.toml index 83a4632..18f6f52 100644 --- a/tonic-build/Cargo.toml +++ b/tonic-build/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "tonic-build" -version = "0.1.1" +version = "0.2.0" authors = ["Lucio Franco "] edition = "2018" license = "MIT" -documentation = "https://docs.rs/tonic/0.1.0/tonic/" +documentation = "https://docs.rs/tonic/0.2.0/tonic/" repository = "https://github.com/hyperium/tonic" homepage = "https://github.com/hyperium/tonic" description = """ diff --git a/tonic-build/src/lib.rs b/tonic-build/src/lib.rs index 0dcd710..f159179 100644 --- a/tonic-build/src/lib.rs +++ b/tonic-build/src/lib.rs @@ -52,7 +52,7 @@ #![doc( html_logo_url = "https://github.com/hyperium/tonic/raw/master/.github/assets/tonic-docs.png" )] -#![doc(html_root_url = "https://docs.rs/tonic-build/0.1.0")] +#![doc(html_root_url = "https://docs.rs/tonic-build/0.2.0")] #![doc(issue_tracker_base_url = "https://github.com/hyperium/tonic/issues/")] #![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))] #![cfg_attr(docsrs, feature(doc_cfg))] diff --git a/tonic-health/Cargo.toml b/tonic-health/Cargo.toml index dcb83f6..950c006 100644 --- a/tonic-health/Cargo.toml +++ b/tonic-health/Cargo.toml @@ -20,7 +20,7 @@ transport = ["tonic/transport"] [dependencies] async-stream = "0.2" tokio = { version = "0.2", features = ["sync", "stream"] } -tonic = { version = "0.1", path = "../tonic", features = ["codegen", "prost"] } +tonic = { version = "0.2", path = "../tonic", features = ["codegen", "prost"] } bytes = "0.5" prost = "0.6" @@ -28,4 +28,4 @@ prost = "0.6" tokio = { version = "0.2", features = ["rt-core", "macros"]} [build-dependencies] -tonic-build = { version = "0.1", path = "../tonic-build" } \ No newline at end of file +tonic-build = { version = "0.2", path = "../tonic-build" } \ No newline at end of file diff --git a/tonic-health/src/lib.rs b/tonic-health/src/lib.rs index f3e3fa9..a743ab8 100644 --- a/tonic-health/src/lib.rs +++ b/tonic-health/src/lib.rs @@ -1,6 +1,29 @@ +//! A `tonic` based gRPC healthcheck implementation. +//! +//! # Example +//! +//! An example can be found [here]. +//! +//! [here]: https://github.com/hyperium/tonic/blob/master/examples/src/health/server.rs + +#![warn( + missing_debug_implementations, + missing_docs, + rust_2018_idioms, + unreachable_pub +)] +#![doc( + html_logo_url = "https://github.com/hyperium/tonic/raw/master/.github/assets/tonic-docs.png" +)] +#![doc(html_root_url = "https://docs.rs/tonic/0.2.0")] +#![doc(issue_tracker_base_url = "https://github.com/hyperium/tonic/issues/")] +#![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))] +#![cfg_attr(docsrs, feature(doc_cfg))] + use std::fmt::{Display, Formatter}; mod proto { + #![allow(unreachable_pub)] tonic::include_proto!("grpc.health.v1"); } @@ -9,8 +32,11 @@ pub mod server; /// An enumeration of values representing gRPC service health. #[derive(Copy, Clone, Debug, PartialEq)] pub enum ServingStatus { + /// Unknown status Unknown, + /// The service is currently up and serving requests. Serving, + /// The service is currently down and not serving requests. NotServing, } diff --git a/tonic-health/src/server.rs b/tonic-health/src/server.rs index ecd6170..c2837f7 100644 --- a/tonic-health/src/server.rs +++ b/tonic-health/src/server.rs @@ -1,3 +1,5 @@ +//! Contains all healthcheck based server utilities. + use crate::proto::health_server::{Health, HealthServer}; use crate::proto::{HealthCheckRequest, HealthCheckResponse}; use crate::ServingStatus; @@ -46,6 +48,7 @@ impl HealthReporter { /// Sets the status of the service implemented by `S` to `Serving`. This notifies any watchers /// if there is a change in status. #[cfg(feature = "transport")] + #[cfg_attr(docsrs, doc(cfg(feature = "transport")))] pub async fn set_serving(&mut self) where S: NamedService, @@ -58,6 +61,7 @@ impl HealthReporter { /// Sets the status of the service implemented by `S` to `NotServing`. This notifies any watchers /// if there is a change in status. #[cfg(feature = "transport")] + #[cfg_attr(docsrs, doc(cfg(feature = "transport")))] pub async fn set_not_serving(&mut self) where S: NamedService, diff --git a/tonic/Cargo.toml b/tonic/Cargo.toml index 5119a6f..afdedba 100644 --- a/tonic/Cargo.toml +++ b/tonic/Cargo.toml @@ -8,11 +8,11 @@ name = "tonic" # - README.md # - Update CHANGELOG.md. # - Create "v0.1.x" git tag. -version = "0.1.1" +version = "0.2.0" authors = ["Lucio Franco "] edition = "2018" license = "MIT" -documentation = "https://docs.rs/tonic/0.1.0/tonic/" +documentation = "https://docs.rs/tonic/0.2.0/tonic/" repository = "https://github.com/hyperium/tonic" homepage = "https://github.com/hyperium/tonic" description = """ diff --git a/tonic/src/lib.rs b/tonic/src/lib.rs index f90da86..d0bb5b7 100644 --- a/tonic/src/lib.rs +++ b/tonic/src/lib.rs @@ -71,7 +71,7 @@ #![doc( html_logo_url = "https://github.com/hyperium/tonic/raw/master/.github/assets/tonic-docs.png" )] -#![doc(html_root_url = "https://docs.rs/tonic/0.1.0")] +#![doc(html_root_url = "https://docs.rs/tonic/0.2.0")] #![doc(issue_tracker_base_url = "https://github.com/hyperium/tonic/issues/")] #![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))] #![cfg_attr(docsrs, feature(doc_cfg))]