Skip to content

Another happy landing!

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Mar 22:24
· 270 commits to master since this release
ed62bd2

Welcome to a new decade!

This release includes a number of API improvements and features, as well as a couple bug fixes. The API changes improve ease of use and ergonomics, incorporating the new 0.2 version of the http crate, as well as reduces the number of confusing types to help make finding what you are looking for easier in the documentation.

Breaking Changes

  • Request configuration is now done via the Configurable trait, which unifies the old methods from HttpClientBuilder and RequestBuilderExt into one place. The old methods have been removed, but most programs should compile without changes if the prelude is imported. (#48, #135)
  • Multiple breaking API improvements to Body (#143):
    • Body::reader and Body::reader_sized have been renamed to Body::from_reader and Body::from_reader_sized, respectively.
    • Body::bytes has been replaced with Body::from_maybe_shared, which uses type downcasting to accept a Bytes if given without having the bytes crate being part of the public API.
    • Body no longer implements From<Bytes> for the reason above.
    • Body::text, Body::text_async, and Body::json have all been removed in favor of the equivalent methods provided by ResponseExt. This was done because the body alone is often not enough information to decode responses in a correct manner. (#142)
  • Various improvements to request config bounds that accept more argument types.
  • The cookies feature is no longer enabled by default. (#141)
  • Creating a Body from an AsyncRead must now be Sync so that Body implements Sync. (#172)
  • Response text decoding methods are now behind the text-decoding feature, enabled by default. (#156)

Added

  • Handle more than just UTF-8 when decoding a response into text. (#90, #156)
  • Add ability to bind to specific network interface. (#151, #155)
  • Add ability to pre-populate DNS lookups with predefined mappings. (#114)
  • Add Isahc logo to documentation. (#138) @jmjoy

Fixed

  • Body::is_empty should not return true for a zero-length body that is present (as opposed to no body). (#144)
  • Upgrade curl-sys to fix static linking issues with older versions of macOS (#68, #169)
  • Fix doctests and run cargo fmt (#160) @ggriffiniii

Changed

  • Improve proxy handling test coverage (#167)
  • Make default VersionNegotiation more conservative (#159, #164)
  • Set up code coverage analysis via grcov (#165)

Dependency Updates