tonic-health
Health Checking module of `tonic` gRPC implementation.
0.14.6
60M downloads/mo
#1106 most downloaded on crates.io
hyperium/tonic
What this package is like to depend on
Last release 3 months ago
07 May 2026
Release timing varies
gaps range from 9 days to 6 months
Some releases are documented
notes for 17 of 31 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
31 releases · first in 2020
5 releases in the last 12 months
see the full history below
Release timeline
31 releases · Apr 2020 to May 2026Releases
latest 31-
0.14.607 May 2026Nothing published for this version
-
0.14.519 Feb 2026Nothing published for this version
-
0.14.413 Feb 2026Nothing published for this version
-
0.14.328 Jan 2026Nothing published for this version
-
0.14.202 Sep 2025Nothing published for this version
-
0.14.108 Aug 2025Nothing published for this version
-
0.14.028 Jul 2025Nothing published for this version
-
0.13.105 May 2025Nothing published for this version
-
0.13.025 Mar 2025Nothing published for this version
-
0.12.326 Sep 2024Release notes
Open source →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)
-
0.12.226 Aug 2024Release notes
Open source →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)
-
0.12.117 Jul 2024 -
0.12.008 Jul 2024Release notes
Open source →This breaking release updates tonic to the hyper
1.0ecosystem and also updates to prostv0.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
BREAKING CHANGES
tonicand crates updated to hyper 1.0 (#1670)tonicand crates updated to prost 0.13 (#1779)tonic_reflection::serveris updated to use the generatedtonic_reflection::pb::v1code.- Make compression encoding configuration more malleable (#1757)
- Removed implicit configuration of client TLS roots setup (#1731)
-
0.11.008 Feb 2024Release notes
Open source →BREAKING CHANGES:
- Removed
NamedServicefrom thetransportmodule, please import it viatonic::server::NamedService. - MSRV bumped to
1.70.
Features
- Added
zstdcompression support. - Added connection timeout for
connecto_with_connector_lazy. - Upgrade rustls to
v0.22 - Feature gate server implementation for
tonic-reflection.
- Removed
-
0.10.228 Sep 2023 -
0.10.121 Sep 2023 -
0.10.001 Sep 2023Release notes
Open source →Bug Fixes
- codegen: Use stream type from codegen mod (#1446) (60d776b)
- examples: Use https scheme when using tls (#1466) (388b177)
- tls: Don't use tls w/
httpscheme (#1454) (95e81f5)
Features
- build: Add optional default unimplemented stubs (#1344) (aff1daf)
- core: amortize many ready messages into fewer, larger buffers (#1423) (76eedc1)
- tonic-types: add ability to extract rich error details from
google.rpc.Status(#1430) (5fd635a) - transport: Add
Router::into_router(#1442) (ea06a1b) - transport: Expose TcpConnectInfo fields (#1449) (74b079c)
- web: Add
GrpcWebClientService(#1472) (dc29c17)
0.9.2 (2023-04-17)
0.9.1 (2023-04-03)
-
0.9.217 Apr 2023Nothing published for this version
-
0.9.103 Apr 2023Nothing published for this version
-
0.9.031 Mar 2023Release notes
Open source →Bug Fixes
- build: Allow Services to be named Result (#1203) (a562a3c), closes #1156
- codec: Cancelled client streaming handling (#1315) (c8027a1), closes #848
- MetadataKey::from_bytes returns an error (#1246) (930c805)
- web: Fix
enableand update docs (#1326) (a9db219)
Features
- add GrpcMethod extension into request for client (#1275) (7a6b20d)
- build: Builder: add {enum,message}_attributes (#1234) (ff642f9)
- codec: Configure max request message size (#1274) (9f716d8), closes #1097
- core: Default encoding/decoding limits (#1335) (ff33119)
- reflection: Add dummy implementation for extension (#1209) (fdff111)
- Rename api related to protobuf (#1224) (d2542dc)
- tls: add an option for optional TLS client authentication (#1163) (773e4e1), closes #687
- tonic: Use NamedService without transport feature (#1273) (5acde56)
- transport: Add
local_addrtoRequest o(#1327) (b54ce23) - transport: added support for EC keys (#1145) (17d6a4b), closes #1143
- types: Add gRPC Richer Error Model support (Docs) (#1317) (69ce71e)
- types: Add gRPC Richer Error Model support (Examples) (#1300) (d471212)
- types: Add gRPC Richer Error Model support (Help) (#1293) (d6041a9)
- types: Add gRPC Richer Error Model support (LocalizedMessage) (#1295) (d54d02d)
- types: Add gRPC Richer Error Model support (PreconditionFailure) (#1276) (2378581)
- types: Add gRPC Richer Error Model support (QuotaFailure) (#1204) (03b4735)
- types: Add gRPC Richer Error Model support (ResourceInfo) (#1282) (7eeda24)
- types: Add gRPC Richer Error Model support (RetryInfo) (#1095) (6cdb3d4)
- types: add support for
DebugInfoerror message type (#1179) (3076e82) - types: Expose FILE_DESCRIPTOR_SET (#1210) (cc42d1f)
0.8.4 (2022-11-29)
Bug Fixes
0.8.3 (2022-11-28)
Bug Fixes
- do not panic while encoding oversized bodies (#1142) (33e22bb), closes #1141
- reflection, health: Remove transport feature (#1112) (7153289)
Features
- build: Add
build_transportbuilder option (#1130) (1f5bc9b) - build: Add
CodeGenBuilder(#1154) (c4525ba) - build: Add disable_comments option (#1127) (e188521)
- Expose
Request#into_partsandRequest#from_parts(#1118) (b409ddd) - transport: add
from_listenerforTcpIncoming(#1093) (0b03b30) - web: Implement tower::Layer for tonic_web::Config (#1119) (40536dc)
- web: Removed Cors impl and replaced with tower-http's CorsLayer (#1123) (a98d719), closes #1122
0.8.2 (2022-09-28)
Bug Fixes
Features
- add
Result<T>type alias forstd::result::Result<T, tonic::Status>(#1085) (56ff45d) - build: add
cleanup-markdownfeature flag (#1086) (c1b08df) - tonic: impl
CloneforStatususingArc(#1076) (ee3d0df) - transport: Expose hyper's H2 adaptive window on server (#1071) (919d28b)
- types: Add gRPC Richer Error Model support (BadRequest) (#1068) (3e40d81), closes /github.com/hyperium/tonic/pull/1068#discussion_r956117520
-
0.8.028 Nov 2022Release notes
Open source →Features
- Add
Grpc::with_originfor clients (#1017) (10f6d2f) - build: Add option to emit rerun-if-changed instructions (#1021) (1d2083a)
- build: Better support for custom codecs (#999) (de2e4ac)
- Decouple
NamedServicefrom thetransportfeature (#969) (feae96c)
BREAKING CHANGES
- build:
CODEC_PATHmoved from const to fn
0.7.2 (2022-05-05)
Bug Fixes
- build: Reduce
Defaultbound requirement (#974) (4533a6e) - don't enable default features in tower (#972) (b4f9634)
- transport: Emit
HttpsUriWithoutTlsSupportonly w/ tls feat (#996) (1dd5ad2)
Features
0.7.1 (2022-04-04)
Features
- Add
-
0.7.107 Sep 2022Nothing published for this version
-
0.7.029 Jul 2022Release notes
Open source →Bug Fixes
- build: clippy warning for must_use (#892) (a337f13)
- codec: Remove
Defaultbound onCodec(#894) (d574cfd) - codec: Return None after poll_data error (#921) (d7cae70)
- Handle interceptor errors as responses (#840) (#842) (bf44940)
- health: Correctly implement spec for overall health (#897) (2b0ffee)
- Return error on non https uri instead of panic (#838) (ef6e245)
- tonic: Expose h2 error instead of reason (#883) (a33e15a)
- tonic: Preserve HTTP method in interceptor (#912) (e623562)
- transport: connect w/ connector infailable (#922) (a197c20)
- transport: Endpoint returns transport error (#920) (ee6e726)
- transport: Make
Server::layer()support more than one layer (#932) (e30bb7e) - transport: Make server builder more consitient (#901) (6763d19)
- web: Fix error tonic-web doc url (#928) (37cd483)
Features
- build: add constructor
from_arcfor gRPC servers (#875) (7179f7a) - build: Expose Prost generation plugin (#947) (d4bd475)
- build: use prettyplease to format output (#890) (#904) (d6c0fc1)
- health: Expose
HealthServicepublically (#930) (097e7e8) - Implement hash for
Code(#917) (6bc7dab) - tls: upgrade to tokio-rustls 0.23 (rustls 0.20) (#859) (4548997)
- transport: add unix socket support in server (#861) (dee2ab5)
- transport: port router to axum (#830) (6dfc20e)
- transport: support customizing
Channel's async executor (#935) (0859d82) - Update prost to 0.10 (#948) (c78274e)
0.6.2 (2021-12-08)
Bug Fixes
0.6.1 (2021-10-27)
Bug Fixes
-
0.6.001 Apr 2022Release notes
Open source →Bug Fixes
- build: Correctly convert
Emptyto()(#734) (ff6a690) - build: split path types in compile (#721) (53ecc1f)
- tonic: change
connect_lazyto be infallible (#712) (2e47154) - tonic: fix extensions disappearing during streaming requests (5c1bb90), closes #770
- tonic: Remove
Syncrequirement for streams (#804) (23c1392) - tonic: Status code to set correct source on unkown error (#799) (4054d61)
- transport: AddOrigin panic on invalid uri (#801) (3ab00f3)
- transport: Correctly map hyper errors (#629) (4947b07)
Features
- build: Support prost's include_file option (#774) (3f9ab80)
- Update
prostand friends to 0.9 (#791) (09805ec)
0.5.2 (2021-08-10)
0.5.1 (2021-08-09)
Bug Fixes
- build: allow services to be named
Service(#709) (380d81d) - build: remove unnecessary
Debugconstraint for client streams (#719) (167e8cb)
Features
- build: Correctly convert
-
0.5.025 Oct 2021Release notes
Open source →Bug Fixes
- build: fix
with_interceptornot building on Rust 1.51 (#669) (9478fac) - codec: Fix streaming reponses w/ many status (#689) (737ace3), closes #681
- codec: improve error message for invalid compression flag (#663) (9cc14b7)
- examples: Fix tower examples (#624) (4a917a3)
- tonic: don't include error's cause in Display impl (#633) (31a3468)
- tonic: don't remove reserved headers in interceptor (#701) (6711b80)
- tonic: make
InterceptorUnwindSafe(#641) (57509d3) - transport: remove needless
BoxFuture(#644) (74ad0a9) - web: fix compilation (#670) (e199387)
Features
- build: support adding attributes to clients and servers (#684) (a948a8f)
- codec: compression support (#692) (0583cff)
- metadata: expose
IterMutandValuesMut(#639) (b0ec3ea) - metadata: remove manual
Send + Syncimpls for metadata types (#640) (e97f518) - tonic-web: implement grpc <-> grpc-web protocol translation (#455) (c309063)
- tonic: add
h2::Erroras asourceforStatus(#612) (b90bb7b) - tonic: add
RequestandResponseextensions (#642) (352b0f5) - tonic: expose setting for
http2_adaptive_window(#657) (12815d0) - tonic: implement
From<Code>fori32(f33316d) - tonic: make it easier to add tower middleware to servers (#651) (4d2667d)
- tonic: pass
trace_fnthe request rather than just the headers (#634) (7862a22) - tonic: Use
BoxBodyfromhttp-bodycrate (#622) (4dda4cb) - transport: Add
connect_with_connector_lazy(#696) (2a46ff5), closes #695 - transport: Add a tls-webpki-roots feature to add trust roots from webpki-roots (#660) (32173dc)
- transport: add connect timeout to
Endpoint(#662) (2b60a00) - transport: provide generic access to connect info (#647) (e5e3118)
0.4.3 (2021-04-29)
Features
- tonic: Add
Request::set_timeout(#615) (dae31d0) - transport: Support timeouts with "grpc-timeout" header (#606) (9ff4f7b)
0.4.2 (2021-04-13)
Bug Fixes
- codec: Allocate inbound buffer once (#578) (1d2754f)
- reflection: Depend on correct version of build (#582) (db09093)
Features
- build: Add
prostoc_args(#577) (480a794) - Expose status constructors (#579) (0d05aa0)
- health: Expose proto and client (#471) (#602) (49f6137)
Reverts
0.4.1 (2021-03-16)
Bug Fixes
Features
- build: fix
-
0.4.109 Aug 2021Nothing published for this version
-
0.4.008 Jul 2021Release notes
Open source →Bug Fixes
-
build: Add content-type for generated unimplemented service (#441) (62c1230)
-
build: Match namespace code with other generated packages (#472) (1b03ece)
-
gracefully handle bad native certs (#520) (fe4d5b9), closes #519
-
transport: Add content-type for Unimplemented (#434) (594a542)
-
transport: reconnect lazy connections after first failure (#458) (e9910d1), closes #452
-
transport: return Poll::ready until error is consumed (#536) (dafea9a)
-
fix(transport) Do not panic when building and Endpoint with an invali… (#438) (26ce9d1), closes #438
Features
- tonic: implement Fromio::Error for Status (#500) (fc86563)
- transport: Add
Router::into_service(#419) (37f6733) - transport: add max http2 frame size to server. (#529) (31936e0), closes #264
- transport: add user-agent header to client requests. (#457) (d4899df), closes #453
- transport: Connect lazily in the load balanced channel (#493) (2e964c7)
- transport: expose HTTP2 server keepalive interval and timeout (#486) (2b9cdb9), closes #474
- transport: Fix TLS accept w/ peer certs (#535) (41c51f1)
- transport: Move error! to debug! (#537) (a7778ad)
BREAKING CHANGES
TryFromAPI has been changed.
0.3.1 (2020-08-20)
Bug Fixes
-
-
0.3.113 Apr 2021Nothing published for this version
-
0.3.015 Jan 2021Release notes
Open source →Bug Fixes
Status::detailsleaking base64 encoding (#395) (2c4c544), closes #379- build: Allow empty packages (#382) (f085aba), closes #381
- build: Make generated server service public (#347) (8cd6f05)
- Remove uses of pin_project::project attribute (#367) (5bda615)
- transport: Propagate errors in tls_config instead of unwrap/panic (#385) (3b9d6a6)
Features
- Add
Displayimplementation forCode(#386) (ab1de44) - Add
Status::to_http(#376) (327b4ff) - Add metadata to error responses (#348) (372da52)
- add new method get_uri for Endpoint (#371) (54d7a7a)
- codec: Improve compression flag log (#374) (d68dd36)
- transport: Add Endpoint::connect_lazy method (#392) (ec9046d), closes #167
- transport: Add optional service methods (#275) (2b997b0)
- transport: Dynamic load balancing (#341) (85ae0a4)
- types: Add
tonic-typescrate (#391) (ea7fe66)
0.2.1 (2020-05-07)
Bug Fixes
- base64 encode details header (#345) (e683ffe)
- build: Remove ambiguity in service method call (#327) (5d56daa)
- transport: Apply tls-connector for discovery when applicable (#334) (#338) (99fbe22)
Features
-
0.2.023 Jul 2020Release notes
Open source →Bug Fixes
- build: Allow non_camel_case_types on codegen structs (224280d), closes #295
- build: Don't replace extern_paths (#261) (1b3d107)
- build: Ignore non
.rsfiles with rustfmt (#284) (7dfa2a2), closes #283 - build: Implement Debug for client struct (6dbe88d), closes #298
- build: Remove debug println! (#287) (e2c2be2)
- build: Server service uses generic body bound (#306) (5758b75)
- health: Set referenced version of tonic (59c7788)
- metadata: Remove deprecated error description (61e0429)
- transport: Handle tls accepting on task (#320) (04a8c0c)
Features
- Add Status with Details Constructor (#308) (cfd59db)
- build: Add support for custom prost config (#318) (202093c)
- build: Decouple codgen from
prost(#170) (f65cda1) - health: Add tonic-health server impl (da92dbf), closes #135 #135
- transport: Expose http2 keep-alive support (#307) (012fa3c)
0.1.1 (2020-01-20)
Bug Fixes
-
0.1.001 Apr 2020Release notes
Open source →Bug Fixes
- build: Remove default impl for Server traits (#229) (a41f55a)
- transport: Improve
Errortype (#217) (ec1f37e)
chore
Features
- Add gRPC interceptors (#232) (eba7ec7)
- build: Add extern_path config support (#223) (e034288)
- codec: Introduce
Decoder/Encodertraits (#208) (0fa2bf1) - transport: Add
serve_with_incoming_shutdown(#220) (a66595b) - transport: Add server side peer cert support (#228) (af807c3)
BREAKING CHANGES
- Rename
ServiceNametoNamedService. - removed
interceptor_fnandintercep_headers_fnfromtransportin favor of usingtonic::Interceptor. - codec: Add new
Decoder/Encodertraits and useEncodeBuf/DecodeBufoverBytesMutdirectly. - build: remove default implementations for server traits.