Skip to content

Latest commit

 

History

History
485 lines (289 loc) · 42.7 KB

CHANGELOG.md

File metadata and controls

485 lines (289 loc) · 42.7 KB

v0.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.

v0.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)