Hyperium Hyper Versions Save

An HTTP library for Rust

v1.3.1

1 week ago

Bug Fixes

  • client: revert auto content-length header for some requests (#3633)

v1.3.0

1 week ago

Bug Fixes

  • client: send content-length even with no body (172fdfaf)
  • http2:
    • max_header_list_size(num) defaults to 16kb (203d1b09)
    • initial_max_send_streams defaults to 100 (2d1bd708)
  • server:
    • avoid unwrapping for the Future impl of HTTP/1 UpgradeableConnection (#3627) (b79be911, closes #3621)
    • avoid graceful_shutdown panic on upgraded H1 connection (#3616) (6ecf8521)

Features

  • client:
    • add max_header_list_size(num) to http2::Builder. (1c5b1b87)
    • add max_pending_accept_reset_streams HTTP2 option (#3617) (330ddf1d)
  • ext: implement From ReasonPhrase for Bytes (dc27043a)
  • service: expose Service and HttpService trait unconditionally (6aee2e6e)
  • server: relax 'static from connection IO trait bounds (#3595) (0013bdda)

New Contributors

Full Changelog: https://github.com/hyperium/hyper/compare/v1.2.0...v1.3.0

v1.2.0

2 months ago

Features

  • http1: support configurable max_headers(num) to client and server (#3523) (b1142448)
  • http2:
    • add config for max_local_error_reset_streams in server (#3530) (d7680e30)
    • add initial_max_send_streams method to HTTP/2 client builder (#3524) (fdfa60d9)
      • NOTE: The default for this will change in v1.3 to something conservative. If you have an environment where the server can always accept a large amount of concurrent streams, and depend on that for performance, you should set this option manually.
    • add max_pending_accept_reset_streams(num) back to HTTP/2 server builder (#3507 (a9fa893f)

Bug Fixes

  • http2: typo in trace logging (#3536) (79862ec2)
  • rt: Sleep::downcast_mut_pin() no longer extend lifetime (7206fe30, closes #3556)

Breaking Changes

  • The returned lifetime from Sleep::downcast_mut_pin() is no longer 'static. This shouldn't affect most usage. This sort of breaking change is needed because it is wrong. (7206fe30)

New Contributors

v1.1.0

4 months ago

Features

  • client: add http1::Connection without_shutdown() method (#3430) (210bfaa7)
  • http1: Add support for sending HTTP/1.1 Chunked Trailer Fields (#3375) (31b41807, closes #2719)
  • server: expose server::conn::http1::UpgradeableConnection (#3457) (6e3042a8)

Bug Fixes

  • http1:
    • add internal limit for chunked extensions (#3495) (d71ff962)
    • reject chunked headers missing a digit (#3494) (82915386)

New Contributors

Full Changelog: https://github.com/hyperium/hyper/compare/v1.0.1...v1.1.0

v0.14.28

4 months ago

Features

  • body: deprecate to_bytes() and aggregate() (#3466) (7f382ad6)
  • client: add conn::http1::Connection::without_shutdown() method (#3431) (ad504977)
  • server: add Builder::local_addr() (#3278) (d342c2c7)

Bug Fixes

  • client:
    • panic when pool idle timeout set to zero (#3365) (34d38008)
    • divide by zero error when DNS returns no addrs (#3355) (41eaf204)
    • Do not strip path and scheme components from URIs for HTTP/2 Extended CONNEC (45aa6249)
    • early respond from server shouldn't propagate reset error (#3274) (aac6760e, closes #2872)
  • http1:
    • add internal limit for chunked extensions (#3495) (344a8782)
    • reject chunked headers missing a digit (#3494) (5eca028f)

New Contributors

v1.0.1

5 months ago

This release "fixes" or adds a few things that should have been in 1.0.0, but were forgotten. Thus, it includes additions that would normally be a semver-minor release, but because it is so close to 1.0.0, it is released as a patch version.

Bug Fixes

  • rt: implement Read/Write for Pin<P> (#3413) (dd6d81ca, closes #3412)

Features

  • rt: Make ReadBuf::new public (7161f562)

Breaking Changes

  • Pin is #[fundamental], so providing a Read/Write impl for it theoretically conflicts with existing user Read/Write for Pin<...> impls. However, those impls probably don't exist yet. (dd6d81ca)

New Contributors

v1.0.0

5 months ago

Be sure to checkout the upgrading guide!

Features

  • client: allow !Send IO with HTTP/1 client (#3371) (cf87eda8, closes #3363)
  • error:
    • Error::source() is purposefully unspecified (#3318) (502a6450, closes #2843)
    • change Display for Error to only print top error (#3312) (50f123af, closes #2844)
  • ext:
    • make ReasonPhrase::from_static a const fn (d4a61e3d)
    • remove ReasonPhrase::from_bytes_unchecked() method (4021c57b)
  • lib:
  • rt: rename to Http2ClientConnExec and Http2ServerConnExec (52b27faa)
  • server: default http1 header_read_timeout to 30 seconds (8bf26d1e)
  • upgrade: introduce tracing as an optional unstable feature (#3326) (da3fc76c, closes #3319)

Bug Fixes

  • client:
    • avoid double-polling a Select future (#3290) (fece9f7f, closes #3289)
    • early server response shouldn't propagate NO_ERROR (#3275) (194e6f98, closes #2872)
    • remove Send bounds for request Body (#3266) (4ace340b, closes #3184)
  • ffi: fix deadlock in hyper_executor::poll_next (#3370) (0c7d03ef, closes #3369)
  • http2:
    • don't send keep-alive ping when idle (#3381) (429ad8a3)
    • change default server max concurrent streams to 200 (#3362) (dd638b5b, closes #3358)
  • server: Respect Expect header only when http proto > 1.0 (#3294) (43d2f5c6)

Breaking Changes

  • Upgrade to http 1.0.

(899e92a5)

  • (From previous RCs) ExecutorClient is renamed to Http2ClientConnExec, and Http2ConnExec is renamed to Http2ServerConnExec.

(52b27faa)

  • If you use client HTTP/1 upgrades, you must call Connection::with_upgrades() to still work the same. (cf87eda8)

  • HTTP/2 server builder now has a default max concurrent streams. This is a behavior change. Consider setting your own maximum. (dd638b5b)

  • Do not build any logic depending on the exact types of an Error::source(). They are only for debugging. (502a6450)

  • The format no longer prints the error chain. Be sure to check if you are logging errors directly.

    The Error::message() method is removed, it is no longer needed.

    The Error::into_cause() method is removed. (50f123af)

  • The ReasonPhrase::from_bytes_unchecked() method is gone. Use from_static() or TryFrom to construct one.

(4021c57b)

New Contributors

v1.0.0-rc.4

9 months ago

Bug Fixes

  • http1:
    • http1 server graceful shutdown fix (#3261) (f4b51300)
    • send error on Incoming body when connection errors (#3256) (52f19259, closes #3253)
    • properly end chunked bodies when it was known to be empty (#3254) (fec64cf0, closes #3252)

Features

  • client: Make clients able to use non-Send executor (#3184) (d977f209, closes #3017)
  • rt:
    • replace IO traits with hyper::rt ones (#3230) (f9f65b7a, closes #3110)
    • add downcast on Sleep trait (#3125) (d92d3917, closes #3027)
  • service: change Service::call to take &self (#3223) (d894439e, closes #3040)

Breaking Changes

  • Any IO transport type provided must not implement hyper::rt::{Read, Write} instead of tokio::io traits. You can grab a helper type from hyper-util to wrap Tokio types, or implement the traits yourself, if it's a custom type. (f9f65b7a)
  • client::conn::http2 types now use another generic for an Executor. Code that names Connection needs to include the additional generic parameter. (d977f209)
  • The Service::call function no longer takes a mutable reference to self. The FnMut trait bound on the service::util::service_fn function and the trait bound on the impl for the ServiceFn struct were changed from FnMut to Fn. (d894439e)

New Contributors

v0.14.27

10 months ago

Bug Fixes

  • http1:
    • send error on Incoming body when connection errors (#3256) (b107655f, closes #3253)
    • properly end chunked bodies when it was known to be empty (#3254) (32422c47, closes #3252)

Features

  • client: include connection info in Client::send_request errors (#2749)

v0.14.26

1 year ago

Features

  • http2: add max_pending_accept_reset_streams configuration option (#3201) (a6f7571a)

New Contributors