{"ecosystem":"cargo","package":"reqwest","from_version":null,"to_version":null,"changes":[{"from_version":"0.8.8","to_version":"0.9.0","change_type":"breaking","description":"Changed `ClientBuilder::danger_disable_hostname_verification()`","migration_hint":null},{"from_version":"0.8.8","to_version":"0.9.0","change_type":"breaking","description":"Changed `multipart::Part::mime()` to `mime_str()`.","migration_hint":null},{"from_version":"0.8.8","to_version":"0.9.0","change_type":"breaking","description":"Changed `RequestBuilder` to be a by-value builder of by-ref.","migration_hint":null},{"from_version":"0.8.8","to_version":"0.9.0","change_type":"breaking","description":"Changed `ClientBuilder` to be a by-value builder instead of by-ref.","migration_hint":null},{"from_version":"0.8.8","to_version":"0.9.0","change_type":"removed","description":"The upgrade to `hyper` 0.12 means a temporary removal of the typed headers.","migration_hint":null},{"from_version":"0.8.8","to_version":"0.9.0","change_type":"removed","description":"Removed the `unstable` cargo-feature, and moved `reqwest::unstable::async`","migration_hint":null},{"from_version":"0.7.3","to_version":"0.8.0","change_type":"behavior","description":"A default timeout for `reqwest::Client` is used set to 30 seconds (#181)","migration_hint":null},{"from_version":"0.7.3","to_version":"0.8.0","change_type":"breaking","description":"`Client::new` no longer returns a `Result`.","migration_hint":null},{"from_version":"0.7.3","to_version":"0.8.0","change_type":"breaking","description":"`async::Response::body()` now returns a reference to the body instead of consuming the `Response`.","migration_hint":null},{"from_version":"0.7.3","to_version":"0.8.0","change_type":"breaking","description":"`ClientBuilder` and `RequestBuilder` hold their errors till consumed (#189).","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"api","description":"`mime` has been upgraded to 0.3, with a very different API.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"breaking","description":"The `RequestBuilder` methods all take `&mut self`, instead of moving the builder, and return `&mut Self`. (This shouldn't actually affect most people who are building a request in a single chain.)","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"breaking","description":"`Error::cause()` now returns `Error::get_ref().cause()`.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"breaking","description":"hyper has been upgraded to 0.11, so `header`, `StatusCode`, and `Method` have breaking changes.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"breaking","description":"`Response::status()` returns a `StatusCode` instead of `&StatusCode`.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"breaking","description":"All methods on `Client` that start a `RequestBuilder` now return a `Result` immediately, instead of delaying the URL parse error for later.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"removed","description":"All configuration methods have been removed from the `Client`, and moved to the `ClientBuilder`.","migration_hint":null},{"from_version":"0.6.2","to_version":"0.7.0","change_type":"removed","description":"The `HttpVersion` type was completely removed.","migration_hint":null},{"from_version":"0.5.2","to_version":"0.6.0","change_type":"api","description":"`RedirectPolicy::custom` receives different arguments, and returns different values. See the [docs](https://docs.rs/reqwest/0.6.0/reqwest/struct.RedirectPolicy.html#method.custom) for an example.","migration_hint":null},{"from_version":"0.5.2","to_version":"0.6.0","change_type":"breaking","description":"The publicly exposed peer dependency serde was upgraded. It is now `serde@1.0`. Mismatched version will give a compiler error that a serde trait is not implemented.","migration_hint":null},{"from_version":"0.5.2","to_version":"0.6.0","change_type":"breaking","description":"`Error` is no longer an `enum`, but an opaque struct. Details about it can be checked with `std::error::Error::cause()`, and methods on `reqwest::Error` include `is_http()`, `is_serialization()`, and `is_redirect()`.","migration_hint":null},{"from_version":"0.4.0","to_version":"0.5.0","change_type":"behavior","description":"The only breaking change is a behavioral one, all programs should still compile without modification. The automatic GZIP decoding could interfere in cases where a user was expecting the GZIP bytes, either to save to a file or decode themselves. To restore this functionality, set `client.gzip(false)`.","migration_hint":null},{"from_version":"0.1.0","to_version":"0.2.0","change_type":"breaking","description":"`Error::Serialize` now has a `Box<StdError + Send + Sync>` instead of `Box<StdError>`","migration_hint":null},{"from_version":"0.1.0","to_version":"0.2.0","change_type":"breaking","description":"`RequestBuilder` no longer has an associated lifetime (was `RequestBuilder<'a>`)","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"behavior","description":"`rustls` is now the default TLS backend, instead of `native-tls`.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"behavior","description":"`query` and `form` are now crate features, disabled by default.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"behavior","description":"`rustls` crypto provider defaults to aws-lc instead of _ring_. (`rustls-no-provider` exists if you want a different crypto provider)","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"breaking","description":"To use different roots, call `tls_certs_only(your_roots)`.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"breaking","description":"`native-tls` now includes ALPN. To disable, use `native-tls-no-alpn`.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"breaking","description":"**Breaking changes**:","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"breaking","description":"For example, prefer `tls_backend_rustls()` over `use_rustls_tls()`.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"removed","description":"rustls roots features removed, `rustls-platform-verifier` is used by default.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"removed","description":"Long-deprecated methods and crate features have been removed (such as `trust-dns`, which was renamed `hickory-dns` a while ago).","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"renamed","description":"`rustls-tls` has been renamed to `rustls`.","migration_hint":null},{"from_version":"0.12.28","to_version":"0.13.0","change_type":"renamed","description":"Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a \"soft\" deprecation. (just documented, no warnings)","migration_hint":null},{"from_version":"0.11","to_version":"0.12","change_type":"api","description":"Http/hyper 1.0 upgrade. TLS backend features renamed; default TLS now rustls (was native-tls).","migration_hint":"For native-tls, enable `features = [\"native-tls\"]` explicitly. Blocking API shape unchanged for most users."},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"behavior","description":"Enable TCP_NODELAY by default.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"breaking","description":"This is technically a breaking change, but was a mistake. It was not valid to convert from an `http::Request` to a `reqwest::Request` in an infallible fashion. It would panic if the conversion was not possible. Instead, the implementation has been changed to `TryFrom` to indicate it could fail.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"breaking","description":"Implement `TryFrom<http::Request>` for `Request`.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"breaking","description":"Implement `TryFrom<http::Request>` for `blocking::Request`.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"breaking","description":"Add `Response::content_length` for WASM target.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"breaking","description":"Add `ClientBuilder::pool_idle_timeout` option.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"deprecated","description":"Add `ClientBuilder::pool_max_idle_per_host` option, deprecate `max_idle_per_host`.","migration_hint":null},{"from_version":"0.10.4","to_version":"0.10.5","change_type":"removed","description":"Removes `From<http::Request>` for `Request`.","migration_hint":null}],"total":44,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"miss"}