Skip to content

Releases: hyperium/hyper

v1.9.0

31 Mar 15:44

Choose a tag to compare

Features

  • client:
  • error: add 'Error::is_parse_version_h2' method (393c77c7)
  • http1: add UpgradeableConnection::into_parts (e21205cf)

Bug Fixes

  • ffi: validate null pointers before dereferencing in request/response functions (#4038 (28e73ccd)
  • http1:
  • http2:
    • cancel sending client request body on response future drop (#4042) (5b17a69e, closes #4040)
    • non-utf8 char in Connection header may cause panic when calling to_str (#4019) (c36ca8a5)

Refactors and chores

  • docs(error): add more information about is_incomplete_message by @seanmonstar in #3978
  • Run cargo-audit in CI to check for known vulnerabilities in dependencies. by @f0rki in #3246
  • refactor(http1): simplify match of Token parse error by @seanmonstar in #3981
  • refactor(http1): use saturating_sub instead of manual impl by @seanmonstar in #3983
  • refactor(http1): replace many args of Chunked::step with struct by @seanmonstar in #3982
  • docs: fix comment in put_slice() by @coryan in #3986
  • test(lib): fix unused warnings due to feature gating test imports by @seanmonstar in #3997
  • docs: improve Read trait and ReadBufCursor documentation by @majiayu000 in #4000
  • fix: use h1 parser config when parsing server req by @0xPoe in #4002
  • test(server): fix flaky disable_keep_alive_mid_request by @seanmonstar in #4009
  • chore(ci): update to actions/checkout@v6 by @tottoto in #4005
  • chore(ci): update to cargo-check-external-types 0.4.0 by @tottoto in #4006
  • update copyright year to 2026 by @jasmyhigh in #4007
  • refactor: avoid unwrap examples by @0xPoe in #4001
  • fix(http1): use case-insensitive matching for trailer fields by @HueCodes in #4011
  • chore: convert bug report template to GitHub form by @njg7194 in #4015
  • chore(ci): force toml mode in yq selecting msrv by @seanmonstar in #4020
  • fix: non-utf8 char may cause panic when calling to_str by @cuiweixie in #4019
  • feat(http2/client): add max_local_error_reset_streams option by @ffuugoo in #4021
  • chore: drop pin-utils dependency by @tottoto in #4023
  • [minor] doc: Fix HTTP/2 max concurrent stream link by @dentiny in #4037
  • fix(ffi): validate null pointers before dereferencing in request/resp… by @DhruvaD1 in #4038
  • h2: expose current max stream count by @howardjohn in #4026
  • fix(http1): allow keep-alive for chunked requests with trailers by @wi-adam in #4043
  • fix(http2): cancel pipe_task and send RST_STREAM on response future drop by @mmishra100 in #4042
  • Add APIs to allow switching an HTTP1 connection to HTTP2 if H2 preface is seen by @pborzenkov in #3996

New Contributors

v1.8.1

13 Nov 21:14

Choose a tag to compare

Bug Fixes

  • http1: fix consuming extra CPU from previous change (#3977) (4492f31e)

Full Changelog: v1.8.0...v1.8.1

v1.8.0

11 Nov 13:49

Choose a tag to compare

Highlights

Features

  • rt: add Timer::now() method to allow overriding the instant returned (#3965) (5509ebe6)

Bug Fixes

Breaking Changes

While technically breaking, it's assumed you will not need to do anything or be affected.

  • The HTTP/2 client connection no longer allows an executor
    that can not spawn itself.

    This was an oversight originally. The client connection will now include spawning
    a future that keeps a copy of the executor to spawn other futures. Thus, if it is
    !Send, it needs to spawn !Send futures. The likelihood of executors that match
    the previously allowed behavior should be very remote.

    There is also technically a semver break in here, which is that the
    Http2ClientConnExec trait no longer dyn-compatible, because it now expects to
    be Clone. This should not break usage of the conn builder, because it already
    separately had E: Clone bounds. If someone were using dyn Http2ClientConnExec,
    that will break. However, there is no purpose for doing so, and it is not usable
    otherwise, since the trait only exists to propagate bounds into hyper. Thus, the
    breakage should not affect anyone.
    (58e0e7dc)

What's Changed

New Contributors

v1.7.0

18 Aug 13:55

Choose a tag to compare

Highlights

Features

  • client:
  • error: add Error::is_shutdown() (#3863) (b8affd8a, closes #2745)
  • server: add allow_multiple_spaces_in_request_line_delimiters http1 builder method (#3929) (9749184f)

Bug Fixes

  • server: improve caching accuracy of Date header (#3887) (436cadd1)

What's Changed

New Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0

28 Jan 13:55

Choose a tag to compare

Features

  • ext: add ext::on_informational() callback extension (#3818) (8ce1fcfa, closes #2565)
  • server: add http1::Builder::ignore_invalid_headers(bool) option (#3824) (3817a79b)

Bug Fixes

Breaking Changes

  • http2::Builder::max_local_error_reset_streams() now takes &mut self and returns &mut Self. In practice, this shouldn't break almost anyone. It was the wrong receiver and return types.
    (e981a91e)

New Contributors

Thanks

Full Changelog: v1.5.2...v1.6.0

v1.5.2

16 Dec 16:19

Choose a tag to compare

Bug Fixes

Features

New Contributors

Thanks

Full Changelog: v1.5.1...v1.5.2

v0.14.32

16 Dec 16:01

Choose a tag to compare

Features

  • server: add Builder::max_pending_accept_reset_streams(num) option (a24f0c0)

Bug Fixes

  • http1: fix intermittent panic parsing partial headers (0f274ae)

New Contributors

Full Changelog: v0.14.31...v0.14.32

v1.5.1

19 Nov 16:44

Choose a tag to compare

Bug Fixes

  • http2:
    • pass proper value to h2 max_local_error_reset_streams (4a20147a)
    • improve graceful shutdown during handshake (#3729) (13b05943)

What's Changed

New Contributors

Thanks

Full Changelog: v1.5.0...v1.5.1

v1.5.0

15 Oct 16:12

Choose a tag to compare

Features

  • client: Add HTTP/2 builder options header_table_size() and max_concurrent_streams() (4c84e8c1)
  • rt: add ReadBufCursor methods remaining() and put_slice() (#3700) (5a13041e)

Bug Fixes

  • http1:
  • http2: strip content-length header in response to CONNECT requests (#3748) (67a4a498)

New Contributors

Thanks!

Full Changelog: v1.4.1...v1.5.0

v0.14.31

15 Oct 16:05

Choose a tag to compare

Bug Fixes

  • http1: improve performance of parsing sequentially partial messages (97b595e)