Open renovate[bot] opened 2 years ago
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
β οΈ Warning: custom changes will be lost.
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
This PR contains the following updates:
0.12
->0.14
0.12
->0.14
GitHub Vulnerability Alerts
CVE-2021-32715
Summary
hyper's HTTP/1 server code had a flaw that incorrectly parses and accepts requests with a
Content-Length
header with a prefixed plus sign, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that doesn't parse suchContent-Length
headers, but forwards them, can result in "request smuggling" or "desync attacks".Vulnerability
The flaw exists in all prior versions of hyper, if built with
rustc
v1.5.0 or newer.Example:
This request gets accepted and hyper reads the body as abc. The request should be rejected, according to RFC 7230, since the ABNF for
Content-Length
only allows forDIGIT
s. This is due to using theFromStr
implementation foru64
in the standard library. By differing from the spec, it is possible to send requests like these to endpoints that have different HTTP implementations, with different interpretations of the payload semantics, and cause "desync attacks".In this particular case, an upstream proxy would need to error when parsing the
Content-Length
, but not reject the request (swallowing its own error), and forwarding the request as-is with theContent-Length
still included. Then the upstream proxy and hyper would disagree on the length of the request body. The combination of these factors would be extremely rare.Read more about desync attacks: https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
Impact
To determine if vulnerable, all these things must be true:
Content-Length
header, OR can parse the length with the plus sign, the desync attack cannot succeed.Patches
We have released the following patch versions:
Workarounds
Besides upgrading hyper, you can take the following options:
Content-Length
header.Content-Length
headers with a plus sign prefix.Credits
This issue was initially reported by Mattias Grenfeldt and Asta Olofsson.
CVE-2021-32714
Summary
hyper's HTTP server and client code had a flaw that could trigger an integer overflow when decoding chunk sizes that are too big. This allows possible data loss, or if combined with an upstream HTTP proxy that allows chunk sizes larger than hyper does, can result in "request smuggling" or "desync attacks".
Vulnerability
Example:
hyper only reads the rightmost 64-bit integer as the chunk size. So it reads
f0000000000000003
as3
. A loss of data can occur since hyper would then read only 3 bytes of the body. Additionally, an HTTP request smuggling vulnerability would occur if using a proxy which instead has prefix truncation in the chunk size, or that understands larger than 64-bit chunk sizes.Read more about desync attacks: https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
Impact
To determine if vulnerable to data loss, these things must be true:
To determine if vulnerable to desync attacks, these things must be true:
Patches
We have released the following patch versions:
Workarounds
Besides upgrading hyper, you can take the following options:
Transfer-Encoding
header.Transfer-Encoding
chunk sizes greater than what fits in 64-bit unsigned integers.Credits
This issue was initially reported by Mattias Grenfeldt and Asta Olofsson.
GHSA-f67m-9j94-qv9j
Affected versions of this crate called
mem::uninitialized()
in the HTTP1 parser to create values of typehttparse::Header
(from thehttparse
crate). This is unsound, sinceHeader
contains references and thus must be non-null.The flaw was corrected by avoiding the use of
mem::uninitialized()
, usingMaybeUninit
instead.Release Notes
hyperium/hyper
### [`v0.14.25`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.25) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.24...v0.14.25) ##### Features - **client:** - deprecate `client::conn` types ([#3156](https://togithub.com/hyperium/hyper/issues/3156)) ([0ced15d3](https://togithub.com/hyperium/hyper/commit/0ced15d3cc10ace477ebda13ead8e6857b51867e)) - add 1.0 compatible client conn API ([#3155](https://togithub.com/hyperium/hyper/issues/3155)) ([253cc74d](https://togithub.com/hyperium/hyper/commit/253cc74d86b082067aa884a0a63a089d7d19401d), closes [#3053](https://togithub.com/hyperium/hyper/issues/3053)) - add `client::connect::capture_connection()` ([#3144](https://togithub.com/hyperium/hyper/issues/3144)) ([c8493399](https://togithub.com/hyperium/hyper/commit/c8493399b2929a86f3020ae77304a00e43cfd161)) - add `poison` to `Connected` ([#3145](https://togithub.com/hyperium/hyper/issues/3145)) ([37ed5a2e](https://togithub.com/hyperium/hyper/commit/37ed5a2e3cab76a11092823a80afd8fe2f2a9693)) - **server:** - deprecate server conn structs ([#3161](https://togithub.com/hyperium/hyper/issues/3161)) ([02fe20f2](https://togithub.com/hyperium/hyper/commit/02fe20f232a7c3cf24d505b121ce4d428a93254d)) - backport the split server conn modules from 1.0 ([#3102](https://togithub.com/hyperium/hyper/issues/3102)) ([84881c9e](https://togithub.com/hyperium/hyper/commit/84881c9e5160167a89d18d30c0ef6856dc859839), closes [#3079](https://togithub.com/hyperium/hyper/issues/3079)) - remove some `Unpin` and `'static` constraints ([#3119](https://togithub.com/hyperium/hyper/issues/3119)) ([0368a41a](https://togithub.com/hyperium/hyper/commit/0368a41a6cc1a5c6f1eada0d88e38b7dce261587)) ##### New Contributors - [@rcoh](https://togithub.com/rcoh) made their first contribution in [https://github.com/hyperium/hyper/pull/3145](https://togithub.com/hyperium/hyper/pull/3145) - [@iamwwc](https://togithub.com/iamwwc) made their first contribution in [https://github.com/hyperium/hyper/pull/3119](https://togithub.com/hyperium/hyper/pull/3119) ### [`v0.14.24`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.24) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.23...v0.14.24) ##### Bug Fixes - **body:** set an internal max to reserve in `to_bytes` ([4d89adce](https://togithub.com/hyperium/hyper/commit/4d89adce6122af1650165337d9d814314e7ee409)) - **server:** prevent sending 100-continue if user drops request body ([#3138](https://togithub.com/hyperium/hyper/issues/3138)) ([92443d7e](https://togithub.com/hyperium/hyper/commit/92443d7ef57ed474f0add7dd1f114c81a3faa8fe)) ##### Features - **http2:** add `http2_max_header_list_size` to `hyper::server::Builder` ([#3006](https://togithub.com/hyperium/hyper/issues/3006)) ([031425f0](https://togithub.com/hyperium/hyper/commit/031425f087219f02a87eea3d01b14e75e35a5209)) ##### New Contributors - [@jiahaoliang](https://togithub.com/jiahaoliang) made their first contribution in [https://github.com/hyperium/hyper/pull/3006](https://togithub.com/hyperium/hyper/pull/3006) ### [`v0.14.23`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.23) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.22...v0.14.23) ##### Bug Fixes - **http2:** Fix race condition in client dispatcher ([#3041](https://togithub.com/hyperium/hyper/issues/3041)) ([2f1c0b72](https://togithub.com/hyperium/hyper/commit/2f1c0b720da4553fff216a38018a78ecafe23d60), closes [#2419](https://togithub.com/hyperium/hyper/issues/2419)) - **dependencies**: Really fix compile-time feature for `socket2` dependency. ##### New Contributors - [@jfourie1](https://togithub.com/jfourie1) made their first contribution in [https://github.com/hyperium/hyper/pull/3041](https://togithub.com/hyperium/hyper/pull/3041) ### [`v0.14.22`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.22) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.21...v0.14.22) ##### Bug Fixes - **server:** fix compile-time cfgs for TCP keepalive options ([#3039](https://togithub.com/hyperium/hyper/issues/3039)) ([e8765e0f](https://togithub.com/hyperium/hyper/commit/e8765e0febd0267472799dcd1109af75944c2637), closes [#3038](https://togithub.com/hyperium/hyper/issues/3038)) ### [`v0.14.21`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.20...v0.14.21) ##### Bug Fixes - **client:** send an error back to client when dispatch misbehaves () ([9fa36382](https://togithub.com/hyperium/hyper/commit/9fa363829ced232acb18c31ebab8ffb93f691ecc), closes [#2649](https://togithub.com/hyperium/hyper/issues/2649)) - **http1:** fix `http1_header_read_timeout` to use same future ([#2891](https://togithub.com/hyperium/hyper/issues/2891)) ([c5a14e7c](https://togithub.com/hyperium/hyper/commit/c5a14e7c087424001223aaeb2dad532ba4ee6063)) ##### Features - **http1:** allow ignoring invalid header lines in requests ([73dd4746](https://togithub.com/hyperium/hyper/commit/73dd474652f5e71fe8a87baa6f9b2490ae746eb3)) - **server:** add `Server::tcp_keepalive_interval` and `Server::tcp_keepalive_retries` ([#2991](https://togithub.com/hyperium/hyper/issues/2991)) ([287d7124](https://togithub.com/hyperium/hyper/commit/287d712483aec6671427438d60ed2a72f856fd9f)) ##### New Contributors - [@hansonchar](https://togithub.com/hansonchar) made their first contribution in [https://github.com/hyperium/hyper/pull/2991](https://togithub.com/hyperium/hyper/pull/2991) ### [`v0.14.20`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.20) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.19...v0.14.20) ##### Bug Fixes - **http1:** fix `http1_header_read_timeout` to use same future ([#2891](https://togithub.com/hyperium/hyper/issues/2891)) ([c5a14e7c](https://togithub.com/hyperium/hyper/commit/c5a14e7c087424001223aaeb2dad532ba4ee6063)) ##### Features - **ext:** support non-canonical HTTP/1 reason phrases ([#2792](https://togithub.com/hyperium/hyper/issues/2792)) ([b2052a43](https://togithub.com/hyperium/hyper/commit/b2052a433fd151d7d745ee9c5b27a2031db1dc32)) ##### New Contributors - [@kianmeng](https://togithub.com/kianmeng) made their first contribution in [https://github.com/hyperium/hyper/pull/2876](https://togithub.com/hyperium/hyper/pull/2876) - [@Ticsmtc](https://togithub.com/Ticsmtc) made their first contribution in [https://github.com/hyperium/hyper/pull/2889](https://togithub.com/hyperium/hyper/pull/2889) ### [`v0.14.19`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01419-2022-05-27) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.18...v0.14.19) ##### Bug Fixes - **http1:** fix preserving header case without enabling ffi ([#2820](https://togithub.com/hyperium/hyper/issues/2820)) ([6a35c175](https://togithub.com/hyperium/hyper/commit/6a35c175f2b416851518b5831c2c7827d6dbd822)) - **server:** don't add implicit content-length to HEAD responses ([#2836](https://togithub.com/hyperium/hyper/issues/2836)) ([67b73138](https://togithub.com/hyperium/hyper/commit/67b73138f110979f3c77ef7b56588f018837e592)) ##### Features - **server:** - add `Connection::http2_max_header_list_size` option ([#2828](https://togithub.com/hyperium/hyper/issues/2828)) ([a32658c1](https://togithub.com/hyperium/hyper/commit/a32658c1ae7f1261fa234a767df963be4fc63521), closes [#2826](https://togithub.com/hyperium/hyper/issues/2826)) - add `AddrStream::local_addr()` ([#2816](https://togithub.com/hyperium/hyper/issues/2816)) ([ffbf610b](https://togithub.com/hyperium/hyper/commit/ffbf610b1631cabfacb20886270e3c137fa93800), closes [#2773](https://togithub.com/hyperium/hyper/issues/2773)) ##### Breaking Changes - **ffi (unstable):** - `hyper_clientconn_options_new` no longer sets the `http1_preserve_header_case` connection option by default. Users should now call `hyper_clientconn_options_set_preserve_header_case` if they desire that functionality. ([78de8914](https://togithub.com/hyperium/hyper/commit/78de8914eadeab4b9a2c71a82c77b2ce33fe6c74)) ### [`v0.14.18`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01418-2022-03-22) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.17...v0.14.18) ##### Bug Fixes - **ffi:** don't build C libraries by default ([1c663706](https://togithub.com/hyperium/hyper/commit/1c6637060e36654ddb2fdfccb0d146c7ad527476)) ##### Features - **client:** add `HttpInfo::local_addr()` method ([055b4e7e](https://togithub.com/hyperium/hyper/commit/055b4e7ea6bd22859c20d60776b0c8f20d27498e), closes [#2767](https://togithub.com/hyperium/hyper/issues/2767)) ### [`v0.14.17`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01417-2022-02-10) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.16...v0.14.17) ##### Bug Fixes - **client:** avoid panics in uses of `Instant` ([#2746](https://togithub.com/hyperium/hyper/issues/2746)) ([dcdd6d10](https://togithub.com/hyperium/hyper/commit/dcdd6d109069949ee68ba70ece4a2b4f21079479)) ##### Features - **client:** implement the HTTP/2 extended CONNECT protocol from RFC 8441 ([#2682](https://togithub.com/hyperium/hyper/issues/2682)) ([5ec094ca](https://togithub.com/hyperium/hyper/commit/5ec094caa5c999e6f919a2bc82f5f3b7d40c2d8a)) - **error:** add `Error::message` ([#2737](https://togithub.com/hyperium/hyper/issues/2737)) ([6932896a](https://togithub.com/hyperium/hyper/commit/6932896a7fca58fe461269461f925da8fd4e8d8a), closes [#2732](https://togithub.com/hyperium/hyper/issues/2732)) - **http1:** implement obsolete line folding ([#2734](https://togithub.com/hyperium/hyper/issues/2734)) ([1f0c177b](https://togithub.com/hyperium/hyper/commit/1f0c177b35b14054eb1e5108e75f8bd3ff52813e)) ### [`v0.14.16`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01416-2021-12-09) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.15...v0.14.16) ##### Bug Fixes - **http1:** return 414 when URI contains more than 65534 characters ([#2706](https://togithub.com/hyperium/hyper/issues/2706)) ([5f938fff](https://togithub.com/hyperium/hyper/commit/5f938fffa64df23a2e4af81ed4e6d8bd760e2d05), closes [#2701](https://togithub.com/hyperium/hyper/issues/2701)) - **http2:** received `Body::size_hint()` now return 0 if implicitly empty ([#2715](https://togithub.com/hyperium/hyper/issues/2715)) ([84b78b6c](https://togithub.com/hyperium/hyper/commit/84b78b6c877ff9aaa28d1e348a5deb63a9282503)) - **server:** use case-insensitive comparison for Expect: 100-continue ([#2709](https://togithub.com/hyperium/hyper/issues/2709)) ([7435cc33](https://togithub.com/hyperium/hyper/commit/7435cc3399895643062f4e399fae6d5b20b049a1), closes [#2708](https://togithub.com/hyperium/hyper/issues/2708)) ##### Features - **http2:** add `http2_max_send_buf_size` option to client and server ([bff977b7](https://togithub.com/hyperium/hyper/commit/bff977b73ca8d737f5492c86c09fd64735c45461)) - **server:** add HTTP/1 header read timeout option ([#2675](https://togithub.com/hyperium/hyper/issues/2675)) ([842c6553](https://togithub.com/hyperium/hyper/commit/842c6553a5414a3a4a0fbf973079200612a9c3d2), closes [#2457](https://togithub.com/hyperium/hyper/issues/2457)) ### [`v0.14.15`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01415-2021-11-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.14...v0.14.15) ##### Bug Fixes - **client:** cancel blocking DNS lookup if `GaiFuture` is dropped ([174b553d](https://togithub.com/hyperium/hyper/commit/174b553d) ##### Features - **http1:** add `http1_writev(bool)` options to Client and Server builders, to allow forcing vectored writes ([80627141](https://togithub.com/hyperium/hyper/commit/80627141)) - **upgrade:** allow http upgrades with any body type ([ab469eb3](https://togithub.com/hyperium/hyper/commit/ab469eb3c6cd5e7a035d734f3d21ff4d2d6a21ab)) ### [`v0.14.14`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01414-2021-10-22) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.13...v0.14.14) ##### Bug Fixes - **client:** - make ResponseFuture implement Sync ([bd6c35b9](https://togithub.com/hyperium/hyper/commit/bd6c35b98f9513f14ed9cecad933bc7fdb8635ea)) - remove ipv6 square brackets before resolving ([910e0268](https://togithub.com/hyperium/hyper/commit/910e02687df3245aae4bc519fb0bd7eb6a34db7d)) ##### Features - **h2:** always include original h2 error on broken pipe ([6169db25](https://togithub.com/hyperium/hyper/commit/6169db250c932dd012d391389826cd34833077b4)) - **server:** Remove Send + Sync requirement for Body in with_graceful_shutdown ([1d553e52](https://togithub.com/hyperium/hyper/commit/1d553e52c6953ea3b039f5c3f89d35cb56e2436a)) ### [`v0.14.13`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01413-2021-09-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.12...v0.14.13) ##### Bug Fixes - **client:** don't reuse a connection while still flushing ([c88011da](https://togithub.com/hyperium/hyper/commit/c88011da4ed5b5ca9107c4a2339a7ab054c5f27f)) - **server:** convert panic to error if Connection::without_shutdown called on HTTP/2 conn ([ea3e2282](https://togithub.com/hyperium/hyper/commit/ea3e228287e714b97aa44c840a487abd3a915e15)) ##### Features - **ffi:** add hyper_request_set_uri_parts ([a54689b9](https://togithub.com/hyperium/hyper/commit/a54689b921ca16dd0f29b3f4a74feae60218db34)) - **lib:** - Export more things with Cargo features (server, !http1, !http2) ([0a4b56ac](https://togithub.com/hyperium/hyper/commit/0a4b56acb82ef41a3336f482b240c67c784c434f)) - Export rt module independently of Cargo features ([cf6f62c7](https://togithub.com/hyperium/hyper/commit/cf6f62c71eda3b3a8732d86387e4ed8711cf9a86)) ### [`v0.14.12`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01412-2021-08-24) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.11...v0.14.12) ##### Bug Fixes - **ffi:** on_informational callback had no headers ([39b6d01a](https://togithub.com/hyperium/hyper/commit/39b6d01aa0e520077bb25e16811f5ece00a224d6)) - **http1:** apply header title case for consecutive dashes ([#2613](https://togithub.com/hyperium/hyper/issues/2613)) ([684f2fa7](https://togithub.com/hyperium/hyper/commit/684f2fa76d44fa2b1b063ad0443a1b0d16dfad0e)) - **http2:** improve errors emitted by HTTP2 `Upgraded` stream shutdown ([#2622](https://togithub.com/hyperium/hyper/issues/2622)) ([be08648e](https://togithub.com/hyperium/hyper/commit/be08648e8298cdb13e9879ee761a73f827268962)) ##### Features - **client:** expose http09 and http1 options on `client::conn::Builder` ([#2611](https://togithub.com/hyperium/hyper/issues/2611)) ([73bff4e9](https://togithub.com/hyperium/hyper/commit/73bff4e98c372ce04b006370c0b0d2af29ea8718), closes [#2461](https://togithub.com/hyperium/hyper/issues/2461)) ### [`v0.14.11`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01411-2021-07-21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.10...v0.14.11) ##### Bug Fixes - **client:** retry when pool checkout returns closed HTTP2 connection ([#2585](https://togithub.com/hyperium/hyper/issues/2585)) ([52214f39](https://togithub.com/hyperium/hyper/commit/52214f391c0a18dc66d1ccff9c0c004c5da85002)) - **http2:** - improve I/O errors emitted by H2Upgraded ([#2598](https://togithub.com/hyperium/hyper/issues/2598)) ([f51c677d](https://togithub.com/hyperium/hyper/commit/f51c677dec9debf60cb336dc938bae103adf17a0)) - preserve `proxy-authenticate` and `proxy-authorization` headers ([#2597](https://togithub.com/hyperium/hyper/issues/2597)) ([52435701](https://togithub.com/hyperium/hyper/commit/5243570137ae49628cb387fff5611eea0add33bf)) ##### Features - **ffi:** add hyper_request_on_informational ([25d18c0b](https://togithub.com/hyperium/hyper/commit/25d18c0b74ccf9e51f986daa3b2b98c0109f827a)) ### [`v0.14.10`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01410-2021-07-07) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.9...v0.14.10) ##### Bug Fixes - **http1:** - reject content-lengths that have a plus sign prefix ([06335158](https://togithub.com/hyperium/hyper/commit/06335158ca48724db9bf074398067d2db08613e7)) - protect against overflow in chunked decoder ([efd9a982](https://togithub.com/hyperium/hyper/commit/efd9a9821fd2f1ae04b545094de76a435b62e70f)) ##### Features - **ffi:** add option to get raw headers from response ([8c89a8c1](https://togithub.com/hyperium/hyper/commit/8c89a8c1665b6fbec3f13b8c0e84c79464179c89)) ### [`v0.14.9`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0149-2021-06-07) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.8...v0.14.9) ##### Bug Fixes - **http1:** reduce memory used with flatten write strategy ([eb0c6463](https://togithub.com/hyperium/hyper/commit/eb0c64639503bbd4f6e3b1ce3a02bff8eeea7ee8)) ### [`v0.14.8`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0148-2021-05-25) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.7...v0.14.8) ##### Features - **client:** allow to config http2 max concurrent reset streams ([#2535](https://togithub.com/hyperium/hyper/issues/2535)) ([b9916c41](https://togithub.com/hyperium/hyper/commit/b9916c410182c6225e857f0cded355ea1b74c865)) - **error:** add `Error::is_parse_too_large` and `Error::is_parse_status` methods ([#2538](https://togithub.com/hyperium/hyper/issues/2538)) ([960a69a5](https://togithub.com/hyperium/hyper/commit/960a69a5878ede82c56f50ac1444a9e75e885a8f)) - **http2:** - Implement Client and Server CONNECT support over HTTP/2 ([#2523](https://togithub.com/hyperium/hyper/issues/2523)) ([5442b6fa](https://togithub.com/hyperium/hyper/commit/5442b6faddaff9aeb7c073031a3b7aa4497fda4d), closes [#2508](https://togithub.com/hyperium/hyper/issues/2508)) - allow HTTP/2 requests by ALPN when http2\_only is unset ([#2527](https://togithub.com/hyperium/hyper/issues/2527)) ([be9677a1](https://togithub.com/hyperium/hyper/commit/be9677a1e782d33c4402772e0fc4ef0a4c49d507)) ##### Performance - **http2:** reduce amount of adaptive window pings as BDP stabilizes ([#2550](https://togithub.com/hyperium/hyper/issues/2550)) ([4cd06bf2](https://togithub.com/hyperium/hyper/commit/4cd06bf2)) ### [`v0.14.7`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0147-2021-04-22) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.6...v0.14.7) ##### Bug Fixes - **http1:** http1\_title_case_headers should move Builder ([a303b3c3](https://togithub.com/hyperium/hyper/commit/a303b3c329e6b8ecfa1da0b9b9e94736628167e0)) ##### Features - **server:** implement forgotten settings for case preserving ([4fd6c4cb](https://togithub.com/hyperium/hyper/commit/4fd6c4cb0b58bb0831ae0f876d858aba1588d0e3)) ### [`v0.14.6`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0146-2021-04-21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.5...v0.14.6) ##### Features - **client:** add option to allow misplaced spaces in HTTP/1 responses ([#2506](https://togithub.com/hyperium/hyper/issues/2506)) ([11345394](https://togithub.com/hyperium/hyper/commit/11345394d968d4817e1a0ee2550228ac0ae7ce74)) - **http1:** add options to preserve header casing ([#2480](https://togithub.com/hyperium/hyper/issues/2480)) ([dbea7716](https://togithub.com/hyperium/hyper/commit/dbea7716f157896bf7d2d417be7b4e382e7dc34f), closes [#2313](https://togithub.com/hyperium/hyper/issues/2313)) ### [`v0.14.5`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0145-2021-03-26) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.4...v0.14.5) ##### Bug Fixes - **client:** omit default port from automatic Host headers ([#2441](https://togithub.com/hyperium/hyper/issues/2441)) ([0b11eee9](https://togithub.com/hyperium/hyper/commit/0b11eee9bde421cdc1680cadabfd38c5aff8e62f)) - **headers:** Support multiple Content-Length values on same line ([#2471](https://togithub.com/hyperium/hyper/issues/2471)) ([48fdaf16](https://togithub.com/hyperium/hyper/commit/48fdaf160689f333e9bb63388d0b1d0fa29a1391), closes [#2470](https://togithub.com/hyperium/hyper/issues/2470)) - **server:** skip automatic Content-Length headers when not allowed ([#2216](https://togithub.com/hyperium/hyper/issues/2216)) ([8cbf9527](https://togithub.com/hyperium/hyper/commit/8cbf9527dfb313b3f84fcd83260c5c72ce4a1beb), closes [#2215](https://togithub.com/hyperium/hyper/issues/2215)) ##### Features - **client:** allow HTTP/0.9 responses behind a flag ([#2473](https://togithub.com/hyperium/hyper/issues/2473)) ([68d4e4a3](https://togithub.com/hyperium/hyper/commit/68d4e4a3db91fb43f41a8c4fce1175ddb56816af), closes [#2468](https://togithub.com/hyperium/hyper/issues/2468)) - **server:** add `AddrIncoming::from_listener` constructor ([#2439](https://togithub.com/hyperium/hyper/issues/2439)) ([4c946af4](https://togithub.com/hyperium/hyper/commit/4c946af49cc7fbbc6bd4894283a654625c2ea383)) ### [`v0.14.4`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0144-2021-02-05) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.3...v0.14.4) ##### Bug Fixes - **build**: Fix compile error when only `http1` feature was enabled. ### [`v0.14.3`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0143-2021-02-05) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.2...v0.14.3) ##### Bug Fixes - **client:** HTTP/1 client "Transfer-Encoding" repair code would panic ([#2410](https://togithub.com/hyperium/hyper/issues/2410)) ([2c8121f1](https://togithub.com/hyperium/hyper/commit/2c8121f1735aa8efeb0d5e4ef595363c373ba470), closes [#2409](https://togithub.com/hyperium/hyper/issues/2409)) - **http1:** fix server misinterpretting multiple Transfer-Encoding headers ([8f93123e](https://togithub.com/hyperium/hyper/commit/8f93123efef5c1361086688fe4f34c83c89cec02)) ##### Features - **body:** - reexport `hyper::body::SizeHint` ([#2404](https://togithub.com/hyperium/hyper/issues/2404)) ([9956587f](https://togithub.com/hyperium/hyper/commit/9956587f83428a5dbe338ba0b55c1dc0bce8c282)) - add `send_trailers` to Body channel's `Sender` ([#2387](https://togithub.com/hyperium/hyper/issues/2387)) ([bf8d74ad](https://togithub.com/hyperium/hyper/commit/bf8d74ad1cf7d0b33b470b1e61625ebac56f9c4c), closes [#2260](https://togithub.com/hyperium/hyper/issues/2260)) - **ffi:** - add HYPERE_INVALID_PEER_MESSAGE error code for parse errors ([1928682b](https://togithub.com/hyperium/hyper/commit/1928682b33f98244435ba6d574677546205a15ec)) - Initial C API for hyper ([3ae1581a](https://togithub.com/hyperium/hyper/commit/3ae1581a539b67363bd87d9d8fc8635a204eec5d)) ### [`v0.14.2`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0142-2020-12-29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.1...v0.14.2) ##### Features - **client:** expose `connect` types without proto feature ([#2377](https://togithub.com/hyperium/hyper/issues/2377)) ([73a59e5f](https://togithub.com/hyperium/hyper/commit/73a59e5fc7ddedcb7cbd91e97b33385fde57aa10)) - **server:** expose `Accept` without httpX features ([#2382](https://togithub.com/hyperium/hyper/issues/2382)) ([a6d4fcbe](https://togithub.com/hyperium/hyper/commit/a6d4fcbee65bebf461291def75f4c512ec62a664)) ### [`v0.14.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v01419-2022-05-27) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.0...v0.14.1) ##### Bug Fixes - **http1:** fix preserving header case without enabling ffi ([#2820](https://togithub.com/hyperium/hyper/issues/2820)) ([6a35c175](https://togithub.com/hyperium/hyper/commit/6a35c175f2b416851518b5831c2c7827d6dbd822)) - **server:** don't add implicit content-length to HEAD responses ([#2836](https://togithub.com/hyperium/hyper/issues/2836)) ([67b73138](https://togithub.com/hyperium/hyper/commit/67b73138f110979f3c77ef7b56588f018837e592)) ##### Features - **server:** - add `Connection::http2_max_header_list_size` option ([#2828](https://togithub.com/hyperium/hyper/issues/2828)) ([a32658c1](https://togithub.com/hyperium/hyper/commit/a32658c1ae7f1261fa234a767df963be4fc63521), closes [#2826](https://togithub.com/hyperium/hyper/issues/2826)) - add `AddrStream::local_addr()` ([#2816](https://togithub.com/hyperium/hyper/issues/2816)) ([ffbf610b](https://togithub.com/hyperium/hyper/commit/ffbf610b1631cabfacb20886270e3c137fa93800), closes [#2773](https://togithub.com/hyperium/hyper/issues/2773)) ##### Breaking Changes - **ffi (unstable):** - `hyper_clientconn_options_new` no longer sets the `http1_preserve_header_case` connection option by default. Users should now call `hyper_clientconn_options_set_preserve_header_case` if they desire that functionality. ([78de8914](https://togithub.com/hyperium/hyper/commit/78de8914eadeab4b9a2c71a82c77b2ce33fe6c74)) ### [`v0.14.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0140-2020-12-23) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.10...v0.14.0) ##### Bug Fixes - **client:** log socket option errors instead of returning error ([#2361](https://togithub.com/hyperium/hyper/issues/2361)) ([dad5c879](https://togithub.com/hyperium/hyper/commit/dad5c8792fec7b586b41b5237bc161d8f0c09f72), closes [#2359](https://togithub.com/hyperium/hyper/issues/2359)) - **http1:** - ignore chunked trailers ([#2357](https://togithub.com/hyperium/hyper/issues/2357)) ([1dd761c8](https://togithub.com/hyperium/hyper/commit/1dd761c87de226261599ff2518fe9d231ba1c82d), closes [#2171](https://togithub.com/hyperium/hyper/issues/2171)) - ending close-delimited body should close ([#2322](https://togithub.com/hyperium/hyper/issues/2322)) ([71f34024](https://togithub.com/hyperium/hyper/commit/71f340242120f1ea52c7446b4bae37b894b83912)) ##### Features - **client:** - change DNS Resolver to resolve to SocketAddrs ([#2346](https://togithub.com/hyperium/hyper/issues/2346)) ([b4e24332](https://togithub.com/hyperium/hyper/commit/b4e24332a0cd44068a806081d51686f50c086056), closes [#1937](https://togithub.com/hyperium/hyper/issues/1937)) - Make `client` an optional feature ([4e55583d](https://togithub.com/hyperium/hyper/commit/4e55583d30a597884883f1a51b678f5c57c76765)) - **http1:** Make HTTP/1 support an optional feature ([2a19ab74](https://togithub.com/hyperium/hyper/commit/2a19ab74ed69bc776da25544e98979c9fb6e1834)) - **http2:** Make HTTP/2 support an optional feature ([b819b428](https://togithub.com/hyperium/hyper/commit/b819b428d314f2203642a015545967601b8e518a)) - **lib:** - Upgrade to Tokio 1.0, Bytes 1.0, http-body 0.4 ([#2369](https://togithub.com/hyperium/hyper/issues/2369)) ([fad42acc](https://togithub.com/hyperium/hyper/commit/fad42acc79b54ce38adf99c58c894f29fa2665ad), closes [#2370](https://togithub.com/hyperium/hyper/issues/2370)) - remove dependency on `tracing`'s `log` feature ([#2342](https://togithub.com/hyperium/hyper/issues/2342)) ([db32e105](https://togithub.com/hyperium/hyper/commit/db32e1050cf1eae63af0365c97e920f1295b6bea), closes [#2326](https://togithub.com/hyperium/hyper/issues/2326)) - disable all optional features by default ([#2336](https://togithub.com/hyperium/hyper/issues/2336)) ([ed2b22a7](https://togithub.com/hyperium/hyper/commit/ed2b22a7f66899d338691552fbcb6c0f2f4e06b9)) - **server:** Make the `server` code an optional feature ([#2334](https://togithub.com/hyperium/hyper/issues/2334)) ([bdb5e5d6](https://togithub.com/hyperium/hyper/commit/bdb5e5d6946f4e3f8115a6b1683aff6a04df73de)) - **upgrade:** Moved HTTP upgrades off `Body` to a new API ([#2337](https://togithub.com/hyperium/hyper/issues/2337)) ([121c3313](https://togithub.com/hyperium/hyper/commit/121c33132c0950aaa422848cdc43f6691ddf5785), closes [#2086](https://togithub.com/hyperium/hyper/issues/2086)) ##### Breaking Changes - hyper depends on `tokio` v1 and `bytes` v1. - Custom resolvers used with `HttpConnector` must change to resolving to an iterator of `SocketAddr`s instead of `IpAddr`s. ([b4e24332](https://togithub.com/hyperium/hyper/commit/b4e24332a0cd44068a806081d51686f50c086056)) - hyper no longer emits `log` records automatically. If you need hyper to integrate with a `log` logger (as opposed to `tracing`), you can add `tracing = { version = "0.1", features = ["log"] }` to activate them. ([db32e105](https://togithub.com/hyperium/hyper/commit/db32e1050cf1eae63af0365c97e920f1295b6bea)) - Removed `http1_writev` methods from `client::Builder`, `client::conn::Builder`, `server::Builder`, and `server::conn::Builder`. Vectored writes are now enabled based on whether the `AsyncWrite` implementation in use supports them, rather than though adaptive detection. To explicitly disable vectored writes, users may wrap the IO in a newtype that implements `AsyncRead` and `AsyncWrite` and returns `false` from its `AsyncWrite::is_write_vectored` method. ([d6aadb83](https://togithub.com/hyperium/hyper/commit/d6aadb830072959497f414c01bcdba4c8e681088)) - The method `Body::on_upgrade()` is gone. It is essentially replaced with `hyper::upgrade::on(msg)`. ([121c3313](https://togithub.com/hyperium/hyper/commit/121c33132c0950aaa422848cdc43f6691ddf5785)) - All optional features have been disabled by default. ([ed2b22a7](https://togithub.com/hyperium/hyper/commit/ed2b22a7f66899d338691552fbcb6c0f2f4e06b9)) - The HTTP server code is now an optional feature. To enable the server, add `features = ["server"]` to the dependency in your `Cargo.toml`. ([bdb5e5d6](https://togithub.com/hyperium/hyper/commit/bdb5e5d6946f4e3f8115a6b1683aff6a04df73de)) - The HTTP client of hyper is now an optional feature. To enable the client, add `features = ["client"]` to the dependency in your `Cargo.toml`. ([4e55583d](https://togithub.com/hyperium/hyper/commit/4e55583d30a597884883f1a51b678f5c57c76765)) - This puts all HTTP/1 methods and support behind an `http1` cargo feature, which will not be enabled by default. To use HTTP/1, add `features = ["http1"]` to the hyper dependency in your `Cargo.toml`. ([2a19ab74](https://togithub.com/hyperium/hyper/commit/2a19ab74ed69bc776da25544e98979c9fb6e1834)) - This puts all HTTP/2 methods and support behind an `http2` cargo feature, which will not be enabled by default. To use HTTP/2, add `features = ["http2"]` to the hyper dependency in your `Cargo.toml`. ([b819b428](https://togithub.com/hyperium/hyper/commit/b819b428d314f2203642a015545967601b8e518a)) ##### v0.13.9 (2020-11-02) ##### Bug Fixes - **client:** fix panic when addrs in ConnectingTcpRemote is empty ([#2292](https://togithub.com/hyperium/hyper/issues/2292)) ([01103da5](https://togithub.com/hyperium/hyper/commit/01103da5d9b15e2a7fdc2f1dfec2c23a890d5c16), closes [#2291](https://togithub.com/hyperium/hyper/issues/2291)) - **http2:** reschedule keep alive interval timer once a pong is received ([2a938d96](https://togithub.com/hyperium/hyper/commit/2a938d96aec62603dcb548834676ae2c71ae8be2), closes [#2310](https://togithub.com/hyperium/hyper/issues/2310)) ##### Features - **client:** - add `HttpConnector::set_local_addresses` to set both IPv6 and IPv4 local addrs ( ([fb19f3a8](https://togithub.com/hyperium/hyper/commit/fb19f3a86997af1c8a31a7d5ce6f2b018c9b5a0d)) - Add accessors to `Connected` fields ([#2290](https://togithub.com/hyperium/hyper/issues/2290)) ([2dc9768d](https://togithub.com/hyperium/hyper/commit/2dc9768d2d3884afa20c08b7cd8782c870d925d2)) ##### v0.13.8 (2020-09-18) ##### Bug Fixes - **http1:** return error if user body ends prematurely ([1ecbcbb1](https://togithub.com/hyperium/hyper/commit/1ecbcbb119e221f60d37b934b81d18493ebded1b), closes [#2263](https://togithub.com/hyperium/hyper/issues/2263)) ##### Features - **lib:** Setting `http1_writev(true)` will now force writev queue usage ([187c22af](https://togithub.com/hyperium/hyper/commit/187c22afb5a13d4fa9a3b938a1d71b11b337ac97), closes [#2282](https://togithub.com/hyperium/hyper/issues/2282)) - **server:** implement `AsRawFd` for `AddrStream` ([#2246](https://togithub.com/hyperium/hyper/issues/2246)) ([b5d5e214](https://togithub.com/hyperium/hyper/commit/b5d5e21449eb613a3c92dcced6f38d227e405594), closes [#2245](https://togithub.com/hyperium/hyper/issues/2245)) ##### v0.13.7 (2020-07-13) ##### Bug Fixes - **client:** don't panic in DNS resolution when task cancelled ([#2229](https://togithub.com/hyperium/hyper/issues/2229)) ([0d0d3635](https://togithub.com/hyperium/hyper/commit/0d0d3635476ba22e5a2b39b0e4b243f57f1f36d2)) ##### Features - **client:** impl tower_service::Service for \&Client ([#2089](https://togithub.com/hyperium/hyper/issues/2089)) ([77c3b5bc](https://togithub.com/hyperium/hyper/commit/77c3b5bc0c0d58ecd9f3c004287f65b8a94cc429)) - **http2:** configure HTTP/2 frame size in the high-level builders too ([#2214](https://togithub.com/hyperium/hyper/issues/2214)) ([2354a7ee](https://togithub.com/hyperium/hyper/commit/2354a7eec352b1f72cd8989d29d73dff211403a1)) - **lib:** Move from `log` to `tracing` in a backwards-compatible way ([#2204](https://togithub.com/hyperium/hyper/issues/2204)) ([9832aef9](https://togithub.com/hyperium/hyper/commit/9832aef9eeaeff8979354d5de04b8706ff79a233)) ##### v0.13.6 (2020-05-29) ##### Features - **body:** remove Sync bound for Body::wrap_stream ([042c7706](https://togithub.com/hyperium/hyper/commit/042c770603a212f22387807efe4fc672959df40c)) - **http2:** allow configuring the HTTP/2 frame size ([b6446456](https://togithub.com/hyperium/hyper/commit/b64464562a02a642a3cf16ea072f39621da21980)) ##### v0.13.5 (2020-04-17) ##### Bug Fixes - **server:** fix panic in Connection::graceful_shutdown ([fce3ddce](https://togithub.com/hyperium/hyper/commit/fce3ddce4671e7df439a9d8fdc469b079fc07318)) ##### v0.13.4 (2020-03-20) ##### Bug Fixes - **http1:** try to drain connection buffer if user drops Body ([d838d54f](https://togithub.com/hyperium/hyper/commit/d838d54fdf0fc4a613612f68274f3520f333dd8e)) ##### Features - **http2:** add HTTP2 keep-alive support for client and server ([9a8413d9](https://togithub.com/hyperium/hyper/commit/9a8413d91081ad5a949276f05337e984c455e251)) ##### v0.13.3 (2020-03-03) ##### Features - **client:** rename `client::Builder` pool options ([#2142](https://togithub.com/hyperium/hyper/issues/2142)) ([a82fd6c9](https://togithub.com/hyperium/hyper/commit/a82fd6c94aa4ce11fe685f9ccfb85c596d596c6e)) - **http2:** add adaptive window size support using BDP ([#2138](https://togithub.com/hyperium/hyper/issues/2138)) ([48102d61](https://togithub.com/hyperium/hyper/commit/48102d61228b592b466af273a81207e729315681)) - **server:** add `poll_peek` to `AddrStream` ([#2127](https://togithub.com/hyperium/hyper/issues/2127)) ([24d53d3f](https://togithub.com/hyperium/hyper/commit/24d53d3f66f843a6c19204cc7c52cd80e327d41a)) ##### v0.13.2 (2020-01-29) ##### Bug Fixes - **body:** return exactly 0 SizeHint for empty body ([#2122](https://togithub.com/hyperium/hyper/issues/2122)) ([dc882047](https://togithub.com/hyperium/hyper/commit/dc88204716664d12e20598c78cb87cd44c6f23af)) - **client:** strip path from Uri before calling Connector ([#2109](https://togithub.com/hyperium/hyper/issues/2109)) ([ba2a144f](https://togithub.com/hyperium/hyper/commit/ba2a144f8b81042247088215425f91760d8694a1)) - **http1:** - only send `100 Continue` if request body is polled ([c4bb4db5](https://togithub.com/hyperium/hyper/commit/c4bb4db5c219459b37d796f9aa2b3cdc93325621)) - remove panic for HTTP upgrades that have been ignored ([#2115](https://togithub.com/hyperium/hyper/issues/2115)) ([1881db63](https://togithub.com/hyperium/hyper/commit/1881db6391acc949384f8ddfcac8c82a2b133c8d), closes [#2114](https://togithub.com/hyperium/hyper/issues/2114)) - **http2:** don't add client content-length if method doesn't require it ([fb90d30c](https://togithub.com/hyperium/hyper/commit/fb90d30c02d8f7cdc9a643597d5c4ca7a123f3dd)) ##### Features - **service:** Implement Clone/Copy on ServiceFn and MakeServiceFn ([#2104](https://togithub.com/hyperium/hyper/issues/2104)) ([a5720fab](https://togithub.com/hyperium/hyper/commit/a5720fab4ced447b8ade43cc1ce8b35442ebf234)) ##### v0.13.1 (2019-12-13) ##### Bug Fixes - **http1:** fix response with non-chunked transfer-encoding to be close-delimited ([cb71d2cd](https://togithub.com/hyperium/hyper/commit/cb71d2cdbd22e538663e724916dc343430efcf29), closes [#2058](https://togithub.com/hyperium/hyper/issues/2058)) ##### Features - **body:** implement `HttpBody` for `Request` and `Response` ([4b6099c7](https://togithub.com/hyperium/hyper/commit/4b6099c7aa558e6b1fda146ce6179cb0c67858d7), closes [#2067](https://togithub.com/hyperium/hyper/issues/2067)) - **client:** expose `hyper::client::connect::Connect` trait alias ([2553ea1a](https://togithub.com/hyperium/hyper/commit/2553ea1a7ae3d11f0232a5818949146fa3f68a29)) ### [`v0.13.10`](https://togithub.com/hyperium/hyper/releases/tag/v0.13.10) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.9...v0.13.10) #### Bug Fixes - **http1:** fix server misinterpretting multiple Transfer-Encoding headers ([6d9e5f9f](https://togithub.com/hyperium/hyper/commit/6d9e5f9fd1691a0befe70b5b5be3393e45cac66a)) See https://github.com/hyperium/hyper/security/advisories/GHSA-6hfq-h8hq-87mf ### [`v0.13.9`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0139-2020-11-02) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.8...v0.13.9) ##### Bug Fixes - **client:** fix panic when addrs in ConnectingTcpRemote is empty ([#2292](https://togithub.com/hyperium/hyper/issues/2292)) ([01103da5](https://togithub.com/hyperium/hyper/commit/01103da5d9b15e2a7fdc2f1dfec2c23a890d5c16), closes [#2291](https://togithub.com/hyperium/hyper/issues/2291)) - **http2:** reschedule keep alive interval timer once a pong is received ([2a938d96](https://togithub.com/hyperium/hyper/commit/2a938d96aec62603dcb548834676ae2c71ae8be2), closes [#2310](https://togithub.com/hyperium/hyper/issues/2310)) ##### Features - **client:** - add `HttpConnector::set_local_addresses` to set both IPv6 and IPv4 local addrs ( ([fb19f3a8](https://togithub.com/hyperium/hyper/commit/fb19f3a86997af1c8a31a7d5ce6f2b018c9b5a0d)) - Add accessors to `Connected` fields ([#2290](https://togithub.com/hyperium/hyper/issues/2290)) ([2dc9768d](https://togithub.com/hyperium/hyper/commit/2dc9768d2d3884afa20c08b7cd8782c870d925d2)) ### [`v0.13.8`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0138-2020-09-18) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.7...v0.13.8) ##### Bug Fixes - **http1:** return error if user body ends prematurely ([1ecbcbb1](https://togithub.com/hyperium/hyper/commit/1ecbcbb119e221f60d37b934b81d18493ebded1b), closes [#2263](https://togithub.com/hyperium/hyper/issues/2263)) ##### Features - **lib:** Setting `http1_writev(true)` will now force writev queue usage ([187c22af](https://togithub.com/hyperium/hyper/commit/187c22afb5a13d4fa9a3b938a1d71b11b337ac97), closes [#2282](https://togithub.com/hyperium/hyper/issues/2282)) - **server:** implement `AsRawFd` for `AddrStream` ([#2246](https://togithub.com/hyperium/hyper/issues/2246)) ([b5d5e214](https://togithub.com/hyperium/hyper/commit/b5d5e21449eb613a3c92dcced6f38d227e405594), closes [#2245](https://togithub.com/hyperium/hyper/issues/2245)) ### [`v0.13.7`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0137-2020-07-13) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.6...v0.13.7) ##### Bug Fixes - **client:** don't panic in DNS resolution when task cancelled ([#2229](https://togithub.com/hyperium/hyper/issues/2229)) ([0d0d3635](https://togithub.com/hyperium/hyper/commit/0d0d3635476ba22e5a2b39b0e4b243f57f1f36d2)) ##### Features - **client:** impl tower_service::Service for \&Client ([#2089](https://togithub.com/hyperium/hyper/issues/2089)) ([77c3b5bc](https://togithub.com/hyperium/hyper/commit/77c3b5bc0c0d58ecd9f3c004287f65b8a94cc429)) - **http2:** configure HTTP/2 frame size in the high-level builders too ([#2214](https://togithub.com/hyperium/hyper/issues/2214)) ([2354a7ee](https://togithub.com/hyperium/hyper/commit/2354a7eec352b1f72cd8989d29d73dff211403a1)) - **lib:** Move from `log` to `tracing` in a backwards-compatible way ([#2204](https://togithub.com/hyperium/hyper/issues/2204)) ([9832aef9](https://togithub.com/hyperium/hyper/commit/9832aef9eeaeff8979354d5de04b8706ff79a233)) ### [`v0.13.6`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0136-2020-05-29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.5...v0.13.6) ##### Features - **body:** remove Sync bound for Body::wrap_stream ([042c7706](https://togithub.com/hyperium/hyper/commit/042c770603a212f22387807efe4fc672959df40c)) - **http2:** allow configuring the HTTP/2 frame size ([b6446456](https://togithub.com/hyperium/hyper/commit/b64464562a02a642a3cf16ea072f39621da21980)) ### [`v0.13.5`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0135-2020-04-17) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.4...v0.13.5) ##### Bug Fixes - **server:** fix panic in Connection::graceful_shutdown ([fce3ddce](https://togithub.com/hyperium/hyper/commit/fce3ddce4671e7df439a9d8fdc469b079fc07318)) ### [`v0.13.4`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0134-2020-03-20) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.3...v0.13.4) ##### Bug Fixes - **http1:** try to drain connection buffer if user drops Body ([d838d54f](https://togithub.com/hyperium/hyper/commit/d838d54fdf0fc4a613612f68274f3520f333dd8e)) ##### Features - **http2:** add HTTP2 keep-alive support for client and server ([9a8413d9](https://togithub.com/hyperium/hyper/commit/9a8413d91081ad5a949276f05337e984c455e251)) ### [`v0.13.3`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0133-2020-03-03) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.2...v0.13.3) ##### Features - **client:** rename `client::Builder` pool options ([#2142](https://togithub.com/hyperium/hyper/issues/2142)) ([a82fd6c9](https://togithub.com/hyperium/hyper/commit/a82fd6c94aa4ce11fe685f9ccfb85c596d596c6e)) - **http2:** add adaptive window size support using BDP ([#2138](https://togithub.com/hyperium/hyper/issues/2138)) ([48102d61](https://togithub.com/hyperium/hyper/commit/48102d61228b592b466af273a81207e729315681)) - **server:** add `poll_peek` to `AddrStream` ([#2127](https://togithub.com/hyperium/hyper/issues/2127)) ([24d53d3f](https://togithub.com/hyperium/hyper/commit/24d53d3f66f843a6c19204cc7c52cd80e327d41a)) ### [`v0.13.2`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0132-2020-01-29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.1...v0.13.2) ##### Bug Fixes - **body:** return exactly 0 SizeHint for empty body ([#2122](https://togithub.com/hyperium/hyper/issues/2122)) ([dc882047](https://togithub.com/hyperium/hyper/commit/dc88204716664d12e20598c78cb87cd44c6f23af)) - **client:** strip path from Uri before calling Connector ([#2109](https://togithub.com/hyperium/hyper/issues/2109)) ([ba2a144f](https://togithub.com/hyperium/hyper/commit/ba2a144f8b81042247088215425f91760d8694a1)) - **http1:** - only send `100 Continue` if request body is polled ([c4bb4db5](https://togithub.com/hyperium/hyper/commit/c4bb4db5c219459b37d796f9aa2b3cdc93325621)) - remove panic for HTTP upgrades that have been ignored ([#2115](https://togithub.com/hyperium/hyper/issues/2115)) ([1881db63](https://togithub.com/hyperium/hyper/commit/1881db6391acc949384f8ddfcac8c82a2b133c8d), closes [#2114](https://togithub.com/hyperium/hyper/issues/2114)) - **http2:** don't add client content-length if method doesn't require it ([fb90d30c](https://togithub.com/hyperium/hyper/commit/fb90d30c02d8f7cdc9a643597d5c4ca7a123f3dd)) ##### Features - **service:** Implement Clone/Copy on ServiceFn and MakeServiceFn ([#2104](https://togithub.com/hyperium/hyper/issues/2104)) ([a5720fab](https://togithub.com/hyperium/hyper/commit/a5720fab4ced447b8ade43cc1ce8b35442ebf234)) ### [`v0.13.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0131-2019-12-13) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.13.0...v0.13.1) ##### Bug Fixes - **http1:** fix response with non-chunked transfer-encoding to be close-delimited ([cb71d2cd](https://togithub.com/hyperium/hyper/commit/cb71d2cdbd22e538663e724916dc343430efcf29), closes [#2058](https://togithub.com/hyperium/hyper/issues/2058)) ##### Features - **body:** implement `HttpBody` for `Request` and `Response` ([4b6099c7](https://togithub.com/hyperium/hyper/commit/4b6099c7aa558e6b1fda146ce6179cb0c67858d7), closes [#2067](https://togithub.com/hyperium/hyper/issues/2067)) - **client:** expose `hyper::client::connect::Connect` trait alias ([2553ea1a](https://togithub.com/hyperium/hyper/commit/2553ea1a7ae3d11f0232a5818949146fa3f68a29)) ### [`v0.13.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v0130-2019-12-10) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.12.36...v0.13.0) ##### Bug Fixes - **client:** - fix polling dispatch channel after it has closed ([039281b8](https://togithub.com/hyperium/hyper/commit/039281b89cf1ab54a0ecc10c5e7fee56d4da0cf4)) - fix panic from unreachable code ([e6027bc0](https://togithub.com/hyperium/hyper/commit/e6027bc02db92d1137c54a26eef2e1cb4d810e25)) - **dependencies:** require correct bytes minimum version ([#1975](https://togithub.com/hyperium/hyper/issues/1975)) ([536b1e18](https://togithub.com/hyperium/hyper/commit/536b1e184e9704f50716cf10bf9d4e11a79337da)) - **server:** - change `Builder` window size methods to be by-value ([a22dabd0](https://togithub.com/hyperium/hyper/commit/a22dabd0935e5471fb6b7e511fc9c585ced0a53a), closes [#1814](https://togithub.com/hyperium/hyper/issues/1814)) - ignore expect-continue with no body in debug mode ([ca5836f1](https://togithub.com/hyperium/hyper/commit/ca5836f1ece7c4a67172bcbe72745cb49e8951b0), closes [#1843](https://togithub.com/hyperium/hyper/issues/1843)) - Remove unneeded `'static` bound of `Service` on `Connection` ([#1971](https://togithub.com/hyperium/hyper/issues/1971)) ([4d147126](https://togithub.com/hyperium/hyper/commit/4d14712643e4c2ba235a569bb5d9e3099101c1a1)) ##### Features - **body:** - change `Sender::send_data` to an `async fn`. ([62a96c07](https://togithub.com/hyperium/hyper/commit/62a96c077b85792fbf6eb080ec8fec646c47e385)) - require `Sync` when wrapping a dynamic `Stream` ([44413721](https://togithub.com/hyperium/hyper/commit/4441372121e8b278ac773ddd4e408a642dadf2d8)) - add `body::aggregate` and `body::to_bytes` functions ([8ba9a8d2](https://togithub.com/hyperium/hyper/commit/8ba9a8d2c4bab0f44b3f94a326b3b91c82d7877e)) - replace `Chunk` type with `Bytes` ([5a598757](https://togithub.com/hyperium/hyper/commit/5a59875742500672f253719c1e1a16b4eddfacc7), closes [#1931](https://togithub.com/hyperium/hyper/issues/1931)) - replace the `Payload` trait with `HttpBody` ([c63728eb](https://togithub.com/hyperium/hyper/commit/c63728eb38182ad2f93edd729dbf50f3d5c40479)) - **client:** - impl tower_service::Service for Client ([edbd10ac](https://togithub.com/hyperium/hyper/commit/edbd10ac96c5cc6dbeca80ada80f143dbd13d118)) - provide tower::Service support for clients ([#1915](https://togithub.com/hyperium/hyper/issues/1915)) ([eee2a728](https://togithub.com/hyperium/hyper/commit/eee2a728797346f8c96c15c5958a05432a4e4453)) - change connectors to return an `impl Connection` ([4d7a2266](https://togithub.com/hyperium/hyper/commit/4d7a2266b88b2c5c92231bcd2bd75d5842198add)) - remove `Destination` for `http::Uri` in connectors ([319e8aee](https://togithub.com/hyperium/hyper/commit/319e8aee1571d8d3639b3259e7a1edb964e6a26c)) - filter remote IP addresses by family of given local IP address ([131962c8](https://togithub.com/hyperium/hyper/commit/131962c86ab0a31c2413261cf4532eca88d67dcb)) - change `Resolve` to be `ServiceConfiguration
π Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.