Skip to content

Latest commit

 

History

History
1257 lines (728 loc) · 109 KB

CHANGELOG.md

File metadata and controls

1257 lines (728 loc) · 109 KB

0.10.2 (2023-09-28)

Bug Fixes

  • web: Client decoding incomplete buffer bug (#1540) (83e363a)

0.10.1 (2023-09-21)

Bug Fixes

0.10.0 (2023-09-08)

Bug Fixes

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.0 (2023-03-31)

Bug Fixes

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: Addlocal_addr to Request 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 DebugInfo error 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

Features

  • build: Add build_transport builder option (#1130) (1f5bc9b)
  • build: Add CodeGenBuilder (#1154) (c4525ba)
  • build: Add disable_comments option (#1127) (e188521)
  • Expose Request#into_parts and Request#from_parts (#1118) (b409ddd)
  • transport: add from_listener for TcpIncoming (#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

0.8.0 (2022-07-29)

Features

  • Add Grpc::with_origin for clients (#1017) (10f6d2f)
  • build: Add option to emit rerun-if-changed instructions (#1021) (1d2083a)
  • build: Better support for custom codecs (#999) (de2e4ac)
  • Decouple NamedService from the transport feature (#969) (feae96c)

BREAKING CHANGES

  • build: CODEC_PATH moved from const to fn

0.7.2 (2022-05-05)

Bug Fixes

  • build: Reduce Default bound requirement (#974) (4533a6e)
  • don't enable default features in tower (#972) (b4f9634)
  • transport: Emit HttpsUriWithoutTlsSupport only w/ tls feat (#996) (1dd5ad2)

Features

  • Add TryFrom implementations for MetadataValue (#990) (edc5a0d)

0.7.1 (2022-04-04)

Features

0.7.0 (2022-04-01)

Bug Fixes

  • build: clippy warning for must_use (#892) (a337f13)
  • codec: Remove Default bound on Codec (#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_arc for gRPC servers (#875) (7179f7a)
  • build: Expose Prost generation plugin (#947) (d4bd475)
  • build: use prettyplease to format output (#890) (#904) (d6c0fc1)
  • health: Expose HealthService publically (#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.0 (2021-10-25)

Bug Fixes

  • build: Correctly convert Empty to () (#734) (ff6a690)
  • build: split path types in compile (#721) (53ecc1f)
  • tonic: change connect_lazy to be infallible (#712) (2e47154)
  • tonic: fix extensions disappearing during streaming requests (5c1bb90), closes #770
  • tonic: Remove Sync requirement 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 prost and 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 Debug constraint for client streams (#719) (167e8cb)

Features

  • examples: add grpc-web example (#710) (5aa8ae1)
  • health: Expose grpc_health_v1 file descriptor set (#620) (6ee638d)
  • tonic: add Interceptor trait (#713) (8c8f4d1)
  • transport: Add Connected impl for DuplexStream (#722) (0e33a02)

0.5.0 (2021-07-08)

Bug Fixes

  • build: fix with_interceptor not 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 Interceptor UnwindSafe (#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 IterMut and ValuesMut (#639) (b0ec3ea)
  • metadata: remove manual Send + Sync impls for metadata types (#640) (e97f518)
  • tonic-web: implement grpc <-> grpc-web protocol translation (#455) (c309063)
  • tonic: add h2::Error as a source for Status (#612) (b90bb7b)
  • tonic: add Request and Response extensions (#642) (352b0f5)
  • tonic: expose setting for http2_adaptive_window (#657) (12815d0)
  • tonic: implement From<Code> for i32 (f33316d)
  • tonic: make it easier to add tower middleware to servers (#651) (4d2667d)
  • tonic: pass trace_fn the request rather than just the headers (#634) (7862a22)
  • tonic: Use BoxBody from http-body crate (#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

Reverts

  • Revert "Remove grpc-timeout header from reserved headers (#603)" (7aaa2f8), closes #603

0.4.1 (2021-03-16)

Bug Fixes

Features

  • build: Add disable_package_emission option to tonic-build (#556) (4f5e160)
  • build: Support compiling well-known protobuf types (#522) (61555ff)
  • build: Use RUSTFMT to find rustfmt binary (#566) (ea56e2e)
  • Implement gRPC Reflection Service (#340) (c54f247)

0.4.0 (2021-01-15)

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

  • TryFrom API has been changed.

0.3.1 (2020-08-20)

Bug Fixes

  • transport: Return connection error on Channel::connect (#413) (2ea17b2), closes #403

0.3.0 (2020-07-13)

Bug Fixes

  • Status::details leaking 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

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

  • transport: Add AsRef impl for Certificate (#326) (d2ad8df)

0.2.0 (2020-04-01)

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 .rs files 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

0.1.1 (2020-01-20)

Bug Fixes

  • build: Typo with client mod docstring (#237) (5fc6762)
  • transport: Add Connected impl for TcpStream (#245) (cfdf0af)
  • transport: Use Uri host if no domain for tls (#244) (6de0b4d)

0.1.0 (2020-01-14)

Bug Fixes

  • build: Remove default impl for Server traits (#229) (a41f55a)
  • transport: Improve Error type (#217) (ec1f37e)

chore

Features

  • Add gRPC interceptors (#232) (eba7ec7)
  • build: Add extern_path config support (#223) (e034288)
  • codec: Introduce Decoder/Encoder traits (#208) (0fa2bf1)
  • transport: Add serve_with_incoming_shutdown (#220) (a66595b)
  • transport: Add server side peer cert support (#228) (af807c3)

BREAKING CHANGES

  • Rename ServiceName to NamedService.
  • removed interceptor_fn and intercep_headers_fn from transport in favor of using tonic::Interceptor.
  • codec: Add new Decoder/Encoder traits and use EncodeBuf/DecodeBuf over BytesMut directly.
  • build: remove default implementations for server traits.

0.1.0-beta.1 (2019-12-19)

Bug Fixes

Features

  • Add Status constructors (#137) (997241c)
  • expose tcp_nodelay for clients and servers (#145) (0eb9991)
  • transport: Add remote_addr to Request on the server si… (#186) (3eb76ab)
  • transport: Add server graceful shutdown (#169) (393a57e)
  • transport: Add system root anchors for TLS (#114) (ac0e333), closes #101
  • transport: Add tracing support to server (#175) (f46a454)
  • transport: Allow custom IO and UDS example (#184) (b90c340), closes #136
  • transport: Enable TCP_NODELAY. (#120) (0299509)
  • transport: Expose tcp keepalive to clients & servers (#151) (caccfad)

BREAKING CHANGES

  • build: Build will now generate each service client and server into their own modules.
  • transport: Remove support for OpenSSL within the transport.

0.1.0-alpha.5 (2019-10-31)

Bug Fixes

  • build: Fix missing argument in generate_connect (#95) (eea3c0f)
  • codec: Enforce encoders/decoders are Sync (#84) (3ce61d9), closes #81
  • codec: Remove custom content-type (#104) (a17049f)

Features

  • Add IntoRequest and IntoStreamingRequest traits (#66) (4bb087b)
  • transport: Add service multiplexing/routing (#99) (5b4f468), closes #29
  • transport: Change channel connect to be async (#107) (5c2f4db)

BREAKING CHANGES

  • transport: Endpoint::channel was removed in favor of an async Endpoint::connect.

0.1.0-alpha.4 (2019-10-23)

Bug Fixes

  • build: Fix service and rpc name conflict (#92) (1dbde95), closes #89
  • client: Use Stream instead of TrySteam for client calls (#61) (7eda823)
  • codec: Properly decode partial DATA frames (#83) (9079e0f)
  • transport: Rename server tls config method (#73) (2a4bdb2)

Features

BREAKING CHANGES

  • transport: rustls_client_config for the server has been renamed to rustls_server_config.

0.1.0-alpha.3 (2019-10-09)

Features

  • build: Expose prost-build type_attributes and field_attribu… (#60) (06ff619)
  • transport: Expose more granular control of TLS configuration (#48) (8db3961)

0.1.0-alpha.2 (2019-10-08)

Bug Fixes

  • codec: Fix buffer decode panic on full (#43) (ed3e7e9)
  • codegen: Fix Empty protobuf type and add unimplemented (#26) (2670b34)
  • codegen: Use wellknown types from prost-types (#49) (4e1fcec)
  • transport: Attempt to load RSA private keys in rustls (#39) (2c5c3a2)
  • transport: Avoid exit after bad TLS handshake (#51) (412a0bd)

Features

  • codgen: Add default implementations for the generated serve… (#27) (4559613)
  • transport: Expose http/2 settings (#28) (0218d58)

v0.10.0 (2023-09-01)

Breaking Changes

  • Update to prost 0.12
  • MSRV bumped to 1.64

Bug Fixes

Features

  • build: Add optional default unimplemented stubs (#1344) (aff1daf)
  • core: amortize many ready messages into fewer, larger buffers (#1423) (76eedc1)
  • 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)
  • transport: Support for adding services dynamically

v0.9.2 (2023-04-17)

Features

  • build:: Support boxing fields (#1252)

v0.9.1 (2023-04-03)

Features

  • transport: Update rustls to 0.21 (#1340)

v0.9.0 (2023-03-31)

All tonic-* crates owned by this repository will now be versioned together to make it easier to understand which crate matches the core tonic crate version.

Breaking Changes

  • All crates bumped to 2021 edition
  • tonic-health and tonic-reflection internal protobuf module renamed.
  • Default decoding message limit set to 4MiB by default.

Bug Fixes

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_addr to Request 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 DebugInfo error message type (#1179) (3076e82)
  • types: Expose FILE_DESCRIPTOR_SET (#1210) (cc42d1f)
  • core: Make some functionality of Status public (#1256)
  • core: Expose Response#into_parts and Response#from_parts (#1263)
  • build: Allow setting skip_protoc_run on the prost Builder (#1318)

v0.8.4 (2022-11-29)

This release only contains a release for tonic-build.

Bug Fixes

v0.8.3 (2022-11-28)

note: this version has been yanked due to a typo in the CodeGenBuilder type.

Included in this release is also the sub-crate major version bumps:

  • tonic-health has been bumped to 0.8.0
  • tonic-reflection has been bumped to 0.6.0
  • tonic-web has been bumped to 0.5.0

Bug Fixes

Features

  • build: Add build_transport builder option (#1130) (1f5bc9b)
  • build: Add CodeGenBuilder (#1154) (c4525ba)
  • build: Add disable_comments option (#1127) (e188521)
  • Expose Request#into_parts and Request#from_parts (#1118) (b409ddd)
  • transport: add from_listener for TcpIncoming (#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

  • tonic: add Result<T> type alias for std::result::Result<T, tonic::Status> (#1085) (56ff45d)
  • build: add cleanup-markdown feature flag (#1086) (c1b08df)
  • tonic: impl Clone for Status using Arc (#1076) (ee3d0df)
  • transport: Expose hyper's H2 adaptive window on server (#1071) (919d28b)

0.8.1 (2022-09-07)

Features

  • transport: Expose hyper's H2 adaptive window on server (#1071) (919d28b)
  • Reduce the amount of monomorphized code.
  • Expose Extensions::into_http and Status::from_error.
  • health: Remove build.rs and commit generated code.

0.8.0 (2022-07-29)

Features

  • Add Grpc::with_origin for clients (#1017) (10f6d2f)
  • build: Add option to emit rerun-if-changed instructions (#1021) (1d2083a)
  • build: Better support for custom codecs (#999) (de2e4ac)
  • Decouple NamedService from the transport feature (#969) (feae96c)
  • reflection: Export server types.
  • reflection: Add with_service_name.

BREAKING CHANGES

  • build: CODEC_PATH moved from const to fn
  • tonic Remove codegen depedency on compression feature.
  • tonic Remove compression feature in favor of gzip feature.

0.7.2 (2022-05-04)

Bug Fixes

  • build: Reduce Default bound requirement (#974) (4533a6e)
  • don't enable default features in tower (#972) (b4f9634)
  • transport: Emit HttpsUriWithoutTlsSupport only with tls feature enabled (#996) (1dd5ad2)

Features

  • Add TryFrom implementations for MetadataValue (#990) (edc5a0d)

0.7.1 (2022-04-04)

Features

0.7.0 (2022-03-31)

Breaking Changes

Bug Fixes

  • codec: Return None after poll_data error (#921) (d7cae70)
  • health: Correctly implement spec for overall health (#897) (2b0ffee)
  • tonic: Preserve HTTP method in interceptor (#912) (e623562)
  • transport: Make Server::layer() support more than one layer (#932) (e30bb7e)
  • transport: Make server builder more consistent (#901) (6763d19)
  • Return error on non https uri instead of panic (#838) (ef6e245)

Features

  • build: Expose Prost generation plugin (#947) (d4bd475)
  • build: add constructor from_arc for gRPC servers (#875) (7179f7a)
  • health: Expose HealthService publically (#930) (097e7e8)
  • transport: add unix socket support in server (#861) (dee2ab5)
  • transport: support customizing Channel's async executor (#935) (0859d82)
  • Implement hash for Code (#917) (6bc7dab)

0.6.2 (2021-12-07)

Bug Fixes

0.6.1 (2021-10-27)

Bug Fixes

0.6.0 (2021-10-25)

Breaking changes

  • tonic: Remove Sync requirement for streams (#804) (23c1392)
  • tonic: change connect_lazy to be infallible (#712) (2e47154)
  • build: split path types in compile (#721) (53ecc1f)
  • Update prost and friends to 0.9 (#791) (09805ec)

Bug Fixes

  • build: Correctly convert Empty to () (#734) (ff6a690)
  • tonic: fix extensions disappearing during streaming requests (5c1bb90), closes #770
  • tonic: Status code to set correct source on unknown error (#799) (4054d61)
  • transport: AddOrigin panic on invalid uri (#801) (3ab00f3)
  • transport: Correctly map hyper errors (#629) (4947b07)
  • tonic: compression: handle compression flag but no header (#763)

Features

  • build: Support prost's include_file option (#774) (3f9ab80)
  • health, reflection: make rustfmt dependency optional (#785)

0.5.2 (2021-08-10)

0.5.1 (2021-08-09)

Features

  • health: Expose grpc_health_v1 file descriptor set (#620) (167e8cb), closes #619
  • tonic: derive Clone for RouterService (#714) (#714) (0a06603)
  • transport: Add Connected impl for DuplexStream (#722) (#722) (0e33a02)

Bug Fixes

  • build: remove unnecessary Debug constraint for client streams (#719) (167e8cb), closes #718
  • build: allow services to be named Service (#709) (380d81d), closes #676

0.5.0 (2021-07-08)

This release includes a new crate tonic-web which is versioned at 0.1 and supports accepting grpc-web!

Breaking changes

  • prost bumped to 0.8.
  • BoxBody was removed in favor of the version provided in http-body.
  • The Connected trait has been modified to support more generic ConnectionInfo.
  • Streaming fixed to now return None once the stream has observed a trailing Status, notifying the user that the stream has ended.
  • A new interceptor API.

Bug Fixes

  • codec: Fix streaming reponses w/ many status (#689) (737ace3), closes #681
  • build: fix with_interceptor not building on Rust 1.51 (#669) (9478fac)
  • codec: improve error message for invalid compression flag (#663) (9cc14b7)
  • tonic: don't include error's cause in Display impl (#633) (31a3468)
  • 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 IterMut and ValuesMut (#639) (b0ec3ea)
  • metadata: remove manual Send + Sync impls for metadata types (#640) (e97f518)
  • tonic: add h2::Error as a source for Status (#612) (b90bb7b)
  • tonic: add Request and Response extensions (#642) (352b0f5)
  • tonic: expose setting for http2_adaptive_window (#657) (12815d0)
  • tonic: implement From<Code> for i32 (f33316d)
  • tonic: make it easier to add tower middleware to servers (#651) (4d2667d)
  • tonic: pass trace_fn the request rather than just the headers (#634) (7862a22)
  • tonic: Use BoxBody from http-body crate (#622) (4dda4cb)
  • tonic-web: implement grpc <-> grpc-web protocol translation (#455) (c309063)
  • 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

  • client: Add Request::set_timeout (#615) (dae31d0)
  • transport: Configure TLS automatically when possible (#445) (b04c1c6)
  • transport: Support timeouts with the 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

0.4.1 (2021-03-16)

Features

  • feat(reflection): Implement gRPC Reflection Service (#340) (c54f247), closes #340
  • feat(build): Add disable_package_emission option to tonic-build (#556) (4f5e160), closes #556
  • feat(build): Support compiling well-known protobuf types (#522) (61555ff), closes #522
  • feat(build): Use RUSTFMT to find rustfmt binary (#566) (ea56e2e), closes #566
  • chore: add FromStr for Endpoint (#558) (f49d4bd), closes #558

Bug Fixes

0.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) (dafea9a)
  • gracefully handle bad native certs (#520) (fe4d5b9), closes #519
  • build: Add content-type for generated unimplemented service (#441) (62c1230)
  • build: Match namespace code with other generated packages (#472) (1b03ece)
  • transport: Add content-type for Unimplemented (#434) (594a542)
  • transport: reconnect lazy connections after first failure (#458) (e9910d1), closes #452
  • client: Merge trailer and initla headers into status on err (#510)
  • transport: Fix TLS accept w/ peer certs (#535) (41c51f1)

Features

  • status: 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: Move error! to debug! (#537) (a7778ad)
  • transport: Do not panic when building and Endpoint with an invali… (#438) (26ce9d1), closes #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 (2020-08-20)

Bug Fixes

  • transport: Return connection error on Channel::connect (#413) (2ea17b2), closes #403

0.3.0 (2020-07-13)

Bug Fixes

  • Status::details leaking base64 encoding (#395) (2c4c544), closes #379
  • build: Allow empty packages (#382) (f085aba), closes #381
  • build: Make generated server service public (#347) (8cd6f05)
  • transport: Propagate errors in tls_config instead of unwrap/panic (#385) (3b9d6a6)
  • Remove uses of pin_project::project attribute (#367) (5bda615)

Features

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

  • transport: Add AsRef impl for Certificate (#326) (d2ad8df)

0.2.0 (2020-04-01)

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 .rs files 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

0.1.1 (2020-01-20)

Bug Fixes

  • build: Typo with client mod docstring (#237) (5fc6762)
  • transport: Add Connected impl for TcpStream (#245) (cfdf0af)
  • transport: Use Uri host if no domain for tls (#244) (6de0b4d)

0.1.0 (2020-01-14)

Bug Fixes

  • build: Remove default impl for Server traits (#229) (a41f55a)
  • transport: Improve Error type (#217) (ec1f37e)

chore

Features

  • Add gRPC interceptors (#232) (eba7ec7)
  • build: Add extern_path config support (#223) (e034288)
  • codec: Introduce Decoder/Encoder traits (#208) (0fa2bf1)
  • transport: Add serve_with_incoming_shutdown (#220) (a66595b)
  • transport: Add server side peer cert support (#228) (af807c3)

BREAKING CHANGES

  • Rename ServiceName to NamedService.
  • removed interceptor_fn and intercep_headers_fn from transport in favor of using tonic::Interceptor.
  • codec: Add new Decoder/Encoder traits and use EncodeBuf/DecodeBuf over BytesMut directly.
  • build: remove default implementations for server traits.

0.1.0-beta.1 (2019-12-19)

Bug Fixes

Features

  • transport: Add remote_addr to Request on the server si… (#186) (3eb76ab)
  • transport: Add server graceful shutdown (#169) (393a57e)
  • transport: Add system root anchors for TLS (#114) (ac0e333), closes #101
  • transport: Add tracing support to server (#175) (f46a454)
  • transport: Allow custom IO and UDS example (#184) (b90c340), closes #136
  • expose tcp_nodelay for clients and servers (#145) (0eb9991)
  • transport: Enable TCP_NODELAY. (#120) (0299509)
  • transport: Expose tcp keepalive to clients & servers (#151) (caccfad)
  • Add Status constructors (#137) (997241c)

BREAKING CHANGES

  • build: Build will now generate each service client and server into their own modules.
  • transport: Remove support for OpenSSL within the transport.

0.1.0-alpha.5 (2019-10-31)

Bug Fixes

  • build: Fix missing argument in generate_connect (#95) (eea3c0f)
  • codec: Enforce encoders/decoders are Sync (#84) (3ce61d9), closes #81
  • codec: Remove custom content-type (#104) (a17049f)

Features

  • transport: Add service multiplexing/routing (#99) (5b4f468), closes #29
  • transport: Change channel connect to be async (#107) (5c2f4db)
  • Add IntoRequest and IntoStreamingRequest traits (#66) (4bb087b)

BREAKING CHANGES

  • transport: Endpoint::channel was removed in favor of an async Endpoint::connect.

0.1.0-alpha.4 (2019-10-23)

Bug Fixes

  • build: Fix service and rpc name conflict (#92) (1dbde95), closes #89
  • client: Use Stream instead of TrySteam for client calls (#61) (7eda823)
  • codec: Properly decode partial DATA frames (#83) (9079e0f)
  • transport: Rename server tls config method (#73) (2a4bdb2)

Features

BREAKING CHANGES

  • transport: rustls_client_config for the server has been renamed to rustls_server_config.

0.1.0-alpha.3 (2019-10-09)

Features

  • build: Expose prost-build type_attributes and field_attribu… (#60) (06ff619)
  • transport: Expose more granular control of TLS configuration (#48) (8db3961)

0.1.0-alpha.2 (2019-10-08)

Bug Fixes

  • codec: Fix buffer decode panic on full (#43) (ed3e7e9)
  • codegen: Fix Empty protobuf type and add unimplemented (#26) (2670b34)
  • codegen: Use wellknown types from prost-types (#49) (4e1fcec)
  • transport: Attempt to load RSA private keys in rustls (#39) (2c5c3a2)
  • transport: Avoid exit after bad TLS handshake (#51) (412a0bd)

Features

  • codgen: Add default implementations for the generated serve… (#27) (4559613)
  • transport: Expose http/2 settings (#28) (0218d58)