-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start http1 header read timeout even when 0 bytes are read #3305
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jeromegn
force-pushed
the
http1-read-timeout-fix
branch
from
September 6, 2023 12:29
436aee5
to
c2c99b8
Compare
FWIW, this sounds very similar to this other PR, which I paused because of the follow comment: #3185 (comment). |
seanmonstar
approved these changes
Jun 3, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, this is much wiser. If browsers cannot handle this with preconnects, they should stop looking like bad actors.
maxdeviant
referenced
this pull request
in zed-industries/zed
Aug 8, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | patch | `0.14.27` -> `0.14.30` | --- ### Release Notes <details> <summary>hyperium/hyper (hyper)</summary> ### [`v0.14.30`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.30) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v0.14.30) #### Bug Fixes - **http1:** reject final chunked if missing 0 ([4a51b2af](https://togithub.com/hyperium/hyper/commit/4a51b2afefcc1373c2a5b834fa0ae8d935dbff46)) ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) #### Bug Fixes - **http1:** start header read timeout immediately ([#​3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) #### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#​3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) #### New Contributors - [@​jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: hyperium/hyper@v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#​3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#​3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#​3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#​3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#​3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#​3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@​bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@​gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
convex-copybara bot
referenced
this pull request
in get-convex/convex-backend
Aug 14, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [http](https://togithub.com/hyperium/http) | workspace.dependencies | major | `0.2.8` -> `1.0.0` | | [http-body](https://togithub.com/hyperium/http-body) | workspace.dependencies | major | `0.4` -> `1.0` | | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | major | `0.14.16` -> `1.0.0` | --- ### Release Notes <details> <summary>hyperium/http (http)</summary> ### [`v1.1.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#110-March-4-2024) [Compare Source](https://togithub.com/hyperium/http/compare/v1.0.0...v1.1.0) - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Add `Extensions::get_or_insert()` method. - Implement `From<Uri>` for `uri::Builder`. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v1.0.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#100-November-15-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.12...v1.0.0) - Implement `Clone` for `Request`, `Response`, and `Extensions`. This breaking change requires that all extensions now implement `Clone`. - Add a default-on `std` feature. Disabling it currently is not supported. - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.12`](https://togithub.com/hyperium/http/releases/tag/v0.2.12) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.11...v0.2.12) #### What's Changed - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v0.2.11`](https://togithub.com/hyperium/http/releases/tag/v0.2.11) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.10...v0.2.11) #### What's Changed - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.10`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#0210-November-10-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.9...v0.2.10) - Fix parsing of `Authority` to handle square brackets in incorrect order. - Fix `HeaderMap::with_capacity()` to handle arithmetic overflow. </details> <details> <summary>hyperium/http-body (http-body)</summary> ### [`v1.0.0`](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) ### [`v0.4.6`](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) </details> <details> <summary>hyperium/hyper (hyper)</summary> ### [`v1.3.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v131-2024-04-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.3.0...v1.3.1) ##### Bug Fixes - **client:** revert auto content-length header for some requests ([#​3633](https://togithub.com/hyperium/hyper/issues/3633)) ### [`v1.3.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v130-2024-04-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.2.0...v1.3.0) ##### Bug Fixes - **client:** send content-length even with no body ([172fdfaf](https://togithub.com/hyperium/hyper/commit/172fdfaf0e0d9222917f271a83339238082e2657)) - **http2:** - `max_header_list_size(num)` defaults to 16kb ([203d1b09](https://togithub.com/hyperium/hyper/commit/203d1b090d0d0349c7e373e881ac4ddba72129be)) - `initial_max_send_streams` defaults to 100 ([2d1bd708](https://togithub.com/hyperium/hyper/commit/2d1bd7085e37a55ed6393f0e3f1b9a0b06db4d5d)) - **server:** - avoid unwrapping for the `Future` impl of HTTP/1 `UpgradeableConnection` ([#​3627](https://togithub.com/hyperium/hyper/issues/3627)) ([b79be911](https://togithub.com/hyperium/hyper/commit/b79be911696f6a93e8d408080ebbf558b612ce3c), closes [#​3621](https://togithub.com/hyperium/hyper/issues/3621)) - avoid `graceful_shutdown` panic on upgraded H1 connection ([#​3616](https://togithub.com/hyperium/hyper/issues/3616)) ([6ecf8521](https://togithub.com/hyperium/hyper/commit/6ecf85218fb24531184c53d5ed0eb7caf13cdcef)) ##### Features - **client:** - add `max_header_list_size(num)` to `http2::Builder`. ([1c5b1b87](https://togithub.com/hyperium/hyper/commit/1c5b1b87ae1497a702e30ea82a486fb61a3f8133)) - add `max_pending_accept_reset_streams` HTTP2 option ([#​3617](https://togithub.com/hyperium/hyper/issues/3617)) ([330ddf1d](https://togithub.com/hyperium/hyper/commit/330ddf1de1ca2841469d30d24143902e5ff06365)) - **ext:** implement From ReasonPhrase for Bytes ([dc27043a](https://togithub.com/hyperium/hyper/commit/dc27043aa319c0e630b7385a36aca0f3bee70670)) - **service:** expose Service and HttpService trait unconditionally ([6aee2e6e](https://togithub.com/hyperium/hyper/commit/6aee2e6e260e7d407256d6b7da6a0d90c1bb9c67)) - **server:** relax `'static` from connection IO trait bounds ([#​3595](https://togithub.com/hyperium/hyper/issues/3595)) ([0013bdda](https://togithub.com/hyperium/hyper/commit/0013bdda5cd34ed6fca089eceb0133395b7be041)) ### [`v1.2.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v120-2024-02-21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.1.0...v1.2.0) ##### Bug Fixes - **http2:** typo in trace logging ([#​3536](https://togithub.com/hyperium/hyper/issues/3536)) ([79862ec2](https://togithub.com/hyperium/hyper/commit/79862ec2e84c32122c820958ceec06d8b7701ff7)) - **rt:** `Sleep::downcast_mut_pin()` no longer extend lifetime ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671), closes [#​3556](https://togithub.com/hyperium/hyper/issues/3556)) ##### Features - **http1:** support configurable `max_headers(num)` to client and server ([#​3523](https://togithub.com/hyperium/hyper/issues/3523)) ([b1142448](https://togithub.com/hyperium/hyper/commit/b114244898828e9fb254bea1f0bbdd24850b2f3f)) - **http2:** - add config for `max_local_error_reset_streams` in server ([#​3530](https://togithub.com/hyperium/hyper/issues/3530)) ([d7680e30](https://togithub.com/hyperium/hyper/commit/d7680e30e48926a5a3f94a0986d39181d5ab2218)) - add `initial_max_send_streams` method to HTTP/2 client builder ([#​3524](https://togithub.com/hyperium/hyper/issues/3524)) ([fdfa60d9](https://togithub.com/hyperium/hyper/commit/fdfa60d9fafb8a6bfb40acc4042ee54a2b9aad32)) - add `max_pending_accept_reset_streams(num)` back to HTTP/2 server builder ([#​3507](https://togithub.com/hyperium/hyper/issues/3507) ([a9fa893f](https://togithub.com/hyperium/hyper/commit/a9fa893f18c6409abae2e1dcbba0f4487df54d4f)) ##### Breaking Changes - The returned lifetime from `Sleep::downcast_mut_pin()` is no longer `'static`. This shouldn't affect most usage. This sort of breaking change is needed because it is *wrong*. ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671)) ### [`v1.1.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v110-2023-12-18) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.1...v1.1.0) ##### Bug Fixes - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([d71ff962](https://togithub.com/hyperium/hyper/commit/d71ff962b08aca2f1c9c1724dfdab5bc1ec6ecd2)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([82915386](https://togithub.com/hyperium/hyper/commit/829153865a4d2bbb52227183c8857e57dc3e231b)) ##### Features - **client:** add `http1::Connection` `without_shutdown()` method ([#​3430](https://togithub.com/hyperium/hyper/issues/3430)) ([210bfaa7](https://togithub.com/hyperium/hyper/commit/210bfaa711b5da1f6756582a2e4bc3e229924800)) - **http1:** Add support for sending HTTP/1.1 Chunked Trailer Fields ([#​3375](https://togithub.com/hyperium/hyper/issues/3375)) ([31b41807](https://togithub.com/hyperium/hyper/commit/31b41807523370f3efbf47ba16c9e1c193b6335a), closes [#​2719](https://togithub.com/hyperium/hyper/issues/2719)) - **server:** expose `server::conn::http1::UpgradeableConnection` ([#​3457](https://togithub.com/hyperium/hyper/issues/3457)) ([6e3042a8](https://togithub.com/hyperium/hyper/commit/6e3042a86f10359624857d31bc9e876f521aee42)) ##### v1.0.1 (2023-11-16) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v101-2023-11-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.0...v1.0.1) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v100-2023-11-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v1.0.0) Be sure to check out the [upgrading guide](https://hyper.rs/guides/1/upgrading). ##### Bug Fixes - **client:** - avoid double-polling a Select future ([#​3290](https://togithub.com/hyperium/hyper/issues/3290)) ([fece9f7f](https://togithub.com/hyperium/hyper/commit/fece9f7f50431cf9533cfe7106b53a77b48db699), closes [#​3289](https://togithub.com/hyperium/hyper/issues/3289)) - early server response shouldn't propagate NO_ERROR ([#​3275](https://togithub.com/hyperium/hyper/issues/3275)) ([194e6f98](https://togithub.com/hyperium/hyper/commit/194e6f984763f5dc1c376082170a85cc4db40ce4), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - remove Send bounds for request `Body` ([#​3266](https://togithub.com/hyperium/hyper/issues/3266)) ([4ace340b](https://togithub.com/hyperium/hyper/commit/4ace340bb00a2ffe8ec93e4955989eb69f29d531), closes [#​3184](https://togithub.com/hyperium/hyper/issues/3184)) - **ffi:** fix deadlock in `hyper_executor::poll_next` ([#​3370](https://togithub.com/hyperium/hyper/issues/3370)) ([0c7d03ef](https://togithub.com/hyperium/hyper/commit/0c7d03eff2f2433e4f4a0a768009d97e1a7858fd), closes [#​3369](https://togithub.com/hyperium/hyper/issues/3369)) - **http2:** - don't send keep-alive ping when idle ([#​3381](https://togithub.com/hyperium/hyper/issues/3381)) ([429ad8a3](https://togithub.com/hyperium/hyper/commit/429ad8a34b20a877b4d17df1f4991a193f4a56f0)) - change default server max concurrent streams to 200 ([#​3362](https://togithub.com/hyperium/hyper/issues/3362)) ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12), closes [#​3358](https://togithub.com/hyperium/hyper/issues/3358)) - **server:** Respect Expect header only when http proto > 1.0 ([#​3294](https://togithub.com/hyperium/hyper/issues/3294)) ([43d2f5c6](https://togithub.com/hyperium/hyper/commit/43d2f5c6cfd575f7259a5b3684f7e99cedbd0edb)) ##### Features - **client:** allow `!Send` IO with HTTP/1 client ([#​3371](https://togithub.com/hyperium/hyper/issues/3371)) ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b), closes [#​3363](https://togithub.com/hyperium/hyper/issues/3363)) - **error:** - `Error::source()` is purposefully unspecified ([#​3318](https://togithub.com/hyperium/hyper/issues/3318)) ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6), closes [#​2843](https://togithub.com/hyperium/hyper/issues/2843)) - change `Display for Error` to only print top error ([#​3312](https://togithub.com/hyperium/hyper/issues/3312)) ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c), closes [#​2844](https://togithub.com/hyperium/hyper/issues/2844)) - **ext:** - make `ReasonPhrase::from_static` a const fn ([d4a61e3d](https://togithub.com/hyperium/hyper/commit/d4a61e3da87a08a25772cd3aa2f503cb4346c81f)) - remove `ReasonPhrase::from_bytes_unchecked()` method ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) - **lib:** - update to `http` 1.0 ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - missing Timer will warn or panic ([f3308c04](https://togithub.com/hyperium/hyper/commit/f3308c044d402dfad448bbc0497b14c69a8f22f2), closes [#​3393](https://togithub.com/hyperium/hyper/issues/3393)) - increase MSRV to 1.63 ([#​3293](https://togithub.com/hyperium/hyper/issues/3293)) ([e68dc961](https://togithub.com/hyperium/hyper/commit/e68dc961a7dad0a96e16898b0da234927564c079)) - **rt:** rename to `Http2ClientConnExec` and `Http2ServerConnExec` ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - **server:** default `http1` `header_read_timeout` to 30 seconds ([8bf26d1e](https://togithub.com/hyperium/hyper/commit/8bf26d1e394a8f207debe45445a5fb85cc349238)) - **upgrade:** introduce tracing as an optional unstable feature ([#​3326](https://togithub.com/hyperium/hyper/issues/3326)) ([da3fc76c](https://togithub.com/hyperium/hyper/commit/da3fc76c06b6caa60f6abc1da570d56d7c8fa468), closes [#​3319](https://togithub.com/hyperium/hyper/issues/3319)) ##### Breaking Changes - Upgrade to `http` 1.0. ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - (From previous RCs) `ExecutorClient` is renamed to `Http2ClientConnExec`, and `Http2ConnExec` is renamed to `Http2ServerConnExec`. ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - If you use client HTTP/1 upgrades, you must call `Connection::with_upgrades()` to still work the same. ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b)) - HTTP/2 server builder now has a default max concurrent streams. This is a behavior change. Consider setting your own maximum. ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12)) - Do not build any logic depending on the exact types of an `Error::source()`. They are only for debugging. ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6)) - The format no longer prints the error chain. Be sure to check if you are logging errors directly. The `Error::message()` method is removed, it is no longer needed. The `Error::into_cause()` method is removed. ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c)) - The `ReasonPhrase::from_bytes_unchecked()` method is gone. Use `from_static()` or `TryFrom` to construct one. ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) ##### v1.0.0-rc.4 (2023-07-10) ##### Bug Fixes - **http1:** - http1 server graceful shutdown fix ([#​3261](https://togithub.com/hyperium/hyper/issues/3261)) ([f4b51300](https://togithub.com/hyperium/hyper/commit/f4b513009d81083081d1c60c1981847bbb17dd5d)) - send error on Incoming body when connection errors ([#​3256](https://togithub.com/hyperium/hyper/issues/3256)) ([52f19259](https://togithub.com/hyperium/hyper/commit/52f192593fb9ebcf6d3894e0c85cbf710da4decd), closes [#​3253](https://togithub.com/hyperium/hyper/issues/3253)) - properly end chunked bodies when it was known to be empty ([#​3254](https://togithub.com/hyperium/hyper/issues/3254)) ([fec64cf0](https://togithub.com/hyperium/hyper/commit/fec64cf0abdc678e30ca5f1b310c5118b2e01999), closes [#​3252](https://togithub.com/hyperium/hyper/issues/3252)) ##### Features - **client:** Make clients able to use non-Send executor ([#​3184](https://togithub.com/hyperium/hyper/issues/3184)) ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc), closes [#​3017](https://togithub.com/hyperium/hyper/issues/3017)) - **rt:** - replace IO traits with hyper::rt ones ([#​3230](https://togithub.com/hyperium/hyper/issues/3230)) ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2), closes [#​3110](https://togithub.com/hyperium/hyper/issues/3110)) - add downcast on `Sleep` trait ([#​3125](https://togithub.com/hyperium/hyper/issues/3125)) ([d92d3917](https://togithub.com/hyperium/hyper/commit/d92d3917d950e4c61c37c2170f3ce273d2a0f7d1), closes [#​3027](https://togithub.com/hyperium/hyper/issues/3027)) - **service:** change Service::call to take \&self ([#​3223](https://togithub.com/hyperium/hyper/issues/3223)) ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02), closes [#​3040](https://togithub.com/hyperium/hyper/issues/3040)) ##### Breaking Changes - Any IO transport type provided must not implement `hyper::rt::{Read, Write}` instead of `tokio::io` traits. You can grab a helper type from `hyper-util` to wrap Tokio types, or implement the traits yourself, if it's a custom type. ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2)) - `client::conn::http2` types now use another generic for an `Executor`. Code that names `Connection` needs to include the additional generic parameter. ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc)) - The Service::call function no longer takes a mutable reference to self. The FnMut trait bound on the service::util::service_fn function and the trait bound on the impl for the ServiceFn struct were changed from FnMut to Fn. ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02)) ##### v1.0.0-rc.3 (2023-02-23) ##### Bug Fixes - **server:** prevent sending 100-continue if user drops request body ([#​3137](https://togithub.com/hyperium/hyper/issues/3137)) ([499fe1f9](https://togithub.com/hyperium/hyper/commit/499fe1f949895218c4fd2305a0eddaf24f1dd0a9)) ##### Features - **client:** - add `is_ready()` and `is_closed()` methods to `SendRequest` ([#​3148](https://togithub.com/hyperium/hyper/issues/3148)) ([3fb59919](https://togithub.com/hyperium/hyper/commit/3fb59919941d3145be6d84dab85d222ea0e7664b)) - `http2` builder now requires an `Executor` ([#​3135](https://togithub.com/hyperium/hyper/issues/3135)) ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503), closes [#​3128](https://togithub.com/hyperium/hyper/issues/3128)) - remove unneeded HTTP/1 executor ([#​3108](https://togithub.com/hyperium/hyper/issues/3108)) ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) - **rt:** make private executor traits public (but sealed) in `rt::bounds` ([#​3127](https://togithub.com/hyperium/hyper/issues/3127)) ([fc9f3070](https://togithub.com/hyperium/hyper/commit/fc9f30701a159772d0c014de47d16798502bae2c), closes [#​2051](https://togithub.com/hyperium/hyper/issues/2051), [#​3097](https://togithub.com/hyperium/hyper/issues/3097)) ##### Breaking Changes - `hyper::client::conn::Http2::Builder::new` now requires an executor argument. ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503)) - The method `hyper::client::conn::http1::Builder::executor()` is removed, since it did nothing. ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) ##### v1.0.0-rc.2 (2022-12-29) ##### Bug Fixes - **client:** send an error back to client when dispatch misbehaves () ([75aac9f4](https://togithub.com/hyperium/hyper/commit/75aac9f47fe0246016e6133cd3cfa35b63c8904e), closes [#​2649](https://togithub.com/hyperium/hyper/issues/2649)) - **http2:** Fix race condition in client dispatcher ([#​3041](https://togithub.com/hyperium/hyper/issues/3041)) ([f202230c](https://togithub.com/hyperium/hyper/commit/f202230c6fa274f6a4e6cbaad57ca59beb0a5125)) ##### Features - **body:** upgrade to http-body 1.0.0-rc.2 ([#​3106](https://togithub.com/hyperium/hyper/issues/3106)) ([51b45e3f](https://togithub.com/hyperium/hyper/commit/51b45e3f8580da5667a45395e6622455b10e2ad3)) - **client:** - remove http2\_ prefixes from `client::conn::http2::Builder` methods ([669df217](https://togithub.com/hyperium/hyper/commit/669df2173e059544fbaded0d666c5bfc113eaa0e)) - remove http1\_ prefixes from `client::conn::http1::Builder` methods ([4cbaef79](https://togithub.com/hyperium/hyper/commit/4cbaef79f0ec03643c09e4e6fbbed23bf589e548)) - implement `Clone` for `http2::SendRequest` ([#​3042](https://togithub.com/hyperium/hyper/issues/3042)) ([00ea49e4](https://togithub.com/hyperium/hyper/commit/00ea49e47a565748a4e4657f7047dca5851f8b7a), closes [#​3036](https://togithub.com/hyperium/hyper/issues/3036)) - allow ignoring HTTP/1 invalid header lines in requests ([81e25fa8](https://togithub.com/hyperium/hyper/commit/81e25fa868c86e4ea81d5a96fdca497a4b1ab3c1)) - **rt:** Clean up Timer trait ([#​3037](https://togithub.com/hyperium/hyper/issues/3037)) ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310), closes [#​3028](https://togithub.com/hyperium/hyper/issues/3028)) - **server:** - remove http1\_ method prefixes from `server::conn::http2::Builder` ([291ed0b4](https://togithub.com/hyperium/hyper/commit/291ed0b49bc7fd6f43890815cdf93aaefaf59011)) - remove http1\_ method prefixes from `server::conn::http2::Builder` ([48e70c69](https://togithub.com/hyperium/hyper/commit/48e70c691e44d5e37d4b51fe8980f76d27c989b3)) - remove `server::conn::http2::Builder::with_executor()` ([#​3089](https://togithub.com/hyperium/hyper/issues/3089)) ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8), closes [#​3087](https://togithub.com/hyperium/hyper/issues/3087)) ##### Breaking Changes - removes `server::conn::http2::Builder::with_executor()` ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8)) - The return types of `Timer` have been changed. ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310)) - The return types for `Frame::into_data()` and `Frame::into_trailers()` have been changed from `Option<T>` to `Result<T, Self>`. ##### v1.0.0-rc.1 (2022-10-25) ##### Bug Fixes - **http1:** - trim obs-folded headers when unfolding ([#​2926](https://togithub.com/hyperium/hyper/issues/2926)) ([d4b5bd4e](https://togithub.com/hyperium/hyper/commit/d4b5bd4ee6af0ae8924cf05ab799cc3e19a3c62d)) ##### Features - **body:** - rename `Body` struct to `Incoming` ([#​3022](https://togithub.com/hyperium/hyper/issues/3022)) ([95a153bb](https://togithub.com/hyperium/hyper/commit/95a153bbc2717bd4233486e09848622ceb900574), closes [#​2971](https://togithub.com/hyperium/hyper/issues/2971)) - update `HttpBody` trait to use `Frame`s ([#​3020](https://togithub.com/hyperium/hyper/issues/3020)) ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a), closes [#​3010](https://togithub.com/hyperium/hyper/issues/3010)) - make body::Sender and Body::channel private ([#​2970](https://togithub.com/hyperium/hyper/issues/2970)) ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b), closes [#​2962](https://togithub.com/hyperium/hyper/issues/2962)) - remove "full" constructors from `Body` ([#​2958](https://togithub.com/hyperium/hyper/issues/2958)) ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - **client:** - remove `client::conn::{SendRequest, Connection}` ([#​2987](https://togithub.com/hyperium/hyper/issues/2987)) ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - remove `client::connect` module ([#​2949](https://togithub.com/hyperium/hyper/issues/2949)) ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - remove higher-level `hyper::Client` ([#​2941](https://togithub.com/hyperium/hyper/issues/2941)) ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - remove `hyper::client::server` ([#​2940](https://togithub.com/hyperium/hyper/issues/2940)) ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) - introduce version-specific client modules ([#​2906](https://togithub.com/hyperium/hyper/issues/2906)) ([509672aa](https://togithub.com/hyperium/hyper/commit/509672aada0af68a91d963e69828c6e31c44cb7b)) - **ffi:** add http1\_allow_multiline_headers ([#​2918](https://togithub.com/hyperium/hyper/issues/2918)) ([09e35668](https://togithub.com/hyperium/hyper/commit/09e35668e5b094d679efb4b98ecde9cb6f9f2f93)) - **lib:** remove `stream` cargo feature ([#​2896](https://togithub.com/hyperium/hyper/issues/2896)) ([ce72f734](https://togithub.com/hyperium/hyper/commit/ce72f73464d96fd67b59ceff08fd424733b43ffa), closes [#​2855](https://togithub.com/hyperium/hyper/issues/2855)) - **rt:** add Timer trait ([#​2974](https://togithub.com/hyperium/hyper/issues/2974)) ([fae97ced](https://togithub.com/hyperium/hyper/commit/fae97ced3a1f71fc46b6eadd3313e19705cc0006)) - **server:** - remove `server::conn::{Http, Connection}` types ([#​3013](https://togithub.com/hyperium/hyper/issues/3013)) ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c), closes [#​3012](https://togithub.com/hyperium/hyper/issues/3012)) - `server::conn::http1` and `server::conn::http2` modules ([#​3011](https://togithub.com/hyperium/hyper/issues/3011)) ([fc4d3356](https://togithub.com/hyperium/hyper/commit/fc4d3356cb7f2fffff5af9c474fa34c5adc5d6f1), closes [#​2851](https://togithub.com/hyperium/hyper/issues/2851)) - remove the high-level Server API ([#​2932](https://togithub.com/hyperium/hyper/issues/2932)) ([3c7bef3b](https://togithub.com/hyperium/hyper/commit/3c7bef3b6f6b6c3ec780e5e2db12c9d5795c1b80)) - remove `AddrStream` struct ([#​2869](https://togithub.com/hyperium/hyper/issues/2869)) ([e9cab49e](https://togithub.com/hyperium/hyper/commit/e9cab49e6e18f712b94137966580f6756e32fabb), closes [#​2850](https://togithub.com/hyperium/hyper/issues/2850)) - **service:** create own `Service` trait ([#​2920](https://togithub.com/hyperium/hyper/issues/2920)) ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee), closes [#​2853](https://togithub.com/hyperium/hyper/issues/2853)) ##### Breaking Changes - The polling functions of the `Body` trait have been redesigned. The free functions `hyper::body::to_bytes` and `aggregate` have been removed. Similar functionality is on `http_body_util::BodyExt::collect`. ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a)) - Either choose a version-specific `Connection` type, or look for the auto-version type in `hyper-util`. ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c)) - Pick a version-specific connection, or use the combined one in `hyper-util`. ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - Change any manual `impl tower::Service` to implement `hyper::service::Service` instead. The `poll_ready` method has been removed. ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee)) - The trait has been renamed. ([031454e5](https://togithub.com/hyperium/hyper/commit/031454e5e647dda0648424a944dbef795505e2e4)) - A channel body will be available in `hyper-util`. ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b)) - Use the types from `http-body-util`. ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - Use `connect` from `hyper-util`. ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - A pooling client is in the hyper-util crate. ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - Tower `Service` utilities will exist in `hyper-util`. ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) ##### v0.14.19 (2022-05-27) ##### 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 (2022-03-22) ##### 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 (2022-02-10) ##### 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 (2021-12-09) ##### 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 (2021-11-16) ##### 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 (2021-10-22) ##### 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 (2021-09-16) ##### 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 (2021-08-24) ##### 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 (2021-07-21) ##### 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 (2021-07-07) ##### 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 (2021-06-07) ##### Bug Fixes - **http1:** reduce memory used with flatten write strategy ([eb0c6463](https://togithub.com/hyperium/hyper/commit/eb0c64639503bbd4f6e3b1ce3a02bff8eeea7ee8)) ##### v0.14.8 (2021-05-25) ##### 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 (2021-04-22) ##### 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 (2021-04-21) ##### 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 (2021-03-26) ##### 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 (2021-02-05) ##### Bug Fixes - **build**: Fix compile error when only `http1` feature was enabled. ##### v0.14.3 (2021-02-05) ##### 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 misinterpreting 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 (2020-12-29) ##### 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 (2020-12-23) - Fixes building documentation. ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) ##### Bug Fixes - **http1:** start header read timeout immediately ([#​3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) ##### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#​3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) ##### New Contributors - [@​jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: hyperium/hyper@v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#​3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#​3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#​3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#​3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#​3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#​3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@​bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@​gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/get-convex/convex). GitOrigin-RevId: 4cc8d7c0741be125970461ee696675e42e8826a9
convex-copybara bot
referenced
this pull request
in get-convex/convex-py
Aug 14, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [http](https://togithub.com/hyperium/http) | workspace.dependencies | major | `0.2.8` -> `1.0.0` | | [http-body](https://togithub.com/hyperium/http-body) | workspace.dependencies | major | `0.4` -> `1.0` | | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | major | `0.14.16` -> `1.0.0` | --- ### Release Notes <details> <summary>hyperium/http (http)</summary> ### [`v1.1.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#110-March-4-2024) [Compare Source](https://togithub.com/hyperium/http/compare/v1.0.0...v1.1.0) - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Add `Extensions::get_or_insert()` method. - Implement `From<Uri>` for `uri::Builder`. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v1.0.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#100-November-15-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.12...v1.0.0) - Implement `Clone` for `Request`, `Response`, and `Extensions`. This breaking change requires that all extensions now implement `Clone`. - Add a default-on `std` feature. Disabling it currently is not supported. - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.12`](https://togithub.com/hyperium/http/releases/tag/v0.2.12) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.11...v0.2.12) #### What's Changed - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v0.2.11`](https://togithub.com/hyperium/http/releases/tag/v0.2.11) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.10...v0.2.11) #### What's Changed - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.10`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#0210-November-10-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.9...v0.2.10) - Fix parsing of `Authority` to handle square brackets in incorrect order. - Fix `HeaderMap::with_capacity()` to handle arithmetic overflow. </details> <details> <summary>hyperium/http-body (http-body)</summary> ### [`v1.0.0`](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) ### [`v0.4.6`](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) </details> <details> <summary>hyperium/hyper (hyper)</summary> ### [`v1.3.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v131-2024-04-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.3.0...v1.3.1) ##### Bug Fixes - **client:** revert auto content-length header for some requests ([#​3633](https://togithub.com/hyperium/hyper/issues/3633)) ### [`v1.3.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v130-2024-04-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.2.0...v1.3.0) ##### Bug Fixes - **client:** send content-length even with no body ([172fdfaf](https://togithub.com/hyperium/hyper/commit/172fdfaf0e0d9222917f271a83339238082e2657)) - **http2:** - `max_header_list_size(num)` defaults to 16kb ([203d1b09](https://togithub.com/hyperium/hyper/commit/203d1b090d0d0349c7e373e881ac4ddba72129be)) - `initial_max_send_streams` defaults to 100 ([2d1bd708](https://togithub.com/hyperium/hyper/commit/2d1bd7085e37a55ed6393f0e3f1b9a0b06db4d5d)) - **server:** - avoid unwrapping for the `Future` impl of HTTP/1 `UpgradeableConnection` ([#​3627](https://togithub.com/hyperium/hyper/issues/3627)) ([b79be911](https://togithub.com/hyperium/hyper/commit/b79be911696f6a93e8d408080ebbf558b612ce3c), closes [#​3621](https://togithub.com/hyperium/hyper/issues/3621)) - avoid `graceful_shutdown` panic on upgraded H1 connection ([#​3616](https://togithub.com/hyperium/hyper/issues/3616)) ([6ecf8521](https://togithub.com/hyperium/hyper/commit/6ecf85218fb24531184c53d5ed0eb7caf13cdcef)) ##### Features - **client:** - add `max_header_list_size(num)` to `http2::Builder`. ([1c5b1b87](https://togithub.com/hyperium/hyper/commit/1c5b1b87ae1497a702e30ea82a486fb61a3f8133)) - add `max_pending_accept_reset_streams` HTTP2 option ([#​3617](https://togithub.com/hyperium/hyper/issues/3617)) ([330ddf1d](https://togithub.com/hyperium/hyper/commit/330ddf1de1ca2841469d30d24143902e5ff06365)) - **ext:** implement From ReasonPhrase for Bytes ([dc27043a](https://togithub.com/hyperium/hyper/commit/dc27043aa319c0e630b7385a36aca0f3bee70670)) - **service:** expose Service and HttpService trait unconditionally ([6aee2e6e](https://togithub.com/hyperium/hyper/commit/6aee2e6e260e7d407256d6b7da6a0d90c1bb9c67)) - **server:** relax `'static` from connection IO trait bounds ([#​3595](https://togithub.com/hyperium/hyper/issues/3595)) ([0013bdda](https://togithub.com/hyperium/hyper/commit/0013bdda5cd34ed6fca089eceb0133395b7be041)) ### [`v1.2.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v120-2024-02-21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.1.0...v1.2.0) ##### Bug Fixes - **http2:** typo in trace logging ([#​3536](https://togithub.com/hyperium/hyper/issues/3536)) ([79862ec2](https://togithub.com/hyperium/hyper/commit/79862ec2e84c32122c820958ceec06d8b7701ff7)) - **rt:** `Sleep::downcast_mut_pin()` no longer extend lifetime ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671), closes [#​3556](https://togithub.com/hyperium/hyper/issues/3556)) ##### Features - **http1:** support configurable `max_headers(num)` to client and server ([#​3523](https://togithub.com/hyperium/hyper/issues/3523)) ([b1142448](https://togithub.com/hyperium/hyper/commit/b114244898828e9fb254bea1f0bbdd24850b2f3f)) - **http2:** - add config for `max_local_error_reset_streams` in server ([#​3530](https://togithub.com/hyperium/hyper/issues/3530)) ([d7680e30](https://togithub.com/hyperium/hyper/commit/d7680e30e48926a5a3f94a0986d39181d5ab2218)) - add `initial_max_send_streams` method to HTTP/2 client builder ([#​3524](https://togithub.com/hyperium/hyper/issues/3524)) ([fdfa60d9](https://togithub.com/hyperium/hyper/commit/fdfa60d9fafb8a6bfb40acc4042ee54a2b9aad32)) - add `max_pending_accept_reset_streams(num)` back to HTTP/2 server builder ([#​3507](https://togithub.com/hyperium/hyper/issues/3507) ([a9fa893f](https://togithub.com/hyperium/hyper/commit/a9fa893f18c6409abae2e1dcbba0f4487df54d4f)) ##### Breaking Changes - The returned lifetime from `Sleep::downcast_mut_pin()` is no longer `'static`. This shouldn't affect most usage. This sort of breaking change is needed because it is *wrong*. ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671)) ### [`v1.1.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v110-2023-12-18) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.1...v1.1.0) ##### Bug Fixes - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([d71ff962](https://togithub.com/hyperium/hyper/commit/d71ff962b08aca2f1c9c1724dfdab5bc1ec6ecd2)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([82915386](https://togithub.com/hyperium/hyper/commit/829153865a4d2bbb52227183c8857e57dc3e231b)) ##### Features - **client:** add `http1::Connection` `without_shutdown()` method ([#​3430](https://togithub.com/hyperium/hyper/issues/3430)) ([210bfaa7](https://togithub.com/hyperium/hyper/commit/210bfaa711b5da1f6756582a2e4bc3e229924800)) - **http1:** Add support for sending HTTP/1.1 Chunked Trailer Fields ([#​3375](https://togithub.com/hyperium/hyper/issues/3375)) ([31b41807](https://togithub.com/hyperium/hyper/commit/31b41807523370f3efbf47ba16c9e1c193b6335a), closes [#​2719](https://togithub.com/hyperium/hyper/issues/2719)) - **server:** expose `server::conn::http1::UpgradeableConnection` ([#​3457](https://togithub.com/hyperium/hyper/issues/3457)) ([6e3042a8](https://togithub.com/hyperium/hyper/commit/6e3042a86f10359624857d31bc9e876f521aee42)) ##### v1.0.1 (2023-11-16) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v101-2023-11-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.0...v1.0.1) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v100-2023-11-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v1.0.0) Be sure to check out the [upgrading guide](https://hyper.rs/guides/1/upgrading). ##### Bug Fixes - **client:** - avoid double-polling a Select future ([#​3290](https://togithub.com/hyperium/hyper/issues/3290)) ([fece9f7f](https://togithub.com/hyperium/hyper/commit/fece9f7f50431cf9533cfe7106b53a77b48db699), closes [#​3289](https://togithub.com/hyperium/hyper/issues/3289)) - early server response shouldn't propagate NO_ERROR ([#​3275](https://togithub.com/hyperium/hyper/issues/3275)) ([194e6f98](https://togithub.com/hyperium/hyper/commit/194e6f984763f5dc1c376082170a85cc4db40ce4), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - remove Send bounds for request `Body` ([#​3266](https://togithub.com/hyperium/hyper/issues/3266)) ([4ace340b](https://togithub.com/hyperium/hyper/commit/4ace340bb00a2ffe8ec93e4955989eb69f29d531), closes [#​3184](https://togithub.com/hyperium/hyper/issues/3184)) - **ffi:** fix deadlock in `hyper_executor::poll_next` ([#​3370](https://togithub.com/hyperium/hyper/issues/3370)) ([0c7d03ef](https://togithub.com/hyperium/hyper/commit/0c7d03eff2f2433e4f4a0a768009d97e1a7858fd), closes [#​3369](https://togithub.com/hyperium/hyper/issues/3369)) - **http2:** - don't send keep-alive ping when idle ([#​3381](https://togithub.com/hyperium/hyper/issues/3381)) ([429ad8a3](https://togithub.com/hyperium/hyper/commit/429ad8a34b20a877b4d17df1f4991a193f4a56f0)) - change default server max concurrent streams to 200 ([#​3362](https://togithub.com/hyperium/hyper/issues/3362)) ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12), closes [#​3358](https://togithub.com/hyperium/hyper/issues/3358)) - **server:** Respect Expect header only when http proto > 1.0 ([#​3294](https://togithub.com/hyperium/hyper/issues/3294)) ([43d2f5c6](https://togithub.com/hyperium/hyper/commit/43d2f5c6cfd575f7259a5b3684f7e99cedbd0edb)) ##### Features - **client:** allow `!Send` IO with HTTP/1 client ([#​3371](https://togithub.com/hyperium/hyper/issues/3371)) ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b), closes [#​3363](https://togithub.com/hyperium/hyper/issues/3363)) - **error:** - `Error::source()` is purposefully unspecified ([#​3318](https://togithub.com/hyperium/hyper/issues/3318)) ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6), closes [#​2843](https://togithub.com/hyperium/hyper/issues/2843)) - change `Display for Error` to only print top error ([#​3312](https://togithub.com/hyperium/hyper/issues/3312)) ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c), closes [#​2844](https://togithub.com/hyperium/hyper/issues/2844)) - **ext:** - make `ReasonPhrase::from_static` a const fn ([d4a61e3d](https://togithub.com/hyperium/hyper/commit/d4a61e3da87a08a25772cd3aa2f503cb4346c81f)) - remove `ReasonPhrase::from_bytes_unchecked()` method ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) - **lib:** - update to `http` 1.0 ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - missing Timer will warn or panic ([f3308c04](https://togithub.com/hyperium/hyper/commit/f3308c044d402dfad448bbc0497b14c69a8f22f2), closes [#​3393](https://togithub.com/hyperium/hyper/issues/3393)) - increase MSRV to 1.63 ([#​3293](https://togithub.com/hyperium/hyper/issues/3293)) ([e68dc961](https://togithub.com/hyperium/hyper/commit/e68dc961a7dad0a96e16898b0da234927564c079)) - **rt:** rename to `Http2ClientConnExec` and `Http2ServerConnExec` ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - **server:** default `http1` `header_read_timeout` to 30 seconds ([8bf26d1e](https://togithub.com/hyperium/hyper/commit/8bf26d1e394a8f207debe45445a5fb85cc349238)) - **upgrade:** introduce tracing as an optional unstable feature ([#​3326](https://togithub.com/hyperium/hyper/issues/3326)) ([da3fc76c](https://togithub.com/hyperium/hyper/commit/da3fc76c06b6caa60f6abc1da570d56d7c8fa468), closes [#​3319](https://togithub.com/hyperium/hyper/issues/3319)) ##### Breaking Changes - Upgrade to `http` 1.0. ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - (From previous RCs) `ExecutorClient` is renamed to `Http2ClientConnExec`, and `Http2ConnExec` is renamed to `Http2ServerConnExec`. ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - If you use client HTTP/1 upgrades, you must call `Connection::with_upgrades()` to still work the same. ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b)) - HTTP/2 server builder now has a default max concurrent streams. This is a behavior change. Consider setting your own maximum. ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12)) - Do not build any logic depending on the exact types of an `Error::source()`. They are only for debugging. ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6)) - The format no longer prints the error chain. Be sure to check if you are logging errors directly. The `Error::message()` method is removed, it is no longer needed. The `Error::into_cause()` method is removed. ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c)) - The `ReasonPhrase::from_bytes_unchecked()` method is gone. Use `from_static()` or `TryFrom` to construct one. ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) ##### v1.0.0-rc.4 (2023-07-10) ##### Bug Fixes - **http1:** - http1 server graceful shutdown fix ([#​3261](https://togithub.com/hyperium/hyper/issues/3261)) ([f4b51300](https://togithub.com/hyperium/hyper/commit/f4b513009d81083081d1c60c1981847bbb17dd5d)) - send error on Incoming body when connection errors ([#​3256](https://togithub.com/hyperium/hyper/issues/3256)) ([52f19259](https://togithub.com/hyperium/hyper/commit/52f192593fb9ebcf6d3894e0c85cbf710da4decd), closes [#​3253](https://togithub.com/hyperium/hyper/issues/3253)) - properly end chunked bodies when it was known to be empty ([#​3254](https://togithub.com/hyperium/hyper/issues/3254)) ([fec64cf0](https://togithub.com/hyperium/hyper/commit/fec64cf0abdc678e30ca5f1b310c5118b2e01999), closes [#​3252](https://togithub.com/hyperium/hyper/issues/3252)) ##### Features - **client:** Make clients able to use non-Send executor ([#​3184](https://togithub.com/hyperium/hyper/issues/3184)) ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc), closes [#​3017](https://togithub.com/hyperium/hyper/issues/3017)) - **rt:** - replace IO traits with hyper::rt ones ([#​3230](https://togithub.com/hyperium/hyper/issues/3230)) ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2), closes [#​3110](https://togithub.com/hyperium/hyper/issues/3110)) - add downcast on `Sleep` trait ([#​3125](https://togithub.com/hyperium/hyper/issues/3125)) ([d92d3917](https://togithub.com/hyperium/hyper/commit/d92d3917d950e4c61c37c2170f3ce273d2a0f7d1), closes [#​3027](https://togithub.com/hyperium/hyper/issues/3027)) - **service:** change Service::call to take \&self ([#​3223](https://togithub.com/hyperium/hyper/issues/3223)) ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02), closes [#​3040](https://togithub.com/hyperium/hyper/issues/3040)) ##### Breaking Changes - Any IO transport type provided must not implement `hyper::rt::{Read, Write}` instead of `tokio::io` traits. You can grab a helper type from `hyper-util` to wrap Tokio types, or implement the traits yourself, if it's a custom type. ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2)) - `client::conn::http2` types now use another generic for an `Executor`. Code that names `Connection` needs to include the additional generic parameter. ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc)) - The Service::call function no longer takes a mutable reference to self. The FnMut trait bound on the service::util::service_fn function and the trait bound on the impl for the ServiceFn struct were changed from FnMut to Fn. ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02)) ##### v1.0.0-rc.3 (2023-02-23) ##### Bug Fixes - **server:** prevent sending 100-continue if user drops request body ([#​3137](https://togithub.com/hyperium/hyper/issues/3137)) ([499fe1f9](https://togithub.com/hyperium/hyper/commit/499fe1f949895218c4fd2305a0eddaf24f1dd0a9)) ##### Features - **client:** - add `is_ready()` and `is_closed()` methods to `SendRequest` ([#​3148](https://togithub.com/hyperium/hyper/issues/3148)) ([3fb59919](https://togithub.com/hyperium/hyper/commit/3fb59919941d3145be6d84dab85d222ea0e7664b)) - `http2` builder now requires an `Executor` ([#​3135](https://togithub.com/hyperium/hyper/issues/3135)) ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503), closes [#​3128](https://togithub.com/hyperium/hyper/issues/3128)) - remove unneeded HTTP/1 executor ([#​3108](https://togithub.com/hyperium/hyper/issues/3108)) ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) - **rt:** make private executor traits public (but sealed) in `rt::bounds` ([#​3127](https://togithub.com/hyperium/hyper/issues/3127)) ([fc9f3070](https://togithub.com/hyperium/hyper/commit/fc9f30701a159772d0c014de47d16798502bae2c), closes [#​2051](https://togithub.com/hyperium/hyper/issues/2051), [#​3097](https://togithub.com/hyperium/hyper/issues/3097)) ##### Breaking Changes - `hyper::client::conn::Http2::Builder::new` now requires an executor argument. ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503)) - The method `hyper::client::conn::http1::Builder::executor()` is removed, since it did nothing. ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) ##### v1.0.0-rc.2 (2022-12-29) ##### Bug Fixes - **client:** send an error back to client when dispatch misbehaves () ([75aac9f4](https://togithub.com/hyperium/hyper/commit/75aac9f47fe0246016e6133cd3cfa35b63c8904e), closes [#​2649](https://togithub.com/hyperium/hyper/issues/2649)) - **http2:** Fix race condition in client dispatcher ([#​3041](https://togithub.com/hyperium/hyper/issues/3041)) ([f202230c](https://togithub.com/hyperium/hyper/commit/f202230c6fa274f6a4e6cbaad57ca59beb0a5125)) ##### Features - **body:** upgrade to http-body 1.0.0-rc.2 ([#​3106](https://togithub.com/hyperium/hyper/issues/3106)) ([51b45e3f](https://togithub.com/hyperium/hyper/commit/51b45e3f8580da5667a45395e6622455b10e2ad3)) - **client:** - remove http2\_ prefixes from `client::conn::http2::Builder` methods ([669df217](https://togithub.com/hyperium/hyper/commit/669df2173e059544fbaded0d666c5bfc113eaa0e)) - remove http1\_ prefixes from `client::conn::http1::Builder` methods ([4cbaef79](https://togithub.com/hyperium/hyper/commit/4cbaef79f0ec03643c09e4e6fbbed23bf589e548)) - implement `Clone` for `http2::SendRequest` ([#​3042](https://togithub.com/hyperium/hyper/issues/3042)) ([00ea49e4](https://togithub.com/hyperium/hyper/commit/00ea49e47a565748a4e4657f7047dca5851f8b7a), closes [#​3036](https://togithub.com/hyperium/hyper/issues/3036)) - allow ignoring HTTP/1 invalid header lines in requests ([81e25fa8](https://togithub.com/hyperium/hyper/commit/81e25fa868c86e4ea81d5a96fdca497a4b1ab3c1)) - **rt:** Clean up Timer trait ([#​3037](https://togithub.com/hyperium/hyper/issues/3037)) ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310), closes [#​3028](https://togithub.com/hyperium/hyper/issues/3028)) - **server:** - remove http1\_ method prefixes from `server::conn::http2::Builder` ([291ed0b4](https://togithub.com/hyperium/hyper/commit/291ed0b49bc7fd6f43890815cdf93aaefaf59011)) - remove http1\_ method prefixes from `server::conn::http2::Builder` ([48e70c69](https://togithub.com/hyperium/hyper/commit/48e70c691e44d5e37d4b51fe8980f76d27c989b3)) - remove `server::conn::http2::Builder::with_executor()` ([#​3089](https://togithub.com/hyperium/hyper/issues/3089)) ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8), closes [#​3087](https://togithub.com/hyperium/hyper/issues/3087)) ##### Breaking Changes - removes `server::conn::http2::Builder::with_executor()` ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8)) - The return types of `Timer` have been changed. ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310)) - The return types for `Frame::into_data()` and `Frame::into_trailers()` have been changed from `Option<T>` to `Result<T, Self>`. ##### v1.0.0-rc.1 (2022-10-25) ##### Bug Fixes - **http1:** - trim obs-folded headers when unfolding ([#​2926](https://togithub.com/hyperium/hyper/issues/2926)) ([d4b5bd4e](https://togithub.com/hyperium/hyper/commit/d4b5bd4ee6af0ae8924cf05ab799cc3e19a3c62d)) ##### Features - **body:** - rename `Body` struct to `Incoming` ([#​3022](https://togithub.com/hyperium/hyper/issues/3022)) ([95a153bb](https://togithub.com/hyperium/hyper/commit/95a153bbc2717bd4233486e09848622ceb900574), closes [#​2971](https://togithub.com/hyperium/hyper/issues/2971)) - update `HttpBody` trait to use `Frame`s ([#​3020](https://togithub.com/hyperium/hyper/issues/3020)) ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a), closes [#​3010](https://togithub.com/hyperium/hyper/issues/3010)) - make body::Sender and Body::channel private ([#​2970](https://togithub.com/hyperium/hyper/issues/2970)) ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b), closes [#​2962](https://togithub.com/hyperium/hyper/issues/2962)) - remove "full" constructors from `Body` ([#​2958](https://togithub.com/hyperium/hyper/issues/2958)) ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - **client:** - remove `client::conn::{SendRequest, Connection}` ([#​2987](https://togithub.com/hyperium/hyper/issues/2987)) ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - remove `client::connect` module ([#​2949](https://togithub.com/hyperium/hyper/issues/2949)) ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - remove higher-level `hyper::Client` ([#​2941](https://togithub.com/hyperium/hyper/issues/2941)) ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - remove `hyper::client::server` ([#​2940](https://togithub.com/hyperium/hyper/issues/2940)) ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) - introduce version-specific client modules ([#​2906](https://togithub.com/hyperium/hyper/issues/2906)) ([509672aa](https://togithub.com/hyperium/hyper/commit/509672aada0af68a91d963e69828c6e31c44cb7b)) - **ffi:** add http1\_allow_multiline_headers ([#​2918](https://togithub.com/hyperium/hyper/issues/2918)) ([09e35668](https://togithub.com/hyperium/hyper/commit/09e35668e5b094d679efb4b98ecde9cb6f9f2f93)) - **lib:** remove `stream` cargo feature ([#​2896](https://togithub.com/hyperium/hyper/issues/2896)) ([ce72f734](https://togithub.com/hyperium/hyper/commit/ce72f73464d96fd67b59ceff08fd424733b43ffa), closes [#​2855](https://togithub.com/hyperium/hyper/issues/2855)) - **rt:** add Timer trait ([#​2974](https://togithub.com/hyperium/hyper/issues/2974)) ([fae97ced](https://togithub.com/hyperium/hyper/commit/fae97ced3a1f71fc46b6eadd3313e19705cc0006)) - **server:** - remove `server::conn::{Http, Connection}` types ([#​3013](https://togithub.com/hyperium/hyper/issues/3013)) ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c), closes [#​3012](https://togithub.com/hyperium/hyper/issues/3012)) - `server::conn::http1` and `server::conn::http2` modules ([#​3011](https://togithub.com/hyperium/hyper/issues/3011)) ([fc4d3356](https://togithub.com/hyperium/hyper/commit/fc4d3356cb7f2fffff5af9c474fa34c5adc5d6f1), closes [#​2851](https://togithub.com/hyperium/hyper/issues/2851)) - remove the high-level Server API ([#​2932](https://togithub.com/hyperium/hyper/issues/2932)) ([3c7bef3b](https://togithub.com/hyperium/hyper/commit/3c7bef3b6f6b6c3ec780e5e2db12c9d5795c1b80)) - remove `AddrStream` struct ([#​2869](https://togithub.com/hyperium/hyper/issues/2869)) ([e9cab49e](https://togithub.com/hyperium/hyper/commit/e9cab49e6e18f712b94137966580f6756e32fabb), closes [#​2850](https://togithub.com/hyperium/hyper/issues/2850)) - **service:** create own `Service` trait ([#​2920](https://togithub.com/hyperium/hyper/issues/2920)) ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee), closes [#​2853](https://togithub.com/hyperium/hyper/issues/2853)) ##### Breaking Changes - The polling functions of the `Body` trait have been redesigned. The free functions `hyper::body::to_bytes` and `aggregate` have been removed. Similar functionality is on `http_body_util::BodyExt::collect`. ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a)) - Either choose a version-specific `Connection` type, or look for the auto-version type in `hyper-util`. ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c)) - Pick a version-specific connection, or use the combined one in `hyper-util`. ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - Change any manual `impl tower::Service` to implement `hyper::service::Service` instead. The `poll_ready` method has been removed. ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee)) - The trait has been renamed. ([031454e5](https://togithub.com/hyperium/hyper/commit/031454e5e647dda0648424a944dbef795505e2e4)) - A channel body will be available in `hyper-util`. ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b)) - Use the types from `http-body-util`. ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - Use `connect` from `hyper-util`. ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - A pooling client is in the hyper-util crate. ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - Tower `Service` utilities will exist in `hyper-util`. ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) ##### v0.14.19 (2022-05-27) ##### 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 (2022-03-22) ##### 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 (2022-02-10) ##### 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 (2021-12-09) ##### 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 (2021-11-16) ##### 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 (2021-10-22) ##### 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 (2021-09-16) ##### 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 (2021-08-24) ##### 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 (2021-07-21) ##### 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 (2021-07-07) ##### 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 (2021-06-07) ##### Bug Fixes - **http1:** reduce memory used with flatten write strategy ([eb0c6463](https://togithub.com/hyperium/hyper/commit/eb0c64639503bbd4f6e3b1ce3a02bff8eeea7ee8)) ##### v0.14.8 (2021-05-25) ##### 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 (2021-04-22) ##### 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 (2021-04-21) ##### 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 (2021-03-26) ##### 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 (2021-02-05) ##### Bug Fixes - **build**: Fix compile error when only `http1` feature was enabled. ##### v0.14.3 (2021-02-05) ##### 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 misinterpreting 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 (2020-12-29) ##### 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 (2020-12-23) - Fixes building documentation. ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) ##### Bug Fixes - **http1:** start header read timeout immediately ([#​3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) ##### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#​3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) ##### New Contributors - [@​jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: hyperium/hyper@v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#​3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#​3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#​3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#​3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#​3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#​3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@​bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@​gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/get-convex/convex). GitOrigin-RevId: 4cc8d7c0741be125970461ee696675e42e8826a9
convex-copybara bot
referenced
this pull request
in get-convex/convex-rs
Aug 14, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [http](https://togithub.com/hyperium/http) | workspace.dependencies | major | `0.2.8` -> `1.0.0` | | [http-body](https://togithub.com/hyperium/http-body) | workspace.dependencies | major | `0.4` -> `1.0` | | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | major | `0.14.16` -> `1.0.0` | --- ### Release Notes <details> <summary>hyperium/http (http)</summary> ### [`v1.1.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#110-March-4-2024) [Compare Source](https://togithub.com/hyperium/http/compare/v1.0.0...v1.1.0) - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Add `Extensions::get_or_insert()` method. - Implement `From<Uri>` for `uri::Builder`. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v1.0.0`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#100-November-15-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.12...v1.0.0) - Implement `Clone` for `Request`, `Response`, and `Extensions`. This breaking change requires that all extensions now implement `Clone`. - Add a default-on `std` feature. Disabling it currently is not supported. - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.12`](https://togithub.com/hyperium/http/releases/tag/v0.2.12) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.11...v0.2.12) #### What's Changed - Add methods to allow trying to allocate in the `HeaderMap`, returning an error if oversize instead of panicking. - Fix `HeaderName::from_lowercase` that could allow NUL bytes in some cases. ### [`v0.2.11`](https://togithub.com/hyperium/http/releases/tag/v0.2.11) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.10...v0.2.11) #### What's Changed - Fix MIRI warnings in `HeaderMap::iter()`. ### [`v0.2.10`](https://togithub.com/hyperium/http/blob/HEAD/CHANGELOG.md#0210-November-10-2023) [Compare Source](https://togithub.com/hyperium/http/compare/v0.2.9...v0.2.10) - Fix parsing of `Authority` to handle square brackets in incorrect order. - Fix `HeaderMap::with_capacity()` to handle arithmetic overflow. </details> <details> <summary>hyperium/http-body (http-body)</summary> ### [`v1.0.0`](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.6...v1.0.0) ### [`v0.4.6`](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) [Compare Source](https://togithub.com/hyperium/http-body/compare/v0.4.5...v0.4.6) </details> <details> <summary>hyperium/hyper (hyper)</summary> ### [`v1.3.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v131-2024-04-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.3.0...v1.3.1) ##### Bug Fixes - **client:** revert auto content-length header for some requests ([#​3633](https://togithub.com/hyperium/hyper/issues/3633)) ### [`v1.3.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v130-2024-04-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.2.0...v1.3.0) ##### Bug Fixes - **client:** send content-length even with no body ([172fdfaf](https://togithub.com/hyperium/hyper/commit/172fdfaf0e0d9222917f271a83339238082e2657)) - **http2:** - `max_header_list_size(num)` defaults to 16kb ([203d1b09](https://togithub.com/hyperium/hyper/commit/203d1b090d0d0349c7e373e881ac4ddba72129be)) - `initial_max_send_streams` defaults to 100 ([2d1bd708](https://togithub.com/hyperium/hyper/commit/2d1bd7085e37a55ed6393f0e3f1b9a0b06db4d5d)) - **server:** - avoid unwrapping for the `Future` impl of HTTP/1 `UpgradeableConnection` ([#​3627](https://togithub.com/hyperium/hyper/issues/3627)) ([b79be911](https://togithub.com/hyperium/hyper/commit/b79be911696f6a93e8d408080ebbf558b612ce3c), closes [#​3621](https://togithub.com/hyperium/hyper/issues/3621)) - avoid `graceful_shutdown` panic on upgraded H1 connection ([#​3616](https://togithub.com/hyperium/hyper/issues/3616)) ([6ecf8521](https://togithub.com/hyperium/hyper/commit/6ecf85218fb24531184c53d5ed0eb7caf13cdcef)) ##### Features - **client:** - add `max_header_list_size(num)` to `http2::Builder`. ([1c5b1b87](https://togithub.com/hyperium/hyper/commit/1c5b1b87ae1497a702e30ea82a486fb61a3f8133)) - add `max_pending_accept_reset_streams` HTTP2 option ([#​3617](https://togithub.com/hyperium/hyper/issues/3617)) ([330ddf1d](https://togithub.com/hyperium/hyper/commit/330ddf1de1ca2841469d30d24143902e5ff06365)) - **ext:** implement From ReasonPhrase for Bytes ([dc27043a](https://togithub.com/hyperium/hyper/commit/dc27043aa319c0e630b7385a36aca0f3bee70670)) - **service:** expose Service and HttpService trait unconditionally ([6aee2e6e](https://togithub.com/hyperium/hyper/commit/6aee2e6e260e7d407256d6b7da6a0d90c1bb9c67)) - **server:** relax `'static` from connection IO trait bounds ([#​3595](https://togithub.com/hyperium/hyper/issues/3595)) ([0013bdda](https://togithub.com/hyperium/hyper/commit/0013bdda5cd34ed6fca089eceb0133395b7be041)) ### [`v1.2.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v120-2024-02-21) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.1.0...v1.2.0) ##### Bug Fixes - **http2:** typo in trace logging ([#​3536](https://togithub.com/hyperium/hyper/issues/3536)) ([79862ec2](https://togithub.com/hyperium/hyper/commit/79862ec2e84c32122c820958ceec06d8b7701ff7)) - **rt:** `Sleep::downcast_mut_pin()` no longer extend lifetime ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671), closes [#​3556](https://togithub.com/hyperium/hyper/issues/3556)) ##### Features - **http1:** support configurable `max_headers(num)` to client and server ([#​3523](https://togithub.com/hyperium/hyper/issues/3523)) ([b1142448](https://togithub.com/hyperium/hyper/commit/b114244898828e9fb254bea1f0bbdd24850b2f3f)) - **http2:** - add config for `max_local_error_reset_streams` in server ([#​3530](https://togithub.com/hyperium/hyper/issues/3530)) ([d7680e30](https://togithub.com/hyperium/hyper/commit/d7680e30e48926a5a3f94a0986d39181d5ab2218)) - add `initial_max_send_streams` method to HTTP/2 client builder ([#​3524](https://togithub.com/hyperium/hyper/issues/3524)) ([fdfa60d9](https://togithub.com/hyperium/hyper/commit/fdfa60d9fafb8a6bfb40acc4042ee54a2b9aad32)) - add `max_pending_accept_reset_streams(num)` back to HTTP/2 server builder ([#​3507](https://togithub.com/hyperium/hyper/issues/3507) ([a9fa893f](https://togithub.com/hyperium/hyper/commit/a9fa893f18c6409abae2e1dcbba0f4487df54d4f)) ##### Breaking Changes - The returned lifetime from `Sleep::downcast_mut_pin()` is no longer `'static`. This shouldn't affect most usage. This sort of breaking change is needed because it is *wrong*. ([7206fe30](https://togithub.com/hyperium/hyper/commit/7206fe30302937075c51c16a69d1eb3bbce6a671)) ### [`v1.1.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v110-2023-12-18) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.1...v1.1.0) ##### Bug Fixes - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([d71ff962](https://togithub.com/hyperium/hyper/commit/d71ff962b08aca2f1c9c1724dfdab5bc1ec6ecd2)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([82915386](https://togithub.com/hyperium/hyper/commit/829153865a4d2bbb52227183c8857e57dc3e231b)) ##### Features - **client:** add `http1::Connection` `without_shutdown()` method ([#​3430](https://togithub.com/hyperium/hyper/issues/3430)) ([210bfaa7](https://togithub.com/hyperium/hyper/commit/210bfaa711b5da1f6756582a2e4bc3e229924800)) - **http1:** Add support for sending HTTP/1.1 Chunked Trailer Fields ([#​3375](https://togithub.com/hyperium/hyper/issues/3375)) ([31b41807](https://togithub.com/hyperium/hyper/commit/31b41807523370f3efbf47ba16c9e1c193b6335a), closes [#​2719](https://togithub.com/hyperium/hyper/issues/2719)) - **server:** expose `server::conn::http1::UpgradeableConnection` ([#​3457](https://togithub.com/hyperium/hyper/issues/3457)) ([6e3042a8](https://togithub.com/hyperium/hyper/commit/6e3042a86f10359624857d31bc9e876f521aee42)) ##### v1.0.1 (2023-11-16) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.1`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v101-2023-11-16) [Compare Source](https://togithub.com/hyperium/hyper/compare/v1.0.0...v1.0.1) This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version. ##### Bug Fixes - **rt:** implement Read/Write for Pin<P> ([#​3413](https://togithub.com/hyperium/hyper/issues/3413)) ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224), closes [#​3412](https://togithub.com/hyperium/hyper/issues/3412)) ##### Features - **rt:** Make ReadBuf::new public ([7161f562](https://togithub.com/hyperium/hyper/commit/7161f56274a30bfbe4a718bbe21d35beaf86b00b)) ##### Breaking Changes - Pin is #\[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. ([dd6d81ca](https://togithub.com/hyperium/hyper/commit/dd6d81ca4a180695dc70d6c9b2aececd29606224)) ### [`v1.0.0`](https://togithub.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v100-2023-11-15) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v1.0.0) Be sure to check out the [upgrading guide](https://hyper.rs/guides/1/upgrading). ##### Bug Fixes - **client:** - avoid double-polling a Select future ([#​3290](https://togithub.com/hyperium/hyper/issues/3290)) ([fece9f7f](https://togithub.com/hyperium/hyper/commit/fece9f7f50431cf9533cfe7106b53a77b48db699), closes [#​3289](https://togithub.com/hyperium/hyper/issues/3289)) - early server response shouldn't propagate NO_ERROR ([#​3275](https://togithub.com/hyperium/hyper/issues/3275)) ([194e6f98](https://togithub.com/hyperium/hyper/commit/194e6f984763f5dc1c376082170a85cc4db40ce4), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - remove Send bounds for request `Body` ([#​3266](https://togithub.com/hyperium/hyper/issues/3266)) ([4ace340b](https://togithub.com/hyperium/hyper/commit/4ace340bb00a2ffe8ec93e4955989eb69f29d531), closes [#​3184](https://togithub.com/hyperium/hyper/issues/3184)) - **ffi:** fix deadlock in `hyper_executor::poll_next` ([#​3370](https://togithub.com/hyperium/hyper/issues/3370)) ([0c7d03ef](https://togithub.com/hyperium/hyper/commit/0c7d03eff2f2433e4f4a0a768009d97e1a7858fd), closes [#​3369](https://togithub.com/hyperium/hyper/issues/3369)) - **http2:** - don't send keep-alive ping when idle ([#​3381](https://togithub.com/hyperium/hyper/issues/3381)) ([429ad8a3](https://togithub.com/hyperium/hyper/commit/429ad8a34b20a877b4d17df1f4991a193f4a56f0)) - change default server max concurrent streams to 200 ([#​3362](https://togithub.com/hyperium/hyper/issues/3362)) ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12), closes [#​3358](https://togithub.com/hyperium/hyper/issues/3358)) - **server:** Respect Expect header only when http proto > 1.0 ([#​3294](https://togithub.com/hyperium/hyper/issues/3294)) ([43d2f5c6](https://togithub.com/hyperium/hyper/commit/43d2f5c6cfd575f7259a5b3684f7e99cedbd0edb)) ##### Features - **client:** allow `!Send` IO with HTTP/1 client ([#​3371](https://togithub.com/hyperium/hyper/issues/3371)) ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b), closes [#​3363](https://togithub.com/hyperium/hyper/issues/3363)) - **error:** - `Error::source()` is purposefully unspecified ([#​3318](https://togithub.com/hyperium/hyper/issues/3318)) ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6), closes [#​2843](https://togithub.com/hyperium/hyper/issues/2843)) - change `Display for Error` to only print top error ([#​3312](https://togithub.com/hyperium/hyper/issues/3312)) ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c), closes [#​2844](https://togithub.com/hyperium/hyper/issues/2844)) - **ext:** - make `ReasonPhrase::from_static` a const fn ([d4a61e3d](https://togithub.com/hyperium/hyper/commit/d4a61e3da87a08a25772cd3aa2f503cb4346c81f)) - remove `ReasonPhrase::from_bytes_unchecked()` method ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) - **lib:** - update to `http` 1.0 ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - missing Timer will warn or panic ([f3308c04](https://togithub.com/hyperium/hyper/commit/f3308c044d402dfad448bbc0497b14c69a8f22f2), closes [#​3393](https://togithub.com/hyperium/hyper/issues/3393)) - increase MSRV to 1.63 ([#​3293](https://togithub.com/hyperium/hyper/issues/3293)) ([e68dc961](https://togithub.com/hyperium/hyper/commit/e68dc961a7dad0a96e16898b0da234927564c079)) - **rt:** rename to `Http2ClientConnExec` and `Http2ServerConnExec` ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - **server:** default `http1` `header_read_timeout` to 30 seconds ([8bf26d1e](https://togithub.com/hyperium/hyper/commit/8bf26d1e394a8f207debe45445a5fb85cc349238)) - **upgrade:** introduce tracing as an optional unstable feature ([#​3326](https://togithub.com/hyperium/hyper/issues/3326)) ([da3fc76c](https://togithub.com/hyperium/hyper/commit/da3fc76c06b6caa60f6abc1da570d56d7c8fa468), closes [#​3319](https://togithub.com/hyperium/hyper/issues/3319)) ##### Breaking Changes - Upgrade to `http` 1.0. ([899e92a5](https://togithub.com/hyperium/hyper/commit/899e92a580961c5bd1cc9b49a8fb7c7cd8b53ef8)) - (From previous RCs) `ExecutorClient` is renamed to `Http2ClientConnExec`, and `Http2ConnExec` is renamed to `Http2ServerConnExec`. ([52b27faa](https://togithub.com/hyperium/hyper/commit/52b27faa09715b5835804de7abf6998e028736fc)) - If you use client HTTP/1 upgrades, you must call `Connection::with_upgrades()` to still work the same. ([cf87eda8](https://togithub.com/hyperium/hyper/commit/cf87eda82ca0af1f5f45b0a0710eaae9ec1aed7b)) - HTTP/2 server builder now has a default max concurrent streams. This is a behavior change. Consider setting your own maximum. ([dd638b5b](https://togithub.com/hyperium/hyper/commit/dd638b5b34225d2c5ad0bd01de0ecf738f9a0e12)) - Do not build any logic depending on the exact types of an `Error::source()`. They are only for debugging. ([502a6450](https://togithub.com/hyperium/hyper/commit/502a645053b0d19252d9fdc170b0a2c0a6fe0ba6)) - The format no longer prints the error chain. Be sure to check if you are logging errors directly. The `Error::message()` method is removed, it is no longer needed. The `Error::into_cause()` method is removed. ([50f123af](https://togithub.com/hyperium/hyper/commit/50f123afc0e6c289030bf8699dbec826dc47572c)) - The `ReasonPhrase::from_bytes_unchecked()` method is gone. Use `from_static()` or `TryFrom` to construct one. ([4021c57b](https://togithub.com/hyperium/hyper/commit/4021c57bd9265b9ebc5b88c9bffbb0ac3704bdbe)) ##### v1.0.0-rc.4 (2023-07-10) ##### Bug Fixes - **http1:** - http1 server graceful shutdown fix ([#​3261](https://togithub.com/hyperium/hyper/issues/3261)) ([f4b51300](https://togithub.com/hyperium/hyper/commit/f4b513009d81083081d1c60c1981847bbb17dd5d)) - send error on Incoming body when connection errors ([#​3256](https://togithub.com/hyperium/hyper/issues/3256)) ([52f19259](https://togithub.com/hyperium/hyper/commit/52f192593fb9ebcf6d3894e0c85cbf710da4decd), closes [#​3253](https://togithub.com/hyperium/hyper/issues/3253)) - properly end chunked bodies when it was known to be empty ([#​3254](https://togithub.com/hyperium/hyper/issues/3254)) ([fec64cf0](https://togithub.com/hyperium/hyper/commit/fec64cf0abdc678e30ca5f1b310c5118b2e01999), closes [#​3252](https://togithub.com/hyperium/hyper/issues/3252)) ##### Features - **client:** Make clients able to use non-Send executor ([#​3184](https://togithub.com/hyperium/hyper/issues/3184)) ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc), closes [#​3017](https://togithub.com/hyperium/hyper/issues/3017)) - **rt:** - replace IO traits with hyper::rt ones ([#​3230](https://togithub.com/hyperium/hyper/issues/3230)) ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2), closes [#​3110](https://togithub.com/hyperium/hyper/issues/3110)) - add downcast on `Sleep` trait ([#​3125](https://togithub.com/hyperium/hyper/issues/3125)) ([d92d3917](https://togithub.com/hyperium/hyper/commit/d92d3917d950e4c61c37c2170f3ce273d2a0f7d1), closes [#​3027](https://togithub.com/hyperium/hyper/issues/3027)) - **service:** change Service::call to take \&self ([#​3223](https://togithub.com/hyperium/hyper/issues/3223)) ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02), closes [#​3040](https://togithub.com/hyperium/hyper/issues/3040)) ##### Breaking Changes - Any IO transport type provided must not implement `hyper::rt::{Read, Write}` instead of `tokio::io` traits. You can grab a helper type from `hyper-util` to wrap Tokio types, or implement the traits yourself, if it's a custom type. ([f9f65b7a](https://togithub.com/hyperium/hyper/commit/f9f65b7aa67fa3ec0267fe015945973726285bc2)) - `client::conn::http2` types now use another generic for an `Executor`. Code that names `Connection` needs to include the additional generic parameter. ([d977f209](https://togithub.com/hyperium/hyper/commit/d977f209bc6068d8f878b22803fc42d90c887fcc)) - The Service::call function no longer takes a mutable reference to self. The FnMut trait bound on the service::util::service_fn function and the trait bound on the impl for the ServiceFn struct were changed from FnMut to Fn. ([d894439e](https://togithub.com/hyperium/hyper/commit/d894439e009aa75103f6382a7ba98fb17da72f02)) ##### v1.0.0-rc.3 (2023-02-23) ##### Bug Fixes - **server:** prevent sending 100-continue if user drops request body ([#​3137](https://togithub.com/hyperium/hyper/issues/3137)) ([499fe1f9](https://togithub.com/hyperium/hyper/commit/499fe1f949895218c4fd2305a0eddaf24f1dd0a9)) ##### Features - **client:** - add `is_ready()` and `is_closed()` methods to `SendRequest` ([#​3148](https://togithub.com/hyperium/hyper/issues/3148)) ([3fb59919](https://togithub.com/hyperium/hyper/commit/3fb59919941d3145be6d84dab85d222ea0e7664b)) - `http2` builder now requires an `Executor` ([#​3135](https://togithub.com/hyperium/hyper/issues/3135)) ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503), closes [#​3128](https://togithub.com/hyperium/hyper/issues/3128)) - remove unneeded HTTP/1 executor ([#​3108](https://togithub.com/hyperium/hyper/issues/3108)) ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) - **rt:** make private executor traits public (but sealed) in `rt::bounds` ([#​3127](https://togithub.com/hyperium/hyper/issues/3127)) ([fc9f3070](https://togithub.com/hyperium/hyper/commit/fc9f30701a159772d0c014de47d16798502bae2c), closes [#​2051](https://togithub.com/hyperium/hyper/issues/2051), [#​3097](https://togithub.com/hyperium/hyper/issues/3097)) ##### Breaking Changes - `hyper::client::conn::Http2::Builder::new` now requires an executor argument. ([8068aa01](https://togithub.com/hyperium/hyper/commit/8068aa011f6477a21ad54230c8fef9e26b330503)) - The method `hyper::client::conn::http1::Builder::executor()` is removed, since it did nothing. ([1de9accf](https://togithub.com/hyperium/hyper/commit/1de9accf1e133d1a23311879f466251b2f6481e5)) ##### v1.0.0-rc.2 (2022-12-29) ##### Bug Fixes - **client:** send an error back to client when dispatch misbehaves () ([75aac9f4](https://togithub.com/hyperium/hyper/commit/75aac9f47fe0246016e6133cd3cfa35b63c8904e), closes [#​2649](https://togithub.com/hyperium/hyper/issues/2649)) - **http2:** Fix race condition in client dispatcher ([#​3041](https://togithub.com/hyperium/hyper/issues/3041)) ([f202230c](https://togithub.com/hyperium/hyper/commit/f202230c6fa274f6a4e6cbaad57ca59beb0a5125)) ##### Features - **body:** upgrade to http-body 1.0.0-rc.2 ([#​3106](https://togithub.com/hyperium/hyper/issues/3106)) ([51b45e3f](https://togithub.com/hyperium/hyper/commit/51b45e3f8580da5667a45395e6622455b10e2ad3)) - **client:** - remove http2\_ prefixes from `client::conn::http2::Builder` methods ([669df217](https://togithub.com/hyperium/hyper/commit/669df2173e059544fbaded0d666c5bfc113eaa0e)) - remove http1\_ prefixes from `client::conn::http1::Builder` methods ([4cbaef79](https://togithub.com/hyperium/hyper/commit/4cbaef79f0ec03643c09e4e6fbbed23bf589e548)) - implement `Clone` for `http2::SendRequest` ([#​3042](https://togithub.com/hyperium/hyper/issues/3042)) ([00ea49e4](https://togithub.com/hyperium/hyper/commit/00ea49e47a565748a4e4657f7047dca5851f8b7a), closes [#​3036](https://togithub.com/hyperium/hyper/issues/3036)) - allow ignoring HTTP/1 invalid header lines in requests ([81e25fa8](https://togithub.com/hyperium/hyper/commit/81e25fa868c86e4ea81d5a96fdca497a4b1ab3c1)) - **rt:** Clean up Timer trait ([#​3037](https://togithub.com/hyperium/hyper/issues/3037)) ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310), closes [#​3028](https://togithub.com/hyperium/hyper/issues/3028)) - **server:** - remove http1\_ method prefixes from `server::conn::http2::Builder` ([291ed0b4](https://togithub.com/hyperium/hyper/commit/291ed0b49bc7fd6f43890815cdf93aaefaf59011)) - remove http1\_ method prefixes from `server::conn::http2::Builder` ([48e70c69](https://togithub.com/hyperium/hyper/commit/48e70c691e44d5e37d4b51fe8980f76d27c989b3)) - remove `server::conn::http2::Builder::with_executor()` ([#​3089](https://togithub.com/hyperium/hyper/issues/3089)) ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8), closes [#​3087](https://togithub.com/hyperium/hyper/issues/3087)) ##### Breaking Changes - removes `server::conn::http2::Builder::with_executor()` ([ab59a6f7](https://togithub.com/hyperium/hyper/commit/ab59a6f7a1e654b1607744320de5f8477de5d6c8)) - The return types of `Timer` have been changed. ([8790fee7](https://togithub.com/hyperium/hyper/commit/8790fee74937016e6b288493bc62c61f7866c310)) - The return types for `Frame::into_data()` and `Frame::into_trailers()` have been changed from `Option<T>` to `Result<T, Self>`. ##### v1.0.0-rc.1 (2022-10-25) ##### Bug Fixes - **http1:** - trim obs-folded headers when unfolding ([#​2926](https://togithub.com/hyperium/hyper/issues/2926)) ([d4b5bd4e](https://togithub.com/hyperium/hyper/commit/d4b5bd4ee6af0ae8924cf05ab799cc3e19a3c62d)) ##### Features - **body:** - rename `Body` struct to `Incoming` ([#​3022](https://togithub.com/hyperium/hyper/issues/3022)) ([95a153bb](https://togithub.com/hyperium/hyper/commit/95a153bbc2717bd4233486e09848622ceb900574), closes [#​2971](https://togithub.com/hyperium/hyper/issues/2971)) - update `HttpBody` trait to use `Frame`s ([#​3020](https://togithub.com/hyperium/hyper/issues/3020)) ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a), closes [#​3010](https://togithub.com/hyperium/hyper/issues/3010)) - make body::Sender and Body::channel private ([#​2970](https://togithub.com/hyperium/hyper/issues/2970)) ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b), closes [#​2962](https://togithub.com/hyperium/hyper/issues/2962)) - remove "full" constructors from `Body` ([#​2958](https://togithub.com/hyperium/hyper/issues/2958)) ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - **client:** - remove `client::conn::{SendRequest, Connection}` ([#​2987](https://togithub.com/hyperium/hyper/issues/2987)) ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - remove `client::connect` module ([#​2949](https://togithub.com/hyperium/hyper/issues/2949)) ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - remove higher-level `hyper::Client` ([#​2941](https://togithub.com/hyperium/hyper/issues/2941)) ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - remove `hyper::client::server` ([#​2940](https://togithub.com/hyperium/hyper/issues/2940)) ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) - introduce version-specific client modules ([#​2906](https://togithub.com/hyperium/hyper/issues/2906)) ([509672aa](https://togithub.com/hyperium/hyper/commit/509672aada0af68a91d963e69828c6e31c44cb7b)) - **ffi:** add http1\_allow_multiline_headers ([#​2918](https://togithub.com/hyperium/hyper/issues/2918)) ([09e35668](https://togithub.com/hyperium/hyper/commit/09e35668e5b094d679efb4b98ecde9cb6f9f2f93)) - **lib:** remove `stream` cargo feature ([#​2896](https://togithub.com/hyperium/hyper/issues/2896)) ([ce72f734](https://togithub.com/hyperium/hyper/commit/ce72f73464d96fd67b59ceff08fd424733b43ffa), closes [#​2855](https://togithub.com/hyperium/hyper/issues/2855)) - **rt:** add Timer trait ([#​2974](https://togithub.com/hyperium/hyper/issues/2974)) ([fae97ced](https://togithub.com/hyperium/hyper/commit/fae97ced3a1f71fc46b6eadd3313e19705cc0006)) - **server:** - remove `server::conn::{Http, Connection}` types ([#​3013](https://togithub.com/hyperium/hyper/issues/3013)) ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c), closes [#​3012](https://togithub.com/hyperium/hyper/issues/3012)) - `server::conn::http1` and `server::conn::http2` modules ([#​3011](https://togithub.com/hyperium/hyper/issues/3011)) ([fc4d3356](https://togithub.com/hyperium/hyper/commit/fc4d3356cb7f2fffff5af9c474fa34c5adc5d6f1), closes [#​2851](https://togithub.com/hyperium/hyper/issues/2851)) - remove the high-level Server API ([#​2932](https://togithub.com/hyperium/hyper/issues/2932)) ([3c7bef3b](https://togithub.com/hyperium/hyper/commit/3c7bef3b6f6b6c3ec780e5e2db12c9d5795c1b80)) - remove `AddrStream` struct ([#​2869](https://togithub.com/hyperium/hyper/issues/2869)) ([e9cab49e](https://togithub.com/hyperium/hyper/commit/e9cab49e6e18f712b94137966580f6756e32fabb), closes [#​2850](https://togithub.com/hyperium/hyper/issues/2850)) - **service:** create own `Service` trait ([#​2920](https://togithub.com/hyperium/hyper/issues/2920)) ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee), closes [#​2853](https://togithub.com/hyperium/hyper/issues/2853)) ##### Breaking Changes - The polling functions of the `Body` trait have been redesigned. The free functions `hyper::body::to_bytes` and `aggregate` have been removed. Similar functionality is on `http_body_util::BodyExt::collect`. ([0888623d](https://togithub.com/hyperium/hyper/commit/0888623d3764e887706d4e38f82f0fb57c50bd1a)) - Either choose a version-specific `Connection` type, or look for the auto-version type in `hyper-util`. ([0766d3f7](https://togithub.com/hyperium/hyper/commit/0766d3f78d116ea243222cea134cfe7f418e6a3c)) - Pick a version-specific connection, or use the combined one in `hyper-util`. ([8ae73cac](https://togithub.com/hyperium/hyper/commit/8ae73cac6a8f6a61944505c121158dc312e7b68f)) - Change any manual `impl tower::Service` to implement `hyper::service::Service` instead. The `poll_ready` method has been removed. ([fee7d361](https://togithub.com/hyperium/hyper/commit/fee7d361c28c7eb42ef6bbfae0db14028d24bfee)) - The trait has been renamed. ([031454e5](https://togithub.com/hyperium/hyper/commit/031454e5e647dda0648424a944dbef795505e2e4)) - A channel body will be available in `hyper-util`. ([d963e6a9](https://togithub.com/hyperium/hyper/commit/d963e6a9504575116f63df2485d8480fdb9b6f0b)) - Use the types from `http-body-util`. ([9e8fc8fc](https://togithub.com/hyperium/hyper/commit/9e8fc8fca195f470a82be5bfb2fd8019c044b97a)) - Use `connect` from `hyper-util`. ([5e206883](https://togithub.com/hyperium/hyper/commit/5e206883984fe6de2812861ec363964d92b89b06)) - A pooling client is in the hyper-util crate. ([bb3af17c](https://togithub.com/hyperium/hyper/commit/bb3af17ce1a3841e9170adabcce595c7c8743ea7)) - Tower `Service` utilities will exist in `hyper-util`. ([889fa2d8](https://togithub.com/hyperium/hyper/commit/889fa2d87252108eb7668b8bf034ffcc30985117)) ##### v0.14.19 (2022-05-27) ##### 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 (2022-03-22) ##### 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 (2022-02-10) ##### 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 (2021-12-09) ##### 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 (2021-11-16) ##### 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 (2021-10-22) ##### 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 (2021-09-16) ##### 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 (2021-08-24) ##### 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 (2021-07-21) ##### 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 (2021-07-07) ##### 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 (2021-06-07) ##### Bug Fixes - **http1:** reduce memory used with flatten write strategy ([eb0c6463](https://togithub.com/hyperium/hyper/commit/eb0c64639503bbd4f6e3b1ce3a02bff8eeea7ee8)) ##### v0.14.8 (2021-05-25) ##### 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 (2021-04-22) ##### 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 (2021-04-21) ##### 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 (2021-03-26) ##### 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 (2021-02-05) ##### Bug Fixes - **build**: Fix compile error when only `http1` feature was enabled. ##### v0.14.3 (2021-02-05) ##### 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 misinterpreting 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 (2020-12-29) ##### 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 (2020-12-23) - Fixes building documentation. ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) ##### Bug Fixes - **http1:** start header read timeout immediately ([#​3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) ##### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#​3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) ##### New Contributors - [@​jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: hyperium/hyper@v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#​3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#​3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#​3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#​3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#​3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#​3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#​2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#​3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#​3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@​bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@​gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/get-convex/convex). GitOrigin-RevId: 4cc8d7c0741be125970461ee696675e42e8826a9
leftwo
referenced
this pull request
in oxidecomputer/crucible
Aug 17, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | patch | `0.14.28` -> `0.14.30` | --- ### Release Notes <details> <summary>hyperium/hyper (hyper)</summary> ### [`v0.14.30`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.30) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v0.14.30) #### Bug Fixes - **http1:** reject final chunked if missing 0 ([4a51b2af](https://togithub.com/hyperium/hyper/commit/4a51b2afefcc1373c2a5b834fa0ae8d935dbff46)) ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) #### Bug Fixes - **http1:** start header read timeout immediately ([#​3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) #### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#​3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) #### New Contributors - [@​jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: hyperium/hyper@v0.14.28...v0.14.29 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles. 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/oxidecomputer/crucible). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As mentioned in #2675 (comment), the timeout didn't apply if no bytes were written yet.
This moves the start of the timeout's polling before the check for an empty buffer.