Skip to content

v0.1.21

Latest

Choose a tag to compare

@seanmonstar seanmonstar released this 24 Sep 18:01
· 6 commits to master since this release

Additions

  • Add crate-level documentation. (#327)
  • Add client::legacy::Builder::http2_header_table_size() method. (#274)
  • Add client::legacy::Builder::http2_max_concurrent_streams() method. (#274)
  • Add client::legacy::Builder::http2_max_local_error_reset_streams() method. (#277)
  • Add client::legacy::connect::HttpConnector::set_mark() method. (#303)
  • Add rt::tracing::WithSpanExecutor<E>, hyper_util::rt::tracing::CurrentSpanExecutor<E>, and hyper_util::rt::tracing::MkSpanExecutor<E, F> executors. (#323)

Fixes

  • Fix client::legacy::Client so that it properly validates CONNECT responses. (#315)
  • Fix client::legacy::Client to cancel the idle interval once its pool empties. (#292)
  • Fix client::legacy::Client to properly handle IPv6 addresses when using a SOCKS proxy. (#302)
  • Fix client::pool::cache to preserve readiness with clones. (#297)
  • Fix client::pool::cache to wake its waiters in FIFO order. (#298)
  • Fix client::pool::singleton::Singleton to properly handle cancellation. (#299)
  • Fix client::pool::singleton::Singleton to share errors with all waiters. (#296)
  • Fix client::proxy::matcher handling for IP wildcards. (#309)
  • The tokio/net feature is narrowed to the client-legacy feature flag, from the client feature flag. (#276)
  • Various fixes to the client::legacy::Client's SOCKS proxying. (#302) (#307) (#308) (#310)

Changes

This release contains a minor behavioral change for users of the tracing
feature flag to be aware of.

This feature flag was introduced in v0.1.11. When enabled,
rt::TokioExecutor<E> began propagating the currently active tracing::Span
to spawned tasks when hyper::rt::Executor::execute() is called. This caused
issues for some users, due to background tasks keeping a span open for the
duration of a long-lived connection.

This behavior has now been removed from rt::TokioExecutor<E>
(#322) by default. A
collection of executor wrappers have been added to a new rt::tracing
submodule, to provide facilities for instrumenting a client or server's spawned
tasks. See the module-level documentation of rt::tracing for more
information.

To temporarily preserve the previous rt::TokioExecutor<E> span propagation
behavior, enable the rt-tracing-exec-force feature. Note that this feature
flag will be removed in a future release.

This release bumps the minimal supported Rust version (MSRV) from 1.64 to 1.85.

This release bumps the rust edition from 2021 to 2024.

All the people

  • fix: avoid redundant Uri construction for pooled connections by @Vaiz in #265
  • Fix cargo test ... for a variety of features by @erickt in #266
  • ensure that tests work when only server-auto feature is enabled by @alexanderkjall in #271
  • feat: add http2_header_table_size and http2_max_concurrent_streams methods by @barjin in #274
  • Move tokio/net feature to client-legacy by @r58Playz in #276
  • Add http2_max_local_error_reset_streams method to legacy client by @op in #277
  • chore(lib): bump MSRV to 1.85 and set to edition 2024 by @seanmonstar in #281
  • chore(dependencies): bump socket2 to 0.6 by @seanmonstar in #282
  • chore: switch futures_util::pin_mut to standard library api by @tottoto in #284
  • fix(client-pool): wake cache waiters in FIFO order by @aajtodd in #298
  • fix(pool): shared Singleton errors with all waiters by @seanmonstar in #296
  • fix(pool): Singleton shared calls pass baton if one cancels by @seanmonstar in #299
  • fix(pool): preserve Cache readiness with clones by @seanmonstar in #297
  • chore(deps): bump base64 to 0.23 by @paolobarbolini in #304
  • Update to tracing 0.1.36 by @kayabaNerve in #305
  • Handle IPv6 addresses as SOCKS destination by @FrankTaylorLieder in #302
  • refactor: put ipv6 bracket parsing in a single function by @seanmonstar in #306
  • fix(proxy): SOCKS split message parsing fix by @JPDye in #308
  • fix(client): write a single NULL after USERID in SOCKS4 requests by @monosans in #307
  • fix(proxy): stop SOCKS5 optimistic sending deadlock by @JPDye in #310
  • fix(proxy): handle WinINET IP wildcards by @subotac in #309
  • fix(client): cancel idle interval when pool empties by @lrowe in #292
  • chore: remove redundant import by @tottoto in #314
  • chore(ci): update to actions/checkout@v7 by @tottoto in #316
  • chore(ci): simplify msrv check by @tottoto in #317
  • fix(client): parse proxy CONNECT response with httparse by @aashish-thapa in #315
  • feat(rt): change TokioExecutor to not trace, add rt-tracing-exec-force feature by @seanmonstar in #322
  • feat(client): add HttpConnector::set_mark for SO_MARK by @FlorianUekermann in #303
  • feat(rt/tracing): introduce tracing executors by @cratelyn in #323
  • docs: add crate-level documentation by @cratelyn in #327
  • chore(error): remove disabled hyper_util::error submodule by @cratelyn in #325
  • doc(client/pool): add broken_intra_doc_links allowance by @cratelyn in #326
  • v0.1.21 by @cratelyn in #328

New Contributors

Full Changelog: v0.1.20...v0.1.21