Skip to content

Releases: seanmonstar/reqwest

v0.7.2

25 Jul 20:01
Compare
Choose a tag to compare
  • fix a panic when redirecting and a Authorization<Basic> header was added (cf246d0)
  • fix redirects so that a GET will follow 307/308 responses (2d11a4b)

v0.7.1

13 Jul 19:38
Compare
Choose a tag to compare
  • fix remove accidental printlns in the sending of a body
  • some documentation improvements

v0.7.0

11 Jul 20:31
Compare
Choose a tag to compare

Features

  • Proxy support (#30)
  • Self-signed TLS certificates (#97)
  • Disabling TLS hostname validation ⚠️ (#89)
  • A Request type that can be used instead of the RequestBuilder (#85)
  • Add Response::error_for_status() to easily convert 400 and 500 status responses into an Error (#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 enable reqwest::unstable::async.
  • A huge docs improvement!

Fixes

  • Publicly exports RedirectAction and RedirectAttempt
  • Error::get_ref returns Error + Send + Sync

Breaking Changes

  • hyper has been upgraded to 0.11, so header, StatusCode, and Method 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 the ClientBuilder.
  • The HttpVersion type was completely removed.
  • Error::cause() now returns Error::get_ref().cause().
  • All methods on Client that start a RequestBuilder now return a Result 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 a StatusCode instead of &StatusCode.

Thanks 🎉

v0.6.2

29 May 17:59
Compare
Choose a tag to compare
  • adds Client::referer(bool) option to disable setting the Referer 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

@rap2hpoutre
@steverob

v0.6.1

13 May 05:12
Compare
Choose a tag to compare
  • adds Error::get_ref to get the underlying error that may have occurred. Includes a 'static bounds, which allows for downcasting (as opposed to Error::cause).

v0.6.0

10 May 21:45
Compare
Choose a tag to compare

Features

  • Upgraded to serde 1.0
  • Added a url method to Error, which returns a possible associated Url that occurred with this error.
  • Added req.basic_auth(user, optional_pass) method to ease using Basic 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 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().
  • 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

05 May 21:48
Compare
Choose a tag to compare
  • fix panic with Gzip decoder on an empty body #82

v0.5.1

05 Apr 18:53
Compare
Choose a tag to compare

Features

  • add Clone implementation for Client

v0.5.0

25 Mar 00:32
Compare
Choose a tag to compare

Features

  • Automatic GZIP decoding: By default, Client will try to decode any responses that appear to be gzip encoded (based on headers). This can be disabled via client.gzip(false) (ab5e477)
  • Specify a timeout for requests using client.timeout(duration). (ec049fe)
  • Request bodies with a known length can be constructed with Body::sized() (82f1877)
  • Add Client.put, Client.patch, and Client.delete convenience methods (c37b8aa, 4d6582d, a3983f3)
  • Add reqwest::mime (0615c6d)

Breaking Changes

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).

Thanks

All features were from these contributors, so thanks!

v0.4.0

31 Jan 23:03
Compare
Choose a tag to compare
  • updated to serde 0.9