Hyperium Hyper Versions Save

An HTTP library for Rust

v0.14.25

1 year ago

Features

  • client:
    • deprecate client::conn types (#3156) (0ced15d3)
    • add 1.0 compatible client conn API (#3155) (253cc74d, closes #3053)
    • add client::connect::capture_connection() (#3144) (c8493399)
    • add poison to Connected (#3145) (37ed5a2e)
  • server:
    • deprecate server conn structs (#3161) (02fe20f2)
    • backport the split server conn modules from 1.0 (#3102) (84881c9e, closes #3079)
    • remove some Unpin and 'static constraints (#3119) (0368a41a)

New Contributors

v1.0.0-rc.3

1 year ago

Bug Fixes

  • server: prevent sending 100-continue if user drops request body (#3137) (499fe1f9)

Features

  • client:
    • add is_ready() and is_closed() methods to SendRequest (#3148) (3fb59919)
    • http2 builder now requires an Executor (#3135) (8068aa01, closes #3128)
    • remove unneeded HTTP/1 executor (#3108) (1de9accf)
  • rt: make private executor traits public (but sealed) in rt::bounds (#3127) (fc9f3070, closes #2051, #3097)

Breaking Changes

  • hyper::client::conn::Http2::Builder::new now requires an executor argument. (8068aa01)
  • The method hyper::client::conn::http1::Builder::executor() is removed, since it did nothing. (1de9accf)

New Contributors

v0.14.24

1 year ago

Bug Fixes

  • body: set an internal max to reserve in to_bytes (4d89adce)
  • server: prevent sending 100-continue if user drops request body (#3138) (92443d7e)

Features

  • http2: add http2_max_header_list_size to hyper::server::Builder (#3006) (031425f0)

New Contributors

v1.0.0-rc.2

1 year ago

Bug Fixes

  • client: send an error back to client when dispatch misbehaves () (75aac9f4, closes #2649)
  • http2: Fix race condition in client dispatcher (#3041) (f202230c)

Features

  • body: upgrade to http-body 1.0.0-rc.2 (#3106) (51b45e3f)
  • client:
    • remove http2_ prefixes from client::conn::http2::Builder methods (669df217)
    • remove http1_ prefixes from client::conn::http1::Builder methods (4cbaef79)
    • implement Clone for http2::SendRequest (#3042) (00ea49e4, closes #3036)
    • allow ignoring HTTP/1 invalid header lines in requests (81e25fa8)
  • rt: Clean up Timer trait (#3037) (8790fee7, closes #3028)
  • server:
    • remove http1_ method prefixes from server::conn::http2::Builder (291ed0b4)
    • remove http1_ method prefixes from server::conn::http2::Builder (48e70c69)
    • remove server::conn::http2::Builder::with_executor() (#3089) (ab59a6f7, closes #3087)

Breaking Changes

  • removes server::conn::http2::Builder::with_executor() (ab59a6f7)
  • The return types of Timer have been changed. (8790fee7)
  • The return types for Frame::into_data() and Frame::into_trailers() have been changed from Option<T> to Result<T, Self>.
  • Most methods on the various Builders have have their names changed, removing the version prefix (e.g. http1_writev() becomes writev()).

New Contributors

v0.14.23

1 year ago

Bug Fixes

  • http2: Fix race condition in client dispatcher (#3041) (2f1c0b72, closes #2419)
  • dependencies: Really fix compile-time feature for socket2 dependency.

New Contributors

v0.14.22

1 year ago

Bug Fixes

  • server: fix compile-time cfgs for TCP keepalive options (#3039) (e8765e0f, closes #3038)

v0.14.21

1 year ago

Bug Fixes

  • client: send an error back to client when dispatch misbehaves () (9fa36382, closes #2649)
  • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

Features

  • http1: allow ignoring invalid header lines in responses (73dd4746)
  • server: add Server::tcp_keepalive_interval and Server::tcp_keepalive_retries (#2991) (287d7124)

New Contributors

v1.0.0-rc.1

1 year ago

Bug Fixes

  • http1:
    • trim obs-folded headers when unfolding (#2926) (d4b5bd4e)

Features

  • body:
    • rename Body struct to Incoming (#3022) (95a153bb, closes #2971)
    • update HttpBody trait to use Frames (#3020) (0888623d, closes #3010)
    • make body::Sender and Body::channel private (#2970) (d963e6a9, closes #2962)
    • remove "full" constructors from Body (#2958) (9e8fc8fc)
  • client:
    • remove client::conn::{SendRequest, Connection} (#2987) (8ae73cac)
    • remove client::connect module (#2949) (5e206883)
    • remove higher-level hyper::Client (#2941) (bb3af17c)
    • remove hyper::client::server (#2940) (889fa2d8)
    • introduce version-specific client modules (#2906) (509672aa)
  • ffi: add http1_allow_multiline_headers (#2918) (09e35668)
  • lib: remove stream cargo feature (#2896) (ce72f734, closes #2855)
  • rt: add Timer trait (#2974) (fae97ced)
  • server:
    • remove server::conn::{Http, Connection} types (#3013) (0766d3f7, closes #3012)
    • server::conn::http1 and server::conn::http2 modules (#3011) (fc4d3356, closes #2851)
    • remove the high-level Server API (#2932) (3c7bef3b)
    • remove AddrStream struct (#2869) (e9cab49e, closes #2850)
  • service: create own Service trait (#2920) (fee7d361, closes #2853)

Breaking Changes

  • The polling functions of the Body trait have been redesigned.

    The free functions hyper::body::to_bytes and aggregate have been removed. Similar functionality is on http_body_util::BodyExt::collect. (0888623d)

  • Either choose a version-specific Connection type, or look for the auto-version type in hyper-util. (0766d3f7)

  • Pick a version-specific connection, or use the combined one in hyper-util. (8ae73cac)

  • Change any manual impl tower::Service to implement hyper::service::Service instead. The poll_ready method has been removed. (fee7d361)

  • The trait has been renamed. (031454e5)

  • A channel body will be available in hyper-util. (d963e6a9)

  • Use the types from http-body-util. (9e8fc8fc)

  • Use connect from hyper-util. (5e206883)

  • A pooling client is in the hyper-util crate. (bb3af17c)

  • Tower Service utilities will exist in hyper-util. (889fa2d8)

New Contributors

v0.14.20

1 year ago

Bug Fixes

  • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

Features

  • ext: support non-canonical HTTP/1 reason phrases (#2792) (b2052a43)

New Contributors

v0.14.19

1 year ago

Bug Fixes

  • http1: fix preserving header case without enabling ffi (#2820) (6a35c175)
  • server: don't add implicit content-length to HEAD responses (#2836) (67b73138)

Features

  • server:
    • add Connection::http2_max_header_list_size option (#2828) (a32658c1, closes #2826)
    • add AddrStream::local_addr() (#2816) (ffbf610b, closes #2773)

Breaking Changes

  • ffi (unstable):
    • hyper_clientconn_options_new no longer sets the http1_preserve_header_case connection option by default. Users should now call hyper_clientconn_options_set_preserve_header_case if they desire that functionality. (78de8914)

New Contributors ❤️