All Versions
Latest Version
Avg Release Cycle
32 days
Latest Release
376 days ago

Changelog History
Page 3

  • v0.13.9 Changes

    November 02, 2020

    ๐Ÿ› Bug Fixes

    • client: fix panic when addrs in ConnectingTcpRemote is empty (#2292) (01103da5, closes #2291)
    • http2: reschedule keep alive interval timer once a pong is received (2a938d96, closes #2310)

    ๐Ÿ”‹ Features

    • client:
      • add HttpConnector::set_local_addresses to set both IPv6 and IPv4 local addrs ( (fb19f3a8)
      • Add accessors to Connected fields (#2290) (2dc9768d)
  • v0.13.8 Changes

    September 18, 2020

    ๐Ÿ› Bug Fixes

    • http1: return error if user body ends prematurely (1ecbcbb1, closes #2263)

    ๐Ÿ”‹ Features

    • lib: Setting http1_writev(true) will now force writev queue usage (187c22af, closes #2282)
    • server: implement AsRawFd for AddrStream (#2246) (b5d5e214, closes #2245)
  • v0.13.7 Changes

    July 13, 2020

    ๐Ÿ› Bug Fixes

    • client: don't panic in DNS resolution when task cancelled (#2229) (0d0d3635)

    ๐Ÿ”‹ Features

    • client: impl tower_service::Service for &Client (#2089) (77c3b5bc)
    • http2: configure HTTP/2 frame size in the high-level builders too (#2214) (2354a7ee)
    • lib: Move from log to tracing in a backwards-compatible way (#2204) (9832aef9)
  • v0.13.6 Changes

    May 29, 2020

    ๐Ÿ”‹ Features

    • body: remove Sync bound for Body::wrap_stream (042c7706)
    • http2: allow configuring the HTTP/2 frame size (b6446456)
  • v0.13.5 Changes

    April 17, 2020

    ๐Ÿ› Bug Fixes

    • server: fix panic in Connection::graceful_shutdown (fce3ddce)
  • v0.13.4 Changes

    March 20, 2020

    ๐Ÿ› Bug Fixes

    • http1: try to drain connection buffer if user drops Body (d838d54f)

    ๐Ÿ”‹ Features

    • http2: add HTTP2 keep-alive support for client and server (9a8413d9)
  • v0.13.3 Changes

    March 03, 2020

    ๐Ÿ”‹ Features

  • v0.13.2 Changes

    January 29, 2020

    ๐Ÿ› Bug Fixes

    • body: return exactly 0 SizeHint for empty body (#2122) (dc882047)
    • client: strip path from Uri before calling Connector (#2109) (ba2a144f)
    • http1:
      • only send 100 Continue if request body is polled (c4bb4db5)
      • remove panic for HTTP upgrades that have been ignored (#2115) (1881db63, closes #2114)
    • http2: don't add client content-length if method doesn't require it (fb90d30c)

    ๐Ÿ”‹ Features

    • service: Implement Clone/Copy on ServiceFn and MakeServiceFn (#2104) (a5720fab)
  • v0.13.1 Changes

    December 13, 2019

    ๐Ÿ› Bug Fixes

    • http1: fix response with non-chunked transfer-encoding to be close-delimited (cb71d2cd, closes #2058)

    ๐Ÿ”‹ Features

    • body: implement HttpBody for Request and Response (4b6099c7, closes #2067)
    • client: expose hyper::client::connect::Connect trait alias (2553ea1a)
  • v0.13.0 Changes

    December 10, 2019

    ๐Ÿ› Bug Fixes

    • client:
      • fix polling dispatch channel after it has closed (039281b8)
      • fix panic from unreachable code (e6027bc0)
    • dependencies: require correct bytes minimum version (#1975) (536b1e18)
    • server:
      • change Builder window size methods to be by-value (a22dabd0, closes #1814)
      • ignore expect-continue with no body in debug mode (ca5836f1, closes #1843)
      • Remove unneeded 'static bound of Service on Connection (#1971) (4d147126)

    ๐Ÿ”‹ Features

    • body:
      • change Sender::send_data to an async fn. (62a96c07)
      • require Sync when wrapping a dynamic Stream (44413721)
      • add body::aggregate and body::to_bytes functions (8ba9a8d2)
      • replace Chunk type with Bytes (5a598757, closes #1931)
      • replace the Payload trait with HttpBody (c63728eb)
    • client:
      • impl tower_service::Service for Client (edbd10ac)
      • provide tower::Service support for clients (#1915) (eee2a728)
      • change connectors to return an impl Connection (4d7a2266)
      • remove Destination for http::Uri in connectors (319e8aee)
      • filter remote IP addresses by family of given local IP address (131962c8)
      • change Resolve to be Service<Name> (9d9233ce, closes #1903)
      • change Connect trait into an alias for Service (d67e49f1, closes #1902)
      • change GaiResolver to use a global blocking threadpool (049b5132)
      • Add connect timeout to HttpConnector (#1972) (4179297a)
    • lib:
      • update to std::future::Future (8f4b05ae)
      • add optional tcp feature, split from runtime (5b348b82)
      • make Stream trait usage optional behind the stream feature, enabled by default (0b03b730, closes #2034)
      • update Tokio, bytes, http, h2, and http-body (cb3f39c2)
    • rt: introduce rt::Executor trait (6ae5889f, closes #1944)
    • server:
      • introduce Accept trait (b3e55062)
      • give Server::local_addr a more general type (3cc93e79)
      • change http1_half_close option default to disabled (7e31fd88)
    • service:
      • use tower_service::Service for hyper::service (ec520d56)
      • rename Service to HttpService, re-export tower::Service (4f274399, closes #1959)

    ๐Ÿ’ฅ Breaking Changes

    • All usage of async traits (Future, Stream,
      โšก๏ธ AsyncRead, AsyncWrite, etc) are updated to newer versions.


    • All usage of hyper::Chunk should be replaced with
      bytes::Bytes (or hyper::body::Bytes).


    • Using a Body as a Stream, and constructing one via
      Body::wrap_stream, require enabling the stream feature.


    • Calls to GaiResolver::new and HttpConnector::new no
      longer should pass an integer argument for the number of threads.


    • Connectors no longer return a tuple of
      (T, Connected), but a single T: Connection.


    • All usage of hyper::client::connect::Destination
      should be replaced with http::Uri.


    • ๐Ÿ›ฐ All usage of hyper::body::Payload should be replaced
      with hyper::body::HttpBody.


    ๐Ÿ— Any type passed to the executor builder methods must
    now implement hyper::rt::Executor.

    hyper::rt::spawn usage should be replaced with tokio::task::spawn.

    hyper::rt::run usage should be replaced with #[tokio::main] or
    managing a tokio::runtime::Runtime manually.


    The Resolve trait is gone. All custom resolvers should
    implement tower::Service instead.

    The error type of HttpConnector has been changed away from


    • Any manual implementations of Connect must instead
      implement tower::Service<Uri>.


    • 0๏ธโƒฃ The server's behavior will now by default close
      connections when receiving a read EOF. To allow for clients to close
      the read half, call http1_half_close(true) when configuring a


    • ๐Ÿ— Passing a Stream to Server::builder or
      Http::serve_incoming must be changed to pass an Accept instead. The
      stream optional feature can be enabled, and then a stream can be
      converted using hyper::server::accept::from_stream.


    • Usage of send_data should either be changed to
      async/await or use try_send_data.