Skip to content

Releases: hyperium/hyper

v0.11.2

27 Jul 22:48
Compare
Choose a tag to compare

Bug Fixes

  • client: don't assume bodies on 204 and 304 Responses (81c0d185, closes #1242)
  • header: fix panic from headers.remove when typed doesn't match (4bd9746a)
  • http:
    • allow zero-length chunks when no body is allowed (9b47e186)
    • fix encoding when buffer is full (fc5b9cce)
    • skip zero length chunks when encoding (d6da3f7b)
  • server:
    • improve detection of when a Response can have a body (673e5cb1, closes #1257)
    • reject Requests with invalid body lengths (14cbd400)
    • do not automatically set ContentLength for 204 and 304 Responses (c4c89a22)
  • uri: fix Uri parsing of IPv6 and userinfo (7081c449, closes #1269)

Features

  • headers: export missing header types (c9f4ff33)
  • server: Provide reference to Response body (a79fc98e, closes #1216)
  • status: add as_u16() method to StatusCode (5f6f252c)

v0.11.1

03 Jul 22:26
Compare
Choose a tag to compare

Features

  • server: Handle 100-continue (6164e764)

And a handful of (relatively minor) performance optimizations.

v0.11.0

13 Jun 19:59
Compare
Choose a tag to compare

Bug Fixes

  • header:
    • add length checks to ETag parsing (643fac1e)
    • prevent 2 panics in QualityItem parsing (d80aae55)
    • Allow IPv6 Addresses in Host header (8541ac72)
    • Remove raw part when getting mutable reference to typed header (f38717e4, closes #821)
    • only add chunked to TransferEncoding if not present (1b4f8579)
    • ignore invalid cookies (310d98d5)
  • http:
    • Chunked decoder reads last \r\n (bffde8c8)
    • make Chunked decoder resilient in an async world (8672ec5a)
  • server:
    • support HTTP/1.1 pipelining (523b890a)

Features

  • body:
    • implement Extend and IntoIterator for Chunk (78512bdb)
    • add Default trait to Body (f61708ba)
    • implement Default for Body (6faa653f)
    • implement Default for Chunk (f5567db4)
  • client:
    • add HttpConnector.enforce_http (1c34a05a)
    • add an accessor for the request body (4e26646a)
    • Response.status() now returns a StatusCode by value (d63b7de4)
    • add Client::handle (9101817b)
    • add Request.set_proxy for HTTP proxy requests (e8714116, closes #1056)
    • DNS worker count is configurable (138e1643)
    • add keep_alive_timeout to Client (976218ba)
  • error: Display for Error shows better info (49e196db, closes #694)
  • header:
  • http:
    • add Into for Chunk (fac3d70c)
    • use the bytes crate for Chunk and internally (65b3e08f)
    • allow specifying custom body streams (1b1311a7)
  • lib:
    • add raw_status feature in Cargo.toml (acd62cda)
    • remove extern Url type usage (4fb7e6eb)
    • export Method::Put at top level (5c890321)
    • redesign API to use Futures and Tokio (2d2d5574)
    • switch to non-blocking (asynchronous) IO (d35992d0)
  • mime: upgrade to mime v0.3 (f273224f, closes #738)
  • server:
    • make Http default its body type to hyper::Chunk (dc97dd77)
    • make Http compatible with TcpServer (e04bcc12, closes #1036)
    • add path() and query() to Request (8b3c1206, closes #896, #897)
  • status:
    • add StatusCode::try_from(u16). (f953cafe)
    • remove deprecated StatusClass (94ee6204)
    • impl Into for StatusCode (c42f18db)
  • uri:
  • version: impl FromStr for HttpVersion (47f3aa62)

Breaking Changes

  • The Cookie header is no longer a wrapper over a
    Vec<String>. It must be accessed via its get and set methods.

(dd03e723)

  • Any use of Quality(num) should change to q(num).

(a4644959)...

Read more

v0.10.0

11 Jan 19:53
Compare
Choose a tag to compare

Features

  • client:
    • change ProxyConfig to allow HTTPS proxies (14a4f1c2)
    • remove experimental HTTP2 support (d301c6a1)
  • header: remove cookie dependency (f22701f7)
  • lib:
    • remove SSL dependencies (2f48612c)
    • remove serde-serialization feature (7b9817ed)

Breaking Changes

  • There is no more hyper::http::h2.

    (d301c6a1)

  • The Cookie and SetCookie headers no longer use the
    cookie crate. New headers can be written for any header, or the ones
    provided in hyper can be accessed as strings.

    (f22701f7)

  • There is no longer a serde-serialization feature.
    Look at external crates, like hyper-serde, to fulfill this feature.

    (7b9817ed)

  • hyper will no longer provide OpenSSL support out of the
    box. The hyper::net::Openssl and related types are gone. The Client
    now uses an HttpConnector by default, which will error trying to
    access HTTPS URLs.

    TLS support should be added in from other crates, such as
    hyper-openssl, or similar using different TLS implementations.

    If using a client, take a look at reqwest.

    If using a server, look at hyper-native-tls or hyper-openssl.

    (2f48612c)

  • Usage of with_proxy_config will need to change to
    provide a network connector. For the same functionality, a
    hyper::net::HttpConnector can be easily created and passed.

    (14a4f1c2)

v0.9.14

11 Jan 19:55
Compare
Choose a tag to compare

Bug Fixes

  • client: close Pooled streams on sockopt error (d5ffee2e)

v0.9.13

11 Jan 19:54
Compare
Choose a tag to compare

Features

  • error: re-export url::ParseError (30e78ac2)

v0.9.12

09 Nov 19:08
Compare
Choose a tag to compare

Features

  • error: export url::ParseError in hyper's error module

v0.9.11

31 Oct 20:48
Compare
Choose a tag to compare

Bug Fixes

  • headers: Allow IPv6 Addresses in Host header (20f177ab)

Features

  • headers:
    • Add strict-origin and strict-origin-when-cross-origin referer policy (1be4e769)
    • support multiple values for Referrer-Policy header (dc476657, closes #882)
    • add last-event-id header (2277987f)
  • server: accept combined certificate files (eeb1f48e)

v0.9.10

31 Oct 20:49
Compare
Choose a tag to compare

Features

v0.9.9

31 Oct 20:49
Compare
Choose a tag to compare

Bug Fixes

  • headers: Remove raw part when getting mutable reference to typed header (63b61524, closes #821)

Features

  • error: Display for Error shows better info (5620fbf9, closes #694)