Skip to content

Latest commit

 

History

History
718 lines (414 loc) · 59.9 KB

CHANGELOG.md

File metadata and controls

718 lines (414 loc) · 59.9 KB

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)

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)

0.12.1 (2024-07-17)

Bug Fixes

  • Reduce tokio-stream feature (#1795)

0.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)
  • Removed implicit configuration of client TLS roots setup (#1731)

0.11.0 (2024-02-08)

BREAKING CHANGES:

  • Removed NamedService from the transport module, please import it via tonic::server::NamedService.
  • MSRV bumped to 1.70.

Features

  • Added zstd compression support.
  • Added connection timeout for connecto_with_connector_lazy.
  • Upgrade rustls to v0.22
  • Feature gate server implementation for tonic-reflection.

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)