Skip to content
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

Update Rust crate hyper to v1 #4618

Closed
wants to merge 1 commit into from
Closed

Conversation

oxide-renovate[bot]
Copy link
Contributor

@oxide-renovate oxide-renovate bot commented Dec 5, 2023

This PR contains the following updates:

Package Type Update Change
hyper (source) workspace.dependencies major 0.14 -> 1.0

Release Notes

hyperium/hyper (hyper)

v1.0.1

Compare Source

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

Compare Source

Be sure to check out the upgrading guide.

Bug Fixes
Features
Breaking Changes
  • Upgrade to http 1.0.

(899e92a5)

  • (From previous RCs) ExecutorClient is renamed to
    Http2ClientConnExec, and Http2ConnExec is renamed to
    Http2ServerConnExec.

(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. Use from_static() or TryFrom to construct one.

(4021c57b)

v1.0.0-rc.4 (2023-07-10)
Bug Fixes
Features
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)
  • client::conn::http2 types now use another generic for an Executor.
    Code that names Connection needs 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
  • server: prevent sending 100-continue if user drops request body (#​3137) (499fe1f9)
Features
Breaking Changes
  • hyper::client::conn::Http2::Builder::new now 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:
    • remove http2_ prefixes from client::conn::http2::Builder methods (669df217)
    • remove http1_ prefixes from client::conn::http1::Builder methods (4cbaef79)
    • implement Clone for http2::SendRequest (#​3042) (00ea49e4, closes #​3036)
    • allow ignoring HTTP/1 invalid header lines in requests (81e25fa8)
  • rt: Clean up Timer trait (#​3037) (8790fee7, closes #​3028)
  • server:
    • remove http1_ method prefixes from server::conn::http2::Builder (291ed0b4)
    • remove http1_ method prefixes from server::conn::http2::Builder (48e70c69)
    • remove server::conn::http2::Builder::with_executor() (#​3089) (ab59a6f7, closes #​3087)
Breaking Changes
  • removes server::conn::http2::Builder::with_executor()
    (ab59a6f7)
  • The return types of Timer have been changed.
    (8790fee7)
  • 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
Features
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)

  • Either choose a version-specific Connection type, or
    look for the auto-version type in hyper-util.
    (0766d3f7)

  • Pick a version-specific connection, or use the combined
    one in hyper-util.
    (8ae73cac)

  • Change any manual impl tower::Service to implement hyper::service::Service instead. The poll_ready method 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 connect from hyper-util.
    (5e206883)

  • A pooling client is in the hyper-util crate.
    (bb3af17c)

  • Tower Service utilities will exist in hyper-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
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)
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
v0.14.16 (2021-12-09)
Bug Fixes
Features
  • http2: add http2_max_send_buf_size option 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 GaiFuture is 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:
    • make ResponseFuture implement Sync (bd6c35b9)
    • remove ipv6 square brackets before resolving (910e0268)
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:
    • Export more things with Cargo features (server, !http1, !http2) (0a4b56ac)
    • Export rt module independently of Cargo features (cf6f62c7)
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 Upgraded stream shutdown (#​2622) (be08648e)
Features
v0.14.11 (2021-07-21)
Bug Fixes
  • client: retry when pool checkout returns closed HTTP2 connection (#​2585) (52214f39)
  • http2:
Features
  • ffi: add hyper_request_on_informational (25d18c0b)
v0.14.10 (2021-07-07)
Bug Fixes
  • http1:
    • reject content-lengths that have a plus sign prefix (06335158)
    • protect against overflow in chunked decoder (efd9a982)
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
Performance
  • http2: reduce amount of adaptive window pings as BDP stabilizes (#​2550) (4cd06bf2)
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
v0.14.5 (2021-03-26)
Bug Fixes
Features
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) (2c8121f1, closes #​2409)
  • http1: fix server misinterpreting multiple Transfer-Encoding headers (8f93123e)
Features
v0.14.2 (2020-12-29)
Features
v0.14.1 (2020-12-23)
  • Fixes building documentation.

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@oxide-renovate oxide-renovate bot added the dependencies Pull requests that update a dependency file label Dec 5, 2023
@oxide-renovate
Copy link
Contributor Author

oxide-renovate bot commented Dec 7, 2023

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 1.0.1
    Updating crates.io index
error: failed to select a version for the requirement `hyper = "^0.14.27"`
candidate versions found which didn't match: 1.0.1
location searched: crates.io index
required by package `omicron-workspace-hack v0.1.0 (/tmp/renovate/repos/github/oxidecomputer/omicron/workspace-hack)`
perhaps a crate was updated and forgotten to be re-vendored?

@sunshowers
Copy link
Contributor

Going to have to club this with http 1.x updates etc.

@sunshowers sunshowers closed this Dec 7, 2023
@oxide-renovate
Copy link
Contributor Author

oxide-renovate bot commented Dec 7, 2023

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 1.x releases. But if you manually upgrade to 1.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@oxide-renovate oxide-renovate bot deleted the renovate/hyper-1.x branch December 7, 2023 05:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant