0.4.1 (2021-03-16)
- 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 findrustfmt
binary (#566) (ea56e2e), closes #566 - chore: add FromStr for Endpoint (#558) (f49d4bd), closes #558
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
.
- 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)
- 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
TryFrom
API has been changed.- Upgraded to
tokio 1.0
andprost 0.7
. Channel
now implementsService
instead ofGrpcService
.
0.3.1 (2020-08-20)
0.3.0 (2020-07-13)
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)
- 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-types
crate (#391) (ea7fe66) - Add
Display
implementation 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)
0.2.1 (2020-05-07)
- 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)
0.2.0 (2020-04-01)
- 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)
- build: Add support for custom prost config (#318) (202093c)
- health: Add tonic-health server impl (da92dbf), closes #135 #135
- Add Status with Details Constructor (#308) (cfd59db)
- build: Decouple codgen from
prost
(#170) (f65cda1) - transport: Expose http2 keep-alive support (#307) (012fa3c)
0.1.1 (2020-01-20)
- 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)
- build: Remove default impl for Server traits (#229) (a41f55a)
- transport: Improve
Error
type (#217) (ec1f37e)
- 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)
- Rename
ServiceName
toNamedService
. - removed
interceptor_fn
andintercep_headers_fn
fromtransport
in favor of usingtonic::Interceptor
. - codec: Add new
Decoder/Encoder
traits and useEncodeBuf/DecodeBuf
overBytesMut
directly. - build: remove default implementations for server traits.
0.1.0-beta.1 (2019-12-19)
- build: Allow creating multiple services in the same package (#173) (0847b67)
- build: Prevent duplicated client/server generated code (#121) (b02b4b2)
- build: Remove async ready (#185) (97d5363)
- build: snake_case service names (#190) (3a5c66d)
- docs: typo in lib.rs (#142) (c63c107)
- examples: Remove use of VecDeque as a placeholder type (#143) (354d4fd)
- transport: Fix infinite recursion in
poll_ready
(#192) (c99d13c), closes #184 #191 - transport: Fix lazily reconnecting (#187) (0505dff), closes #167
- transport: Load balance connecting panic (#128) (23e7695), closes #127
- transport: Remove support for OpenSSL (#141) (8506050)
- transport: Remove with_rustls for tls config (#188) (502491a)
- Sanitize custom metadata (#138) (f9502df)
- transport: Update builders to move self (#132) (85ef18f)
- transport: Add
remote_addr
toRequest
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)
- 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)
- 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)
- transport: Add service multiplexing/routing (#99) (5b4f468), closes #29
- transport: Change channel connect to be async (#107) (5c2f4db)
- Add
IntoRequest
andIntoStreamingRequest
traits (#66) (4bb087b)
- transport:
Endpoint::channel
was removed in favor of an asyncEndpoint::connect
.
0.1.0-alpha.4 (2019-10-23)
- build: Fix service and rpc name conflict (#92) (1dbde95), closes #89
- client: Use
Stream
instead ofTrySteam
for client calls (#61) (7eda823) - codec: Properly decode partial DATA frames (#83) (9079e0f)
- transport: Rename server tls config method (#73) (2a4bdb2)
- transport:
rustls_client_config
for the server has been renamed torustls_server_config
.
0.1.0-alpha.3 (2019-10-09)
- 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)
- 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)