Changelog History
Page 6
-
v0.9.0 Changes
๐ Features
- โฌ๏ธ Upgrade to
tokio
0.1. - โฌ๏ธ Upgrade to
hyper
0.12. - โฌ๏ธ Upgrade to
native-tls
0.2. - Add
ClientBuilder::danger_accept_invalid_certs(bool)
to disable certificate verification. - โ Add
RequestBuilder::bearer_auth(token)
to ease sending bearer tokens. - โ Add
headers()
andheaders_mut()
tomultipart::Part
to allow sending extra headers for a specific part. - ๐ Moved
request::unstable::async
toreqwest::async
.
๐ Fixes
- ๐ Fix panicking when passing a
Url
with afile://
scheme. Instead, anError
is returned.
๐ฅ Breaking Changes
- Changed
ClientBuilder::danger_disable_hostname_verification()
toClientBuilder::danger_accept_invalid_hostnames(bool)
. - ๐ Changed
ClientBuilder
to be a by-value builder instead of by-ref.
For single chains of method calls, this shouldn't affect you. For code that conditionally uses the builder, this kind of change is needed:
// Old let mut builder = ClientBuilder::new(); if some_val { builder.gzip(false); } let client = builder.build()?; // New let mut builder = ClientBuilder::new(); if some_val { builder = builder.gzip(false); } let client = builder.build()?;
- ๐ Changed
RequestBuilder
to be a by-value builder of by-ref.
See the previous note about
ClientBuilder
for affected code and how to change it.- โ Removed the
unstable
cargo-feature, and movedreqwest::unstable::async
toreqwest::async
. - ๐ Changed
multipart::Part::mime()
tomime_str()
.
// Old let part = multipart::Part::file(path)? .mime(mime::TEXT_PLAIN); // New let part = multipart::Part::file(path)? .mime_str("text/plain")?;
- โฌ๏ธ The upgrade to
hyper
0.12 means a temporary removal of the typed headers.
The
RequestBuilder
has simple methods to set headers using strings, which can work in most places.// Old client .get("https://hyper.rs") .header(UserAgent::new("hallo")) .send()?; // New client .get("https://hyper.rs") .header("user-agent", "hallo") .send()?;
To ease the transition, there is a
hyper-011
cargo-feature that can be enabled.[dependencies] reqwest = { version = "0.9", features = ["hyper-011"] }
And then usage:
client .get("https://hyper.rs") .header_011(reqwest::hyper_011::header::UserAgent::new("hallo")) .send()?;
- โฌ๏ธ Upgrade to
-
v0.8.8 Changes
- ๐ Fix docs.rs/reqwest build.
-
v0.8.7 Changes
๐ Fixes
- Send an extra CRLF at the end of multipart requests, since some servers expect it.
- โ Removed internal dependency on
tokio-proto
, which removed unsafesmall-vec
dependency.
-
v0.8.6 Changes
๐ Features
- โ Add
RedirectAttempt::status
to check status code that triggered redirect. - โ Add
RedirectPolicy::redirect
method publicly, to allow composing policies.
- โ Add
-
v0.8.5 Changes
๐ Features
- Try to auto-detect encoding in
Response::text()
. - โ Add
Certificate::from_pem
to load PEM encoded client certificates. - ๐ Allow unsized types in
query
,form
, andjson
. - โ Add
unstable::async::RequestBuilder::query
, mirroring the stable builder method.
- Try to auto-detect encoding in
-
v0.8.4 Changes
๐ Features
- โ Add
RequestBuilder::query
to easily adjust query parameters of requests.
- โ Add
-
v0.8.3 Changes
๐ Features
- โฌ๏ธ Upgrades internal log crate usage to v0.4
-
v0.8.2 Changes
๐ Fixes
- Enable hyper's
no_proto
config, fixing several bugs in hyper.
- Enable hyper's
-
v0.8.1 Changes
๐ Features
- โ Add
ClientBuilder::default_headers
to set headers used for every request. - โ Add
async::ClientBuilder::dns_threads
to set number of threads use for DNS. - โ Add
Response::text
as shortcut to read the full body into aString
. - โ Add
Response::copy_to
as shortcut forstd::io::copy
.
- โ Add
-
v0.8.0 Changes
๐ Features
- Client TLS Certificates (#43)
- GZIP decoding has been added to the async Client (#161)
ClientBuilder
andRequestBuilder
hold their errors till consumed (#189)async::Response::body()
now returns a reference to the body instead of consuming theResponse
- 0๏ธโฃ A default timeout for
reqwest::Client
is used set to 30 seconds (#181)
๐ฅ Breaking Changes
Client::new
no longer returns aResult
.
To handle any panics that come from
Client::new
, the builder can be used instead.ClientBuilder
andRequestBuilder
hold their errors till consumed (#189).
This means a bunch of
?
will be going away, but means using the builders will be far easier now. Any error encountered inside the builders will now be returned when the builder is consumed.To get errors back immediately, the
Request
type can be used directly, by building pieces separately and calling setters.async::Response::body()
now returns a reference to the body instead of consuming theResponse
.- 0๏ธโฃ A default timeout for
reqwest::Client
is used set to 30 seconds (#181)
For uses where the timeout is too short, it can be changed on the
ClientBuilder
, using thetimeout
method. PassingNone
will disable the timeout, reverting to the pre-0.8 behavior.