anguslees / kubernetes-rs

Kubernetes API client library for Rust
Apache License 2.0
66 stars 4 forks source link

Update Rust crate hyper to 0.14 [SECURITY] - abandoned #44

Open renovate[bot] opened 2 years ago

renovate[bot] commented 2 years ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
hyper (source) dependencies minor 0.12 -> 0.14
hyper (source) dev-dependencies minor 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 such Content-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:

GET / HTTP/1.1
Host: example.com
Content-Length: +3

abc

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 for DIGITs. This is due to using the FromStr implementation for u64 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 the Content-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:

Patches

We have released the following patch versions:

Workarounds

Besides upgrading hyper, you can take the following options:

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:

GET / HTTP/1.1
Host: example.com
Transfer-Encoding: chunked

f0000000000000003
abc
0

hyper only reads the rightmost 64-bit integer as the chunk size. So it reads f0000000000000003 as 3. 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:

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 type httparse::Header (from the httparse crate). This is unsound, since Header contains references and thus must be non-null.

The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit 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 `Service` ([9d9233ce](https://togithub.com/hyperium/hyper/commit/9d9233ce7ceddb0fa6f5e725b0a781929add3c58), closes [#​1903](https://togithub.com/hyperium/hyper/issues/1903)) - change `Connect` trait into an alias for `Service` ([d67e49f1](https://togithub.com/hyperium/hyper/commit/d67e49f1491327a78f804bab32804dc6c73d2974), closes [#​1902](https://togithub.com/hyperium/hyper/issues/1902)) - change `GaiResolver` to use a global blocking threadpool ([049b5132](https://togithub.com/hyperium/hyper/commit/049b5132dbb6199a32e1795d005003f99d0e0b74)) - Add connect timeout to HttpConnector ([#​1972](https://togithub.com/hyperium/hyper/issues/1972)) ([4179297a](https://togithub.com/hyperium/hyper/commit/4179297ac9805af8f84d54525e089ff3f19008ab)) - **lib:** - update to `std::future::Future` ([8f4b05ae](https://togithub.com/hyperium/hyper/commit/8f4b05ae78567dfc52236bc83d7be7b7fc3eebb0)) - add optional `tcp` feature, split from `runtime` ([5b348b82](https://togithub.com/hyperium/hyper/commit/5b348b821c3f43d8dd71179862190932fcca6a1c)) - make `Stream` trait usage optional behind the `stream` feature, enabled by default ([0b03b730](https://togithub.com/hyperium/hyper/commit/0b03b730531654b1b5f632099386ab27c94eb9f4), closes [#​2034](https://togithub.com/hyperium/hyper/issues/2034)) - update Tokio, bytes, http, h2, and http-body ([cb3f39c2](https://togithub.com/hyperium/hyper/commit/cb3f39c2dc6340060f6b17f354f04c872a947574)) - **rt:** introduce `rt::Executor` trait ([6ae5889f](https://togithub.com/hyperium/hyper/commit/6ae5889f8378b6454d4dc620f33bd1678d0e00e4), closes [#​1944](https://togithub.com/hyperium/hyper/issues/1944)) - **server:** - introduce `Accept` trait ([b3e55062](https://togithub.com/hyperium/hyper/commit/b3e5506261c33dcaca39a126e891a0b9d5df5eea)) - give `Server::local_addr` a more general type ([3cc93e79](https://togithub.com/hyperium/hyper/commit/3cc93e796aad59b3996fc26b8839a783e0307925)) - change `http1_half_close` option default to disabled ([7e31fd88](https://togithub.com/hyperium/hyper/commit/7e31fd88a86ac032d05670ba4e293e3e5fcccbaf)) - **service:** - use tower_service::Service for hyper::service ([ec520d56](https://togithub.com/hyperium/hyper/commit/ec520d5602d819fd92f497cc230df436c1a39eb0)) - rename `Service` to `HttpService`, re-export `tower::Service` ([4f274399](https://togithub.com/hyperium/hyper/commit/4f2743991c227836c3886778512afe1297df3e5b), closes [#​1959](https://togithub.com/hyperium/hyper/issues/1959)) ##### Breaking Changes - All usage of async traits (`Future`, `Stream`, `AsyncRead`, `AsyncWrite`, etc) are updated to newer versions. ([8f4b05ae](https://togithub.com/hyperium/hyper/commit/8f4b05ae78567dfc52236bc83d7be7b7fc3eebb0)) - All usage of `hyper::Chunk` should be replaced with `bytes::Bytes` (or `hyper::body::Bytes`). ([5a598757](https://togithub.com/hyperium/hyper/commit/5a59875742500672f253719c1e1a16b4eddfacc7)) - Using a `Body` as a `Stream`, and constructing one via `Body::wrap_stream`, require enabling the `stream` feature. ([511ea388](https://togithub.com/hyperium/hyper/commit/511ea3889b5cceccb3a42aa72465fe38adef71a4)) - Calls to `GaiResolver::new` and `HttpConnector::new` no longer should pass an integer argument for the number of threads. ([049b5132](https://togithub.com/hyperium/hyper/commit/049b5132dbb6199a32e1795d005003f99d0e0b74)) - Connectors no longer return a tuple of `(T, Connected)`, but a single `T: Connection`. ([4d7a2266](https://togithub.com/hyperium/hyper/commit/4d7a2266b88b2c5c92231bcd2bd75d5842198add)) - All usage of `hyper::c

Configuration

πŸ“… 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.

renovate[bot] commented 1 year ago

Edited/Blocked Notification

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.

renovate[bot] commented 8 months ago

Autoclosing Skipped

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.