Skip to content

Releases: hyperium/tonic

v0.14.1

08 Aug 12:46
c9cc210
Compare
Choose a tag to compare

Notable change is to relax the accidental MSRV bump in the last release.

What's Changed

New Contributors

Full Changelog: v0.14.0...v0.14.1

v0.14.0

28 Jul 15:30
e019277
Compare
Choose a tag to compare

This release marks an important milestone for tonic, "hopefully" this will be the last major breaking release of Tonic before we start to transition work into bringing the community a joint-effort grpc-rust implementation. For the moment, any new features for the core of tonic that are not related to the work towards grpc-rust will not be accepted (I believe tonic to be in quite a good spot, security features of course will be handled with the upmost importance). Stay tuned there will be more information the coming months on what is going on with the new project but you can already see some of the code in the grpc crate within the tonic repository.

You can always watch this video for more info on grpc-rust.

Breaking Changes

  • Prost updated to v0.14
  • Prost has been extracted to their own crates

Migration guide

To migrate between <=v0.13.1 to v0.14 anything that used prost has now been moved into either tonic-prost or tonic-prost-build. All the previous types are still available but under these two new crates.

What's Changed

New Contributors

Full Changelog: v0.13.1...v0.14.0

v0.13.1

05 May 14:56
b303caa
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.13.0...v0.13.1

v0.13.0

25 Mar 19:21
8be906d
Compare
Choose a tag to compare

This release is a breaking release and thus there are many changes include axum version and a few other crates. There are some additionally exposed APIs. At the moment this release is planned to be a long term release as the project shifts some of its resources to implementing a new transport module and to align itself better with other gPRC projects. More to be announced on this later.

What's Changed

  • feat(router): Implement From Routes and axum::Router for RoutesBuilder by @tottoto in #1957
  • feat(service): Add Layered service to propagate NamedService implementation by @tottoto in #1966
  • feat(router): Add method to get mutable reference to axum::Router by @tottoto in #1980
  • fix(tls): do not shutdown the server on connection timeout errors by @krispraws in #1972
  • Make Status::into_http() generic over any kind of Default-able Body by @shikhar in #1978
  • feat(web): Remove unnecessary Bytes type from GrpcWebCall body type by @tottoto in #1985
  • feat(web): Remove enable api by @tottoto in #1982
  • feat(router): Remove unnecessary BoxBody from response body by @tottoto in #1994
  • feat: Add tcp setting getters to endpoint by @Benjscho in #1983
  • server: swallow TLS errors in the accept loop by @PDXKimani in #1990
  • feat(interceptor): Change InterceptorLayer constructor associated function by @tottoto in #2005
  • feat(build): Make cleanup-markdown feature additive by @tottoto in #1952
  • feat: make pub Channel fns that allow creating it from a custom connector by @shikhar in #2015
  • feat(tls): AWS Libcrypto Support by @jenr24-architect in #2008
  • feat(server): Remove into_service api by @tottoto in #1996
  • use ring if no default crypto provider is found by @conradludgate in #2034
  • feat(transport): Make tower internal dependency by @tottoto in #1947
  • feat(web): Relax GrpcWebService request body type by @tottoto in #2016
  • feat!: Add Body type by @tottoto in #2013
  • feat(reflection): Expose ReflectionService by @tottoto in #2066
  • feat(web): Implement Debug for ResponseFuture by @tottoto in #2068
  • fix(server): Use Status::into_http api in recover error service by @tottoto in #2099
  • feat(health): Add WatchStream type for health service by @tottoto in #2108
  • Add deflate compression support by @a1ien in #2117
  • feat(tls): Add support for rustls ignore_client_order by @emuellen in #2042
  • feat(health): Remove unnecessary transport feature by @tottoto in #2130
  • feat(channel): Add local_address as an option Endpoint builder by @jparris in #1567
  • fix(test): Use github endpoint to fix flaky test by @tottoto in #2148
  • fix(test): Use test domain for test url by @tottoto in #2150
  • feat(server): Add serve api to server by @tottoto in #2152
  • feat(server): Allow server used independently of router by @tottoto in #2154
  • fix(client): improve gRPC-Web client behavior with trailers with a space after the colon by @sudorandom in #2053
  • Fix percent-encoding of percent sign in grpc-message header by @AndiDog in #2107
  • feat: Expose recover error service by @tottoto in #2159
  • feat(metadata): Implement AsRef and AsMut traits for MetadataMap by @hr567 in #2161
  • Add From for Response by @amrhassan in #1064
  • feat: optional SSLKEYLOGFILE support by @crepererum in #1539
  • feat: Allow convert i32 to Code in const context by @tottoto in #2195
  • feat(tonic): Exclude benches-disabled to remove Apache-2.0 resource by @tottoto in #2204
  • feat: Add proto header to generated code by @tottoto in #2205
  • feat(router): Use infallible as error type by @tottoto in #2232
  • feat(transport): add support for uds, unix domain socket #2218
  • fix(streaming): tonic::Streaming enters infinite loop on response error #2199

