diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ecd191..c343bd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ +# [0.4.0](https://github.com/hyperium/tonic/compare/v0.3.1...v0.4.0) (2021-01-15) + +This version brings Tonic inline with Tokio 1.0 and Prost 0.7! This release also includes new versions of `tonic-types`, `tonic-build`, and `tonic-health`. + +### Bug Fixes + +* **transport:** return Poll::ready until error is consumed ([#536](https://github.com/hyperium/tonic/issues/536)) ([dafea9a](https://github.com/hyperium/tonic/commit/dafea9adeec5626ee780bc3ad7dc69691db51a82)) +* gracefully handle bad native certs ([#520](https://github.com/hyperium/tonic/issues/520)) ([fe4d5b9](https://github.com/hyperium/tonic/commit/fe4d5b9d9a0fdcf414bbe31c2fcad59e8cc03da8)), closes [#519](https://github.com/hyperium/tonic/issues/519) +* **build:** Add content-type for generated unimplemented service ([#441](https://github.com/hyperium/tonic/issues/441)) ([62c1230](https://github.com/hyperium/tonic/commit/62c1230117bcaa6f45cb0fa0697b89b9255a94a5)) +* **build:** Match namespace code with other generated packages ([#472](https://github.com/hyperium/tonic/issues/472)) ([1b03ece](https://github.com/hyperium/tonic/commit/1b03ece2a81cb7e8b1922b3c3c1f496bd402d76c)) +* **transport:** Add content-type for Unimplemented ([#434](https://github.com/hyperium/tonic/issues/434)) ([594a542](https://github.com/hyperium/tonic/commit/594a542b8a9e8f9f4c3bd1d0a08e87ce74a850e5)) +* **transport:** reconnect lazy connections after first failure ([#458](https://github.com/hyperium/tonic/issues/458)) ([e9910d1](https://github.com/hyperium/tonic/commit/e9910d10a7c1287a2247a236b45dbf31eceb08bd)), closes [#452](https://github.com/hyperium/tonic/issues/452) +* **client:** Merge trailer and initla headers into status on err ([#510](https://github.com/hyperium/tonic/pull/510)) +* **transport:** Fix TLS accept w/ peer certs ([#535](https://github.com/hyperium/tonic/issues/535)) ([41c51f1](https://github.com/hyperium/tonic/commit/41c51f1c61ac957e439ced4302f09160c850787e)) + +### Features + +* **status:** implement From for Status ([#500](https://github.com/hyperium/tonic/issues/500)) ([fc86563](https://github.com/hyperium/tonic/commit/fc86563b369d0b73a79d3e8dc9a84d5ce1513303)) +* **transport:** Add `Router::into_service` ([#419](https://github.com/hyperium/tonic/issues/419)) ([37f6733](https://github.com/hyperium/tonic/commit/37f6733f85a42e828c124026c3a0f21919549b12)) +* **transport:** add max http2 frame size to server. ([#529](https://github.com/hyperium/tonic/issues/529)) ([31936e0](https://github.com/hyperium/tonic/commit/31936e0513a41e83c8137786bd417fe57ecd05eb)), closes [#264](https://github.com/hyperium/tonic/issues/264) +* **transport:** add user-agent header to client requests. ([#457](https://github.com/hyperium/tonic/issues/457)) ([d4899df](https://github.com/hyperium/tonic/commit/d4899df83287a4eb1a91754c2e2955000d13c5f4)), closes [#453](https://github.com/hyperium/tonic/issues/453) +* **transport:** Connect lazily in the load balanced channel ([#493](https://github.com/hyperium/tonic/issues/493)) ([2e964c7](https://github.com/hyperium/tonic/commit/2e964c78c666ecd6e6cfc37689d30300cad81f4c)) +* **transport:** expose HTTP2 server keepalive interval and timeout ([#486](https://github.com/hyperium/tonic/issues/486)) ([2b9cdb9](https://github.com/hyperium/tonic/commit/2b9cdb9779eb5cb7d3862e1ce95ab63f847ec223)), closes [#474](https://github.com/hyperium/tonic/issues/474) +* **transport:** Move error! to debug! ([#537](https://github.com/hyperium/tonic/issues/537)) ([a7778ad](https://github.com/hyperium/tonic/commit/a7778ad16611b7ade64c33256eecf9825408f06a)) +* **transport:** Do not panic when building and Endpoint with an invali… (#438) ([26ce9d1](https://github.com/hyperium/tonic/commit/26ce9d12bf1765e5a7acb07cab05b6bd75bd4e4d)), closes [#438](https://github.com/hyperium/tonic/issues/438) + + +### BREAKING CHANGES + +* `TryFrom` API has been changed. +* Upgraded to `tokio 1.0` and `prost 0.7`. +* `Channel` now implements `Service` instead of `GrpcService`. + + # [0.3.1](https://github.com/hyperium/tonic/compare/v0.3.0...v0.3.1) (2020-08-20) + ### Bug Fixes * **transport:** Return connection error on `Channel::connect` ([#413](https://github.com/hyperium/tonic/issues/413)) ([2ea17b2](https://github.com/hyperium/tonic/commit/2ea17b2ecfc40a20f4d9608f807b3d099a8f415d)), closes [#403](https://github.com/hyperium/tonic/issues/403) diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 321a39b..80a824e 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -167,7 +167,7 @@ tracing-futures = "0.2" prost-types = "0.7" # Hyper example hyper = "0.14" -warp = { git = "https://github.com/aknuds1/warp", branch = "chore/upgrade-tokio", default-features = false } +warp = { git = "https://github.com/seanmonstar/warp", default-features = false } http = "0.2" http-body = "0.4" pin-project = "1.0" diff --git a/examples/helloworld-tutorial.md b/examples/helloworld-tutorial.md index f1884aa..3153483 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.3" -prost = "0.6" +tonic = "0.4" +prost = "0.7" tokio = { version = "0.2", features = ["macros"] } [build-dependencies] -tonic-build = "0.3" +tonic-build = "0.4" ``` 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 e75b92e..a356232 100644 --- a/examples/routeguide-tutorial.md +++ b/examples/routeguide-tutorial.md @@ -180,8 +180,8 @@ Edit `Cargo.toml` and add all the dependencies we'll need for this example: ```toml [dependencies] -tonic = "0.3" -prost = "0.6" +tonic = "0.4" +prost = "0.7" futures-core = "0.3" futures-util = "0.3" tokio = { version = "0.2", features = ["macros", "sync", "stream", "time"] } @@ -192,7 +192,7 @@ serde_json = "1.0" rand = "0.7" [build-dependencies] -tonic-build = "0.3" +tonic-build = "0.4" ``` Create a `build.rs` file at the root of your crate: diff --git a/tonic-build/Cargo.toml b/tonic-build/Cargo.toml index 6586e3e..4617fb2 100644 --- a/tonic-build/Cargo.toml +++ b/tonic-build/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "tonic-build" -version = "0.3.1" +version = "0.4.0" authors = ["Lucio Franco "] edition = "2018" license = "MIT" -documentation = "https://docs.rs/tonic-build/0.3.1/tonic_build/" +documentation = "https://docs.rs/tonic-build/0.4.0/tonic_build/" 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 235151a..062cdeb 100644 --- a/tonic-build/src/lib.rs +++ b/tonic-build/src/lib.rs @@ -67,7 +67,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/tokio-rs/website/master/public/img/icons/tonic.svg" )] -#![doc(html_root_url = "https://docs.rs/tonic-build/0.3.1")] +#![doc(html_root_url = "https://docs.rs/tonic-build/0.4.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 988d13b..dad7bf5 100644 --- a/tonic-health/Cargo.toml +++ b/tonic-health/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tonic-health" -version = "0.2.0" +version = "0.3.0" authors = ["James Nugent "] edition = "2018" license = "MIT" diff --git a/tonic-types/Cargo.toml b/tonic-types/Cargo.toml index 67ba890..027d037 100644 --- a/tonic-types/Cargo.toml +++ b/tonic-types/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "tonic-types" -version = "0.1.0" +version = "0.2.0" authors = ["Lucio Franco "] edition = "2018" license = "MIT" -documentation = "https://docs.rs/tonic-types/0.1.0/tonic-types/" +documentation = "https://docs.rs/tonic-types/0.2.0/tonic-types/" repository = "https://github.com/hyperium/tonic" homepage = "https://github.com/hyperium/tonic" description = """ diff --git a/tonic-types/src/lib.rs b/tonic-types/src/lib.rs index d2b5d65..1f8e5ea 100644 --- a/tonic-types/src/lib.rs +++ b/tonic-types/src/lib.rs @@ -9,7 +9,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/tokio-rs/website/master/public/img/icons/tonic.svg" )] -#![doc(html_root_url = "https://docs.rs/tonic-types/0.1.0")] +#![doc(html_root_url = "https://docs.rs/tonic-types/0.2.0")] #![doc(issue_tracker_base_url = "https://github.com/hyperium/tonic/issues/")] mod pb { diff --git a/tonic/Cargo.toml b/tonic/Cargo.toml index 540c17c..3a820d1 100644 --- a/tonic/Cargo.toml +++ b/tonic/Cargo.toml @@ -7,12 +7,12 @@ name = "tonic" # - Cargo.toml # - README.md # - Update CHANGELOG.md. -# - Create "v0.1.x" git tag. -version = "0.3.1" +# - Create "v0.4.x" git tag. +version = "0.4.0" authors = ["Lucio Franco "] edition = "2018" license = "MIT" -documentation = "https://docs.rs/tonic/0.3.1/tonic/" +documentation = "https://docs.rs/tonic/0.4.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 7b2c996..f2e1b36 100644 --- a/tonic/src/lib.rs +++ b/tonic/src/lib.rs @@ -71,7 +71,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/tokio-rs/website/master/public/img/icons/tonic.svg" )] -#![doc(html_root_url = "https://docs.rs/tonic/0.3.1")] +#![doc(html_root_url = "https://docs.rs/tonic/0.4.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))]