Releases: seanmonstar/reqwest
v0.8.0
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
- A default timeout for
reqwest::Client
is used set to 30 seconds (#181) - Multipart support! (#4)
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
. -
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.
v0.7.3
Features
Proxy::custom(fn)
to allow dynamically picking a proxy URL
Fixes
- fix occasional panic when program exits while
Client
orResponse
are dropping.
v0.7.2
v0.7.1
- fix remove accidental
println
s in the sending of a body - some documentation improvements
v0.7.0
Features
- Proxy support (#30)
- Self-signed TLS certificates (#97)
- Disabling TLS hostname validation
⚠️ (#89) - A
Request
type that can be used instead of theRequestBuilder
(#85) - Add
Response::error_for_status()
to easily convert 400 and 500 status responses into anError
(#98) - Upgrade hyper to 0.11
- Synchronous
Client
remains. - Timeouts now affect DNS and socket connection.
- Pool much better at evicting sockets when they die.
- An
unstable
Cargo feature to enablereqwest::unstable::async
.
- Synchronous
- A huge docs improvement!
Fixes
- Publicly exports
RedirectAction
andRedirectAttempt
Error::get_ref
returnsError + Send + Sync
Breaking Changes
- hyper has been upgraded to 0.11, so
header
,StatusCode
, andMethod
have breaking changes. mime
has been ugpraded to 0.3, with a very different API.- All configuration methods have been removed from the
Client
, and moved to theClientBuilder
. - The
HttpVersion
type was completely removed. Error::cause()
now returnsError::get_ref().cause()
.- All methods on
Client
that start aRequestBuilder
now return aResult
immediately, instead of delaying the URL parse error for later. - 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.) Response::status()
returns aStatusCode
instead of&StatusCode
.
Thanks 🎉
v0.6.2
- adds
Client::referer(bool)
option to disable setting theReferer
header during redirects (bafcd7a) - fixes filtering sensitive headers during redirects (#10)
- fixes sending of the Referer to an HTTP site when coming from HTTPS, and removes username and fragment explicitly (d869604)
- documentation updates
Thanks
v0.6.1
- adds
Error::get_ref
to get the underlying error that may have occurred. Includes a'static
bounds, which allows for downcasting (as opposed toError::cause
).
v0.6.0
Features
- Upgraded to serde
1.0
- Added a
url
method toError
, which returns a possible associatedUrl
that occurred with this error. - Added
req.basic_auth(user, optional_pass)
method to ease usingBasic
authentication.
Breaking Changes
- The publicly exposed peer dependency serde was upgraded. It is now
[email protected]
. Mismatched version will give a compiler error that a serde trait is not implemented. Error
is no longer anenum
, but an opaque struct. Details about it can be checked withstd::error::Error::cause()
, and methods onreqwest::Error
includeis_http()
,is_serialization()
, andis_redirect()
.RedirectPolicy::custom
receives different arguments, and returns different values. See the docs for an example.
Thanks
Thanks to these contributors who helped get this stuff into this release:
v0.5.2
v0.5.1
Features
- add
Clone
implementation forClient