Skip to content

Releases: sagebind/isahc

Cookies, bugfixes, and more!

03 Nov 02:30
Compare
Choose a tag to compare

A surprisingly feature-focused patch release with a couple notable bugfixes. This October Isahc opted-in to Hacktoberfest, and we received a couple additions from new contributors. Thanks!

Added

  • Add HttpClientBuilder::connection_cache_ttl for configuring how long to keep connections open in the cache. (#93, #237) @gsquire
  • Make cookie jar API more useful by adding several new methods, including HttpClient::cookie_jar, Configurable::cookie_jar, CookieJar::get_by_name, Cookie::value, and more! An example of how to use some of these have been added to examples/cookies.rs. (#215, #233) @sagebind
  • Add a "Why not use" section to readme. (#234) @sagebind

Fixed

  • Fix timeouts and other mid-transfer errors causing unexplained EOFs instead of returning a proper io::Error. (#154, #246) @sagebind
  • Fix improper cookie behavior when automatically following redirects, such as not sending any cookies in subsequent requests. (#232, #240) @sagebind

Changed

  • Make HttpClient cloneable. This makes it much more convenient to share a client instance between threads or tasks. (#241, #244) @braunse
  • Replace middleware API with interceptors API. The middleware-preview crate feature has been removed and the unstable-interceptors feature has been added. The API is still unstable, but addresses a number of problems with the old proposed middleware API. (#42, #206) @sagebind
  • Update integration tests to use new testserver (#230) @sagebind

Dependency Updates

Add automatic_decompression option

01 Oct 01:38
535701a
Compare
Choose a tag to compare

Added

  • Add automatic_decompression option to allow you to disable the automatic response body decompression or enable it on a per-request basis. (#227, #228)

static-ssl feature

23 Sep 03:45
Compare
Choose a tag to compare

Added

Dependency Updates

Addr and headers

08 Aug 18:05
7bc3bad
Compare
Choose a tag to compare

Added

Dependency Updates

New dialer API with Unix socket support

29 Jul 02:59
9ec77d9
Compare
Choose a tag to compare

Added

  • Add new config::Dialer API that allows you to customize and override what sockets are connected to for a request, regardless of the host in the URL. Static IP sockets and Unix sockets are initially supported. (#150, #207) @sagebind

Fixed

  • Fix HEAD requests with a body and libcurl 7.71+ not playing well together because of incorrect usage of CURLOPT_NOBODY in Isahc. (#213, #214, #216) @sagebind

Dependency Updates

Empty header fix

21 Jul 04:46
be3912d
Compare
Choose a tag to compare

Fixed

  • Fix empty and blank request header values not being sent. (#209, #210)

Dependency Updates

Init fix and experimental HTTP/3 support

24 Jun 04:34
Compare
Choose a tag to compare

Fixed

  • Upgrade curl to 0.4.30 to mitigate potential init-on-non-main-thread with certain TLS engines on certain platforms. (#189) @sagebind

Added

  • Allow for experimental HTTP/3 support in libcurl. (This does not enable HTTP/3 support, it just merely allows it if libcurl is compiled with it.) (#185) @sagebind

Dependency Updates

Fix log output and an invalid read error on shutdown

11 Jun 03:51
Compare
Choose a tag to compare

Fixed

  • Invalid read: Multi::close called twice (#198) @DBLouis
  • Change all tracing spans to Trace level to reduce log noise (#195) @sagebind

Changed

Dependency Updates

Fix user agent default headers

24 May 03:41
617766d
Compare
Choose a tag to compare

Fixed

  • Fix built-in user agent overriding client default headers. (#191) @sagebind
  • Fix incorrectly named function parameter. (#188) @DBLouis

Changed

  • Emit all logs as tracing events, maintaining backward compatability with log records. This has the benefit of optionally providing better diagnostics of HTTP requests when using a tracing subscriber. (#170) @sagebind

Client default headers

10 May 04:11
b517b90
Compare
Choose a tag to compare

Added

  • Add the ability to set default outgoing header values to include on all requests when building a custom client. Headers set on a request always take precedence over defaults. (#180, #181, #186) @ansrivas

Fixed

Dependency Updates