hyper breaking changes
cargo147 curated breaking changes across major versions of hyper. Use this as a migration checklist before bumping dependencies.
- 1.7.0 \u2192 1.8.0breaking
The HTTP/2 client connection no longer allows an executor
- 1.5.2 \u2192 1.6.0breaking
`http2::Builder::max_local_error_reset_streams()` now takes `&mut self` and returns `&mut Self`. In practice, this shouldn't break almost anyone. It was the wrong receiver and return types.
- 1.1.0 \u2192 1.2.0breaking
The returned lifetime from `Sleep::downcast_mut_pin()`
- 1.0.0 \u2192 1.0.1breaking
Pin is #[fundamental], so providing a Read/Write impl for it theoretically conflicts
- 1.0.0-rc.3 \u2192 1.0.0-rc.4breaking
`client::conn::http2` types now use another generic for an `Executor`.
- 1.0.0-rc.3 \u2192 1.0.0-rc.4breaking
The Service::call function no longer takes a mutable reference to self.
- 1.0.0-rc.3 \u2192 1.0.0-rc.4breaking
Any IO transport type provided must now implement `hyper::rt::{Read, Write}` instead of
- 1.0.0-rc.2 \u2192 1.0.0-rc.3api
`hyper::client::conn::Http2::Builder::new` now requires an executor argument.
- 1.0.0-rc.1 \u2192 1.0.0-rc.2breaking
The return types for `Frame::into_data()` and `Frame::into_trailers()` have been changed from `Option<T>` to `Result<T, Self>`.
- 1.0.0-rc.1 \u2192 1.0.0-rc.2breaking
The return types of `Timer` have been changed.
- 1.0.0-rc.1 \u2192 1.0.0-rc.2removed
removes `server::conn::http2::Builder::with_executor()`
- 0.14.19 \u2192 1.0.0-rc.1breaking
A pooling client is in the hyper-util crate.
- 0.14.19 \u2192 1.0.0-rc.1breaking
The polling functions of the `Body` trait have been
- 0.14.19 \u2192 1.0.0-rc.1breaking
Either choose a version-specific `Connection` type, or
- 0.14.19 \u2192 1.0.0-rc.1breaking
Pick a version-specific connection, or use the combined
- 0.14.19 \u2192 1.0.0-rc.1breaking
A channel body will be available in `hyper-util`.
- 0.14.19 \u2192 1.0.0-rc.1breaking
Use the types from `http-body-util`.
- 0.14.19 \u2192 1.0.0-rc.1breaking
Use `connect` from `hyper-util`.
- 0.14.19 \u2192 1.0.0-rc.1breaking
Tower `Service` utilities will exist in `hyper-util`.
- 0.14.19 \u2192 1.0.0-rc.1removed
Change any manual `impl tower::Service` to implement `hyper::service::Service` instead. The `poll_ready` method has been removed.
- 0.14.19 \u2192 1.0.0-rc.1renamed
The trait has been renamed.
- 1.0.0-rc.4 \u2192 1.0.0behavior
HTTP/2 server builder now has a default max concurrent streams. This is a
- 1.0.0-rc.4 \u2192 1.0.0breaking
The format no longer prints the error chain. Be sure to
- 1.0.0-rc.4 \u2192 1.0.0breaking
Do not build any logic depending on the exact types of
- 1.0.0-rc.4 \u2192 1.0.0breaking
If you use client HTTP/1 upgrades, you must call
- 1.0.0-rc.4 \u2192 1.0.0breaking
Upgrade to `http` 1.0.
- 1.0.0-rc.4 \u2192 1.0.0breaking
The `ReasonPhrase::from_bytes_unchecked()` method is
- 1.0.0-rc.4 \u2192 1.0.0renamed
(From previous RCs) `ExecutorClient` is renamed to
- 0.8.1 \u2192 0.9.0breaking
The re-exported Url type has breaking changes.
- 0.7.2 \u2192 0.8.0breaking
mime 0.2 depends on serde 0.7, so any instances of
- 0.6.16 \u2192 0.7.0api
LanguageTags api is changed.
- 0.6.16 \u2192 0.7.0breaking
This adds 2 required methods to the `NetworkStream`
- 0.6.5 \u2192 0.6.7breaking
Any custom implementation of NetworkStream must now
- 0.6.1 \u2192 0.6.2breaking
Access-Control-Allow-Origin does no longer use Url
- 0.6.1 \u2192 0.6.2breaking
Technically a break, since `Response::new()` takes an
- 0.6.15 \u2192 0.6.16breaking
`RequestBuilder<U>` should be replaced by `RequestBuilder`.
- 0.6.10 \u2192 0.6.11api
This changes the signature of HttpWriter.end(),
- 0.5.2 \u2192 0.6.0breaking
`hyper::client::request::Response` is no longer generic
- 0.5.2 \u2192 0.6.0breaking
A new variant `Http2` added to a public enum
- 0.5.2 \u2192 0.6.0breaking
Adds a new variant to public Error enum. The proper fix
- 0.5.2 \u2192 0.6.0breaking
parse_header returns Result instead of Option, related
- 0.5.2 \u2192 0.6.0breaking
Connectors and Protocols passed to the `Client` must
- 0.5.2 \u2192 0.6.0breaking
Server::https was changed to allow any implementation
- 0.5.2 \u2192 0.6.0breaking
AcceptLanguage and ContentLanguage use LanguageTag now,
- 0.5.0 \u2192 0.5.1breaking
Error enum extended. Return type of header/shared/
- 0.4.0 \u2192 0.5.0breaking
Adding a new required method to a public trait is a
- 0.4.0 \u2192 0.5.0breaking
Usage of Response.deconstruct() and construct() now use
- 0.4.0 \u2192 0.5.0breaking
If you use deref! from the header module, you'll need
- 0.4.0 \u2192 0.5.0breaking
Any custom Connectors will need to change to &self in
- 0.3.16 \u2192 0.4.0breaking
Upgrade header Protocol changed.
- 0.3.16 \u2192 0.4.0breaking
Add variant to Access-Control-Allow-Origin enum
- 0.3.16 \u2192 0.4.0breaking
Adds a variant to `hyper::Error`, which may break any
- 0.3.16 \u2192 0.4.0breaking
`from_one_raw_str()` returns `None` on empty values.
- 0.3.16 \u2192 0.4.0removed
The terms `Http` and `Error` have been removed from the Error
- 0.3.7 \u2192 0.3.8removed
Removed impl_header!() and impl_list_header!() macros,
- 0.3.14 \u2192 0.3.15removed
This removes the trait `IntoBody`, and instead using
- 0.3.10 \u2192 0.3.11behavior
For people using the default HttpConnector and Client,
- 0.3.10 \u2192 0.3.11breaking
`AccessControlAllowHeaders` and `AccessControlRequestHeaders` values
- 0.3.10 \u2192 0.3.11breaking
`If-Match`, `If-None-Match` and `Vary` item variant name changed to `Items`
- 0.3.10 \u2192 0.3.11breaking
`Etag` header field is now `ETag` header field
- 0.3.0 \u2192 0.3.1breaking
Several public functions and types in the `http` module
- 0.2.1 \u2192 0.3.0breaking
added requirement that all HeaderFormat implementations
- 0.2.1 \u2192 0.3.0breaking
Check the docs. Everything was touched.
- 0.14.18 \u2192 0.14.19behavior
`hyper_clientconn_options_new` no longer sets the `http1_preserve_header_case` connection option by default.
- 0.14.18 \u2192 0.14.19breaking
**ffi (unstable):**
- 0.13.9 \u2192 0.14.0behavior
All optional features have been disabled by default.
- 0.13.9 \u2192 0.14.0breaking
This puts all HTTP/2 methods and support behind an
- 0.13.9 \u2192 0.14.0breaking
This puts all HTTP/1 methods and support behind an
- 0.13.9 \u2192 0.14.0breaking
The HTTP client of hyper is now an optional feature. To
- 0.13.9 \u2192 0.14.0breaking
The HTTP server code is now an optional feature. To
- 0.13.9 \u2192 0.14.0breaking
The method `Body::on_upgrade()` is gone. It is
- 0.13.9 \u2192 0.14.0breaking
hyper depends on `tokio` v1 and `bytes` v1.
- 0.13.9 \u2192 0.14.0breaking
hyper no longer emits `log` records automatically.
- 0.13.9 \u2192 0.14.0breaking
Custom resolvers used with `HttpConnector` must change
- 0.13.9 \u2192 0.14.0removed
Removed `http1_writev` methods from `client::Builder`,
- 0.12.35 \u2192 0.13.0behavior
The server's behavior will now by default close
- 0.12.35 \u2192 0.13.0breaking
All usage of `hyper::body::Payload` should be replaced
- 0.12.35 \u2192 0.13.0breaking
Any type passed to the `executor` builder methods must
- 0.12.35 \u2192 0.13.0breaking
All usage of `hyper::Chunk` should be replaced with
- 0.12.35 \u2192 0.13.0breaking
Using a `Body` as a `Stream`, and constructing one via
- 0.12.35 \u2192 0.13.0breaking
Calls to `GaiResolver::new` and `HttpConnector::new` no
- 0.12.35 \u2192 0.13.0breaking
All usage of `hyper::client::connect::Destination`
- 0.12.35 \u2192 0.13.0breaking
Connectors no longer return a tuple of
- 0.12.35 \u2192 0.13.0breaking
Passing a `Stream` to `Server::builder` or
- 0.12.35 \u2192 0.13.0breaking
Usage of `send_data` should either be changed to
- 0.12.35 \u2192 0.13.0breaking
Any manual implementations of `Connect` must instead
- 0.12.35 \u2192 0.13.0breaking
The `Resolve` trait is gone. All custom resolvers should
- 0.12.35 \u2192 0.13.0breaking
All usage of async traits (`Future`, `Stream`,
- 0.11.27 \u2192 0.12.0breaking
`tokio_proto::streaming::Body::from(hyper::Body)`
- 0.11.27 \u2192 0.12.0breaking
`Body::is_empty()` is gone. Replace with
- 0.11.27 \u2192 0.12.0breaking
Each payload chunk must implement `Buf`, instead of
- 0.11.27 \u2192 0.12.0breaking
Replace any references of
- 0.11.27 \u2192 0.12.0breaking
The `Service` trait has changed: it has some changed
- 0.11.27 \u2192 0.12.0breaking
The `Server` is no longer created from `Http::bind`,
- 0.11.27 \u2192 0.12.0breaking
`Client:new(&handle)` and `Client::configure()` are now
- 0.11.27 \u2192 0.12.0breaking
`Error` is no longer an enum to pattern match over, or
- 0.11.27 \u2192 0.12.0breaking
All uses of `Handle` now need to be new-tokio `Handle`.
- 0.11.27 \u2192 0.12.0breaking
Custom connectors should now implement `Connect`
- 0.11.27 \u2192 0.12.0breaking
All code that was generic over the body as `Stream` must
- 0.11.27 \u2192 0.12.0breaking
`Method`, `Request`, `Response`, `StatusCode`,
- 0.11.27 \u2192 0.12.0breaking
The variants of `Method` are now uppercase, for instance, `Method::Get` is now `Method::GET`.
- 0.11.27 \u2192 0.12.0breaking
The variants of `StatusCode` are now uppercase, for instance, `StatusCode::Ok` is now `StatusCode::OK`.
- 0.11.27 \u2192 0.12.0breaking
The variants of `Version` are now uppercase, for instance, `HttpVersion::Http11` is now `Version::HTTP_11`.
- 0.11.27 \u2192 0.12.0breaking
The typed headers from `hyper::header` are gone for now.
- 0.11.27 \u2192 0.12.0breaking
The `mime` crate is no longer re-exported as `hyper::mime`.
- 0.11.27 \u2192 0.12.0breaking
The `server-proto` cargo feature, which included `impl ServerProto for Http`, and related associated types.
- 0.11.27 \u2192 0.12.0breaking
`client::Config::no_proto()`
- 0.11.27 \u2192 0.12.0breaking
`hyper::Body::from(tokio_proto::streaming::Body)`
- 0.11.27 \u2192 0.12.0breaking
`hyper::Body::from(futures::sync::mpsc::Receiver)`
- 0.11.27 \u2192 0.12.0breaking
`Http::no_proto()`
- 0.11.27 \u2192 0.12.0removed
Removed deprecated APIs:
- 0.11.27 \u2192 0.12.0removed
Removed `compat` cargo feature, and `compat` related API. This was the conversion methods for hyper's
- 0.10.9 \u2192 0.11.0breaking
The fields of the `Host` header are no longer
- 0.10.9 \u2192 0.11.0breaking
The name of `RequestUri` has changed to `Uri`. It is no
- 0.10.9 \u2192 0.11.0breaking
`Server` is no longer the primary entry point. Instead,
- 0.10.9 \u2192 0.11.0breaking
The `Preference` header had a typo in a variant and it's string representation,
- 0.10.9 \u2192 0.11.0breaking
This makes `Request.remote_addr` an
- 0.10.9 \u2192 0.11.0breaking
The `Url` type is no longer used. Any instance in the
- 0.10.9 \u2192 0.11.0breaking
If you were explicitly checking the `StatusCode`, such as
- 0.10.9 \u2192 0.11.0breaking
`Origin.scheme` and `Origin.host` now return `Option`s, since the `Origin` could be `null`.
- 0.10.9 \u2192 0.11.0breaking
The `Encoding` enum has an additional variant, `Trailers`.
- 0.10.9 \u2192 0.11.0breaking
The `fmt_header` method has changed to take a different
- 0.10.9 \u2192 0.11.0breaking
The `link_extensions` methods of the `Link` header are
- 0.10.9 \u2192 0.11.0breaking
`HttpDate` no longer has public fields. Convert between
- 0.10.9 \u2192 0.11.0breaking
Any use of `Quality(num)` should change to `q(num)`.
- 0.10.9 \u2192 0.11.0breaking
The `Cookie` header is no longer a wrapper over a
- 0.10.9 \u2192 0.11.0breaking
Some headers used `UniCase`, but now use
- 0.10.9 \u2192 0.11.0breaking
To use `RawStatus`, you must enable the `raw_status`
- 0.10.9 \u2192 0.11.0breaking
Most uses of `mime` will likely break. There is no more
- 0.10.9 \u2192 0.11.0breaking
All usage of `status.class()` should change to
- 0.10.9 \u2192 0.11.0breaking
LanguageTag used to be at the crate root, but it is now
- 0.10.9 \u2192 0.11.0breaking
`Header::parse_header` now receives `&Raw`, instead of
- 0.10.9 \u2192 0.11.0breaking
A big sweeping set of breaking changes.
- 0.10.9 \u2192 0.11.0breaking
This adds a new variant to the `Encoding` enum, which
- 0.10.9 \u2192 0.11.0removed
`Headers.remove()` used to return a `bool`,
- 0.10.9 \u2192 0.11.0removed
Removes the undocumented `from_u16` function. Use
- 0.10.9 \u2192 0.11.0removed
This removes several deprecated methods for converting
- 0.10.1 \u2192 0.10.2breaking
This technically will cause code that a calls
- 0.9.14 \u2192 0.10.0breaking
hyper will no longer provide OpenSSL support out of the
- 0.9.14 \u2192 0.10.0breaking
Usage of `with_proxy_config` will need to change to
- 0.9.14 \u2192 0.10.0breaking
There is no more `hyper::http::h2`.
- 0.9.14 \u2192 0.10.0breaking
There is no longer a `serde-serialization` feature.
- 0.9.14 \u2192 0.10.0breaking
The `Cookie` and `SetCookie` headers no longer use the
- 0.1.7 \u2192 0.1.8breaking
Change header `Cookie` to `Cookie`
- 0.1.6 \u2192 0.1.7breaking
Implementations of Header will need to adjust the
- 0.1.12 \u2192 0.1.13removed
This removes unregistered status codes from the enum. Use
- 0.1.10 \u2192 0.1.11breaking
for any consumers of the Etag header, since the entity
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/hyper