Releases: hyperium/tonic
Releases · hyperium/tonic
v0.13.0
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 ofDefault
-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
- @shikhar made their first contribution in #1979
- @krispraws made their first contribution in #1972
- @PDXKimani made their first contribution in #1990
- @jenr24-architect made their first contribution in #2008
- @easwars made their first contribution in #2047
- @arjan-bal made their first contribution in #2076
- @allan2 made their first contribution in #2105
- @a1ien made their first contribution in #2117
- @emuellen made their first contribution in #2042
- @jparris made their first contribution in #1567
- @sudorandom made their first contribution in #2053
- @AndiDog made their first contribution in #2107
- @hr567 made their first contribution in #2161
- @maximevtush made their first contribution in #2167
- @dakaizou made their first contribution in #2219
- @jimmycathy made their first contribution in #2224
Full Changelog: v0.12.3...v0.13.0
v0.12.3
v0.12.2
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
v0.12.1
v0.12.0
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)