Update Rust crate hyper to v1
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| hyper (source) | dependencies | major |
0.14 -> 1.0
|
Release Notes
hyperium/hyper (hyper)
v1.8.1
Bug Fixes
v1.8.0
Bug Fixes
- http1: fix rare missed write wakeup on connections (#3952) (2377b893)
- http2: fix internals of HTTP/2 CONNECT upgrades (#3967) (58e0e7dc, closes #3966)
Features
Breaking Changes
-
The HTTP/2 client connection no longer allows an executor that can not spawn itself.
This was an oversight originally. The client connection will now include spawning a future that keeps a copy of the executor to spawn other futures. Thus, if it is
!Send, it needs to spawn!Sendfutures. The likelihood of executors that match the previously allowed behavior should be very remote.There is also technically a semver break in here, which is that the
Http2ClientConnExectrait no longer dyn-compatible, because it now expects to beClone. This should not break usage of theconnbuilder, because it already separately hadE: Clonebounds. If someone were usingdyn Http2ClientConnExec, that will break. However, there is no purpose for doing so, and it is not usable otherwise, since the trait only exists to propagate bounds into hyper. Thus, the breakage should not affect anyone. (58e0e7dc)
v1.7.0
Bug Fixes
Features
- client:
-
error: add
Error::is_shutdown()(#3863) (b8affd8a, closes #2745) -
server: add
allow_multiple_spaces_in_request_line_delimitershttp1 builder method (#3929) (9749184f)
v1.6.0
Bug Fixes
- server:
Features
-
ext: add
ext::on_informational()callback extension (#3818) (8ce1fcfa, closes #2565) -
server: add
http1::Builder::ignore_invalid_headers(bool)option (#3824) (3817a79b)
Breaking Changes
-
http2::Builder::max_local_error_reset_streams()now takes&mut selfand returns&mut Self. In practice, this shouldn't break almost anyone. It was the wrong receiver and return types. (e981a91e)
v1.5.2 (2024-12-16)
Bug Fixes
- http1:
Features
v1.5.1 (2024-11-19)
Bug Fixes
- http2:
v1.5.2
Bug Fixes
- http1:
Features
v1.5.1
Bug Fixes
- http2:
v1.5.0
Bug Fixes
Features
-
client: Add HTTP/2 builder options
header_table_size()andmax_concurrent_streams()(4c84e8c1) -
rt: add
ReadBufCursormethodsremaining()andput_slice()(#3700) (5a13041e)
v1.4.1 (2024-07-09)
Bug Fixes
- http1: reject final chunked if missing 0 (8e5de1bb)
v1.4.1
Bug Fixes
- http1: reject final chunked if missing 0 (8e5de1bb)
v1.4.0
Bug Fixes
- http2: stop removing "Trailer" header in HTTP/2 responses as per RFC 9110 (#3648) (a3269f7a)
- server: start header read timeout immediately (#3185) (0eb1b6cf)
Features
- client:
- http1: add support for receiving trailer fields (#3637) (ac84af6b, closes #2703)
-
server: add
Builder::auto_date_header(bool)to allow disabling Date headers (721785ef) - service: implement Service for reference types (#3607) (eade122d)
v1.3.1 (2024-04-16)
Bug Fixes
- client: revert auto content-length header for some requests (#3633)
v1.3.1
Bug Fixes
- client: revert auto content-length header for some requests (#3633)
v1.3.0
Bug Fixes
- client: send content-length even with no body (172fdfaf)
- http2:
- server:
Features
- client:
- ext: implement From ReasonPhrase for Bytes (dc27043a)
- service: expose Service and HttpService trait unconditionally (6aee2e6e)
-
server: relax
'staticfrom connection IO trait bounds (#3595) (0013bdda)
v1.2.0
Bug Fixes
- http2: typo in trace logging (#3536) (79862ec2)
-
rt:
Sleep::downcast_mut_pin()no longer extend lifetime (7206fe30, closes #3556)
Features
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)
v1.1.0
Bug Fixes
- http1:
Features
-
client: add
http1::Connectionwithout_shutdown()method (#3430) (210bfaa7) - http1: Add support for sending HTTP/1.1 Chunked Trailer Fields (#3375) (31b41807, closes #2719)
-
server: expose
server::conn::http1::UpgradeableConnection(#3457) (6e3042a8)
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
Features
- rt: Make ReadBuf::new public (7161f562)
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)
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
Features
- rt: Make ReadBuf::new public (7161f562)
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)
v1.0.0
Be sure to check out the upgrading guide.
Bug Fixes
- client:
-
ffi: fix deadlock in
hyper_executor::poll_next(#3370) (0c7d03ef, closes #3369) - http2:
- server: Respect Expect header only when http proto > 1.0 (#3294) (43d2f5c6)
Features
-
client: allow
!SendIO with HTTP/1 client (#3371) (cf87eda8, closes #3363) - error:
- ext:
- lib:
-
rt: rename to
Http2ClientConnExecandHttp2ServerConnExec(52b27faa) -
server: default
http1header_read_timeoutto 30 seconds (8bf26d1e) - upgrade: introduce tracing as an optional unstable feature (#3326) (da3fc76c, closes #3319)
Breaking Changes
- Upgrade to
http1.0.
(899e92a5)
- (From previous RCs)
ExecutorClientis renamed toHttp2ClientConnExec, andHttp2ConnExecis renamed toHttp2ServerConnExec.
(52b27faa)
-
If you use client HTTP/1 upgrades, you must call
Connection::with_upgrades()to still work the same. (cf87eda8) -
HTTP/2 server builder now has a default max concurrent streams. This is a behavior change. Consider setting your own maximum. (dd638b5b)
-
Do not build any logic depending on the exact types of an
Error::source(). They are only for debugging. (502a6450) -
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) -
The
ReasonPhrase::from_bytes_unchecked()method is gone. Usefrom_static()orTryFromto construct one.
(4021c57b)
v1.0.0-rc.4 (2023-07-10)
Bug Fixes
- http1:
Features
- client: Make clients able to use non-Send executor (#3184) (d977f209, closes #3017)
- rt:
- service: change Service::call to take &self (#3223) (d894439e, closes #3040)
Breaking Changes
- Any IO transport type provided must now implement
hyper::rt::{Read, Write}instead oftokio::iotraits. You can grab a helper type fromhyper-utilto wrap Tokio types, or implement the traits yourself, if it's a custom type. (f9f65b7a) -
client::conn::http2types now use another generic for anExecutor. Code that namesConnectionneeds to include the additional generic parameter. (d977f209) - 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)
v1.0.0-rc.3 (2023-02-23)
Bug Fixes
Features
- client:
-
rt: make private executor traits public (but sealed) in
rt::bounds(#3127) (fc9f3070, closes #2051, #3097)
Breaking Changes
-
hyper::client::conn::Http2::Builder::newnow requires an executor argument. (8068aa01) - The method
hyper::client::conn::http1::Builder::executor()is removed, since it did nothing. (1de9accf)
v1.0.0-rc.2 (2022-12-29)
Bug Fixes
- client: send an error back to client when dispatch misbehaves () (75aac9f4, closes #2649)
- http2: Fix race condition in client dispatcher (#3041) (f202230c)
Features
- body: upgrade to http-body 1.0.0-rc.2 (#3106) (51b45e3f)
- client:
- rt: Clean up Timer trait (#3037) (8790fee7, closes #3028)
- server:
Breaking Changes
- removes
server::conn::http2::Builder::with_executor()(ab59a6f7) - The return types of
Timerhave been changed. (8790fee7) - The return types for
Frame::into_data()andFrame::into_trailers()have been changed fromOption<T>toResult<T, Self>.
v1.0.0-rc.1 (2022-10-25)
Bug Fixes
Features
- body:
- client:
- ffi: add http1_allow_multiline_headers (#2918) (09e35668)
-
lib: remove
streamcargo feature (#2896) (ce72f734, closes #2855) - rt: add Timer trait (#2974) (fae97ced)
- server:
-
service: create own
Servicetrait (#2920) (fee7d361, closes #2853)
Breaking Changes
-
The polling functions of the
Bodytrait have been redesigned.The free functions
hyper::body::to_bytesandaggregatehave been removed. Similar functionality is onhttp_body_util::BodyExt::collect. (0888623d) -
Either choose a version-specific
Connectiontype, or look for the auto-version type inhyper-util. (0766d3f7) -
Pick a version-specific connection, or use the combined one in
hyper-util. (8ae73cac) -
Change any manual
impl tower::Serviceto implementhyper::service::Serviceinstead. Thepoll_readymethod has been removed. (fee7d361) -
The trait has been renamed. (031454e5)
-
A channel body will be available in
hyper-util. (d963e6a9) -
Use the types from
http-body-util. (9e8fc8fc) -
Use
connectfromhyper-util. (5e206883) -
A pooling client is in the hyper-util crate. (bb3af17c)
-
Tower
Serviceutilities will exist inhyper-util. (889fa2d8)
v0.14.19 (2022-05-27)
Bug Fixes
- http1: fix preserving header case without enabling ffi (#2820) (6a35c175)
- server: don't add implicit content-length to HEAD responses (#2836) (67b73138)
Features
- server:
Breaking Changes
-
ffi (unstable):
-
hyper_clientconn_options_newno longer sets thehttp1_preserve_header_caseconnection option by default. Users should now callhyper_clientconn_options_set_preserve_header_caseif they desire that functionality. (78de8914)
-
v0.14.18 (2022-03-22)
Bug Fixes
- ffi: don't build C libraries by default (1c663706)
Features
v0.14.17 (2022-02-10)
Bug Fixes
Features
- client: implement the HTTP/2 extended CONNECT protocol from RFC 8441 (#2682) (5ec094ca)
-
error: add
Error::message(#2737) (6932896a, closes #2732) - http1: implement obsolete line folding (#2734) (1f0c177b)
v0.14.16 (2021-12-09)
Bug Fixes
- http1: return 414 when URI contains more than 65534 characters (#2706) (5f938fff, closes #2701)
-
http2: received
Body::size_hint()now return 0 if implicitly empty (#2715) (84b78b6c) - server: use case-insensitive comparison for Expect: 100-continue (#2709) (7435cc33, closes #2708)
Features
-
http2: add
http2_max_send_buf_sizeoption to client and server (bff977b7) - server: add HTTP/1 header read timeout option (#2675) (842c6553, closes #2457)
v0.14.15 (2021-11-16)
Bug Fixes
-
client: cancel blocking DNS lookup if
GaiFutureis dropped (174b553d
Features
-
http1: add
http1_writev(bool)options to Client and Server builders, to allow forcing vectored writes (80627141) - upgrade: allow http upgrades with any body type (ab469eb3)
v0.14.14 (2021-10-22)
Bug Fixes
- client:
Features
- h2: always include original h2 error on broken pipe (6169db25)
- server: Remove Send + Sync requirement for Body in with_graceful_shutdown (1d553e52)
v0.14.13 (2021-09-16)
Bug Fixes
- client: don't reuse a connection while still flushing (c88011da)
- server: convert panic to error if Connection::without_shutdown called on HTTP/2 conn (ea3e2282)
Features
- ffi: add hyper_request_set_uri_parts (a54689b9)
- lib:
v0.14.12 (2021-08-24)
Bug Fixes
- ffi: on_informational callback had no headers (39b6d01a)
- http1: apply header title case for consecutive dashes (#2613) (684f2fa7)
-
http2: improve errors emitted by HTTP2
Upgradedstream shutdown (#2622) (be08648e)
Features
v0.14.11 (2021-07-21)
Bug Fixes
Features
- ffi: add hyper_request_on_informational (25d18c0b)
v0.14.10 (2021-07-07)
Bug Fixes
- http1:
Features
- ffi: add option to get raw headers from response (8c89a8c1)
v0.14.9 (2021-06-07)
Bug Fixes
- http1: reduce memory used with flatten write strategy (eb0c6463)
v0.14.8 (2021-05-25)
Features
- client: allow to config http2 max concurrent reset streams (#2535) (b9916c41)
-
error: add
Error::is_parse_too_largeandError::is_parse_statusmethods (#2538) (960a69a5) - http2:
Performance
v0.14.7 (2021-04-22)
Bug Fixes
- http1: http1_title_case_headers should move Builder (a303b3c3)
Features
- server: implement forgotten settings for case preserving (4fd6c4cb)
v0.14.6 (2021-04-21)
Features
- client: add option to allow misplaced spaces in HTTP/1 responses (#2506) (11345394)
- http1: add options to preserve header casing (#2480) (dbea7716, closes #2313)
v0.14.5 (2021-03-26)
Bug Fixes
- client: omit default port from automatic Host headers (#2441) (0b11eee9)
- headers: Support multiple Content-Length values on same line (#2471) (48fdaf16, closes #2470)
- server: skip automatic Content-Length headers when not allowed (#2216) (8cbf9527, closes #2215)
Features
- client: allow HTTP/0.9 responses behind a flag (#2473) (68d4e4a3, closes #2468)
-
server: add
AddrIncoming::from_listenerconstructor (#2439) (4c946af4)
v0.14.4 (2021-02-05)
Bug Fixes
-
build: Fix compile error when only
http1feature was enabled.
v0.14.3 (2021-02-05)
Bug Fixes
- client: HTTP/1 client "Transfer-Encoding" repair code would panic (#2410) (2c8121f1, closes #2409)
- http1: fix server misinterpreting multiple Transfer-Encoding headers (8f93123e)
Features
- body:
- ffi:
v0.14.2 (2020-12-29)
Features
-
client: expose
connecttypes without proto feature (#2377) (73a59e5f) -
server: expose
Acceptwithout httpX features (#2382) (a6d4fcbe)
v0.14.1 (2020-12-23)
- Fixes building documentation.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.