New Contributors

Full Changelog: v0.12.3...v0.13.0

v0.12.3

26 Sep 17:10
4b8d2c4
Compare
Choose a tag to compare

0.12.3 (2024-08-29)

Features

  • server: Added support for grpc max_connection_age (#1865)
  • build: Add #[deprecated] to deprecated client methods (#1879)
  • build: plumb skip_debug through prost Builder and add test (#1900)

Bug Fixes

  • build: Revert "fix tonic-build cargo build script outputs (#1821)" which accidentally increases MSRV (#1898)
  • server: ignore more error kinds in incoming socket stream (#1885)
  • transport: do not shutdown server on broken connections (#1948)

v0.12.2

26 Aug 20:25
82a856f
Compare
Choose a tag to compare

0.12.2 (2024-08-23)

Features

  • Move TimeoutExpired out of transport (#1826)
  • Move ConnectError type from transport (#1828)
  • channel: allow setting max_header_list_size (#1835)
  • router: Add RoutesBuilder constructor (#1855)
  • tls: Rename tls-roots feature with tls-native-roots (#1860)
  • router: Rename Routes::into_router with into_axum_router (#1862)
  • router: Implement from axum::Router for Routes (#1863)
  • channel: Re-enable TLS based on Cargo features in generated clients (#1866)
  • server: allow setting max_header_list_size (#1870)
  • build: Expose formatted service name (#1684)
  • reflection: add back support for v1alpha reflection protocol (#1888)

Bug Fixes

  • router: Add missing unimplemented fallback to RoutesBuilder (#1864)
  • server: Prevent server from exiting on ECONNABORTED (#1874)
  • web: fix panic in trailer parsing on multiple trailers (#1880)
  • web: fix empty trailer parsing causing infinite parser loop (#1883)

v0.12.1

17 Jul 18:11
e0b6caf
Compare
Choose a tag to compare

0.12.1 (2024-07-17)

Bug Fixes

  • Reduce tokio-stream feature (#1795)

v0.12.0

08 Jul 17:59
2eeca95
Compare
Choose a tag to compare

v0.12.0 (2024-07-08)

This breaking release updates tonic to the hyper 1.0 ecosystem and also updates
to prost v0.13.0.

Features

  • build: Custom codecs for generated code (#1599) (18a2b30)
  • channel: Make channel feature additive (#1574) (b947e1a)
  • codec: Make error when not utf8 value in compression encoding (#1768) (f8e1f87)
  • Implement http_body::Body::size_hint for custom body (#1713) (9728c01)
  • Make boxed function public (#1754) (2cc868f)
  • Relax GrpcMethod lifetime (#1598) (68bf17d)
  • tls: Add ability to add multiple ca certificates (#1724) (3457f92)
  • tls: Use rustls_pki_types::CertificateDer to describe DER encoded certificate (#1707) (96a8cbc)
  • tls: Remove tls roots implicit configuration (#1731) (de73617)
  • transport: Make service router independent from transport (#1572) (da48235)
  • transport: Make transport server and channel independent (#1630) (654289f)
  • transport: Rename reexported axum body (#1752) (5d7bfc2)
  • Use http::Extensions directly (#1710) (ed95d27)

Bug Fixes

  • tonic: flush accumulated ready messages when status received (#1756) (d312dcc), closes #1423

BREAKING CHANGES

  • tonic and crates updated to hyper 1.0 (#1670)
  • tonic and crates updated to prost 0.13 (#1779)
  • tonic_reflection::server is updated to use the generated
    tonic_reflection::pb::v1 code.
  • Make compression encoding configuration more malleable (#1757)