PackageTrack
Sign in Get early access

reqwest

higher level HTTP client library

0.13.4 660M downloads/mo #138 most downloaded on crates.io seanmonstar/reqwest

What this package is like to depend on

Last release 3 months ago

25 May 2026

Ships fairly regularly

a new release about every 5 weeks

Most releases are documented

notes for 104 of 122 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

125 releases · first in 2016

11 releases in the last 12 months

see the full history below

Release timeline

125 releases · Oct 2016 to May 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 125
  1. 0.13.4 25 May 2026
    Release notes

    tl;dr

    • Add ClientBuilder::tls_sslkeylogfile(bool) option to allow using the related environment variable.
    • Add ClientBuilder::http2_keep_alive_* options for the blocking client.
    • Add TLS 1.3 support when using native-tls backend.
    • Fix redirect handling to strip sensitive headers when the scheme changes.
    • Fix HTTP/3 happy-eyeball connection creation.
    • Upgrade hickory-resolver to 0.26.

    What's Changed

    New Contributors

    Full Changelog: v0.13.3...v0.13.4

    Open source →
    Release notes
    • Add ClientBuilder::tls_sslkeylogfile(bool) option to allow using the related environment variable.
    • Add ClientBuilder::http2_keep_alive_* options for the blocking client.
    • Add TLS 1.3 support when using native-tls backend.
    • Fix redirect handling to strip sensitive headers when the scheme changes.
    • Fix HTTP/3 happy-eyeball connection creation.
    • Upgrade hickory-resolver to 0.26.
    Open source →
  2. 0.13.3 27 Apr 2026
    Release notes

    tl;dr

    • Fix CertificateRevocationList parsing of PEM values.
    • Fix logging in resolver to only show host, not full URL.
    • Fix hickory-dns to fallback to a default if /etc/resolv.conf fails.
    • Fix HTTP/3 to handle STOP_SENDING as not an error.
    • Fix HTTP/3 pool to remove timed out QUIC connections.
    • Fix HTTP/3 connection establishment picking IPv4 and IPv6.
    • Upgrade rustls-platform-verifier.
    • (wasm) Only use wasm-bindgen on unknown-* targets.

    What's Changed

    New Contributors

    Full Changelog: v0.13.2...v0.13.3

    Open source →
    Release notes
    • Fix CertificateRevocationList parsing of PEM values.
    • Fix logging in resolver to only show host, not full URL.
    • Fix hickory-dns to fallback to a default if /etc/resolv.conf fails.
    • Fix HTTP/3 to handle STOP_SENDING as not an error.
    • Fix HTTP/3 pool to remove timed out QUIC connections.
    • Fix HTTP/3 connection establishment picking IPv4 and IPv6.
    • Upgrade rustls-platform-verifier.
    • (wasm) Only use wasm-bindgen on unknown-* targets.
    Open source →
  3. 0.13.2 06 Feb 2026
    Release notes

    tl;dr

    • Fix HTTP/2 and native-tls ALPN feature combinations.
    • Fix HTTP/3 to send h3 ALPN.
    • (wasm) fix RequestBuilder::json() from override previously set content-type.

    What's Changed

    New Contributors

    Full Changelog: v0.13.1...v0.13.2

    Open source →
    Release notes
    • Fix HTTP/2 and native-tls ALPN feature combinations.
    • Fix HTTP/3 to send h3 ALPN.
    • (wasm) fix RequestBuilder::json() from override previously set content-type.
    Open source →
  4. 0.13.1 30 Dec 2025
    Release notes

    What's Changed

    • http3: depend on quinn/rustls-aws-lc-rs to avoid ring dependency by @djc in #2917
    • fix rustls on android by @seanmonstar in #2918

    Full Changelog: v0.13.0...v0.13.1

    Open source →
    Release notes
    • Fixes compiling with rustls on Android targets.

    v0.13.0

    • Breaking changes:
      • rustls is now the default TLS backend, instead of native-tls.
      • rustls crypto provider defaults to aws-lc instead of ring. (rustls-no-provider exists if you want a different crypto provider)
      • rustls-tls has been renamed to rustls.
      • rustls roots features removed, rustls-platform-verifier is used by default.
        • To use different roots, call tls_certs_only(your_roots).
      • native-tls now includes ALPN. To disable, use native-tls-no-alpn.
      • query and form are now crate features, disabled by default.
      • Long-deprecated methods and crate features have been removed (such as trust-dns, which was renamed hickory-dns a while ago).
    • Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings)
      • For example, prefer tls_backend_rustls() over use_rustls_tls().
    Open source →
  5. 0.13.0 30 Dec 2025
    Release notes

    Breaking changes

    • rustls is now the default TLS backend, instead of native-tls.
    • rustls crypto provider defaults to aws-lc instead of ring. (rustls-no-provider exists if you want a different crypto provider)
    • rustls-tls has been renamed to rustls.
    • rustls roots features removed, rustls-platform-verifier is used by default.
      • To use different roots, call tls_certs_only(your_roots).
    • native-tls now includes ALPN. To disable, use native-tls-no-alpn.
    • query and form are now crate features, disabled by default.
    • Long-deprecated methods and crate features have been removed (such as trust-dns, which was renamed hickory-dns a while ago).
    • Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings)
      • For example, prefer tls_backend_rustls() over use_rustls_tls().

    Pull Requests in General

    New Contributors

    Full Changelog: v0.12.28...v0.13.0

    Open source →
  6. 0.13.0-rc.1 23 Dec 2025 pre-release
    Release notes

    👀 Discussion here if you give it try, thanks!

    Main breaking changes

    • rustls is now default instead of native-tls
    • rustls provider defaults to aws-lc instead of ring (rustls-no-provider exists if you want to enable a different one)
    • rustls-tls renamed to rustls
    • rustls roots features removed, platform-verifier is used instead
      • To use different roots instead, use tls_certs_only(your_roots).
    • Many TLS-related methods renamed, but previous name left in place with a "soft" deprecated (just documented, no warnings).
    • query and form are now crate features, disabled by default
    • Long-deprecated methods and crate features have been removed.

    PRs

    New Contributors

    Full Changelog: v0.12.28...v0.13.0-rc.1

    Open source →
  7. 0.12.28 22 Dec 2025
    Release notes

    What's Changed

    Full Changelog: v0.12.27...v0.12.28

    Open source →
    Release notes
    • Fix compiling on Windows if TLS and SOCKS features are not enabled.
    Open source →
  8. 0.12.27 22 Dec 2025
    Release notes

    tl;dr

    • Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Pipe.

    What's Changed

    Full Changelog: v0.12.26...v0.12.27

    Open source →
    Release notes
    • Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Piper.
    Open source →
  9. 0.12.26 15 Dec 2025
    Release notes

    tl;dr

    • Fix sending Accept-Encoding header only with values configured with reqwest, regardless of underlying tower-http config.

    What's Changed

    Full Changelog: v0.12.25...v0.12.26

    Open source →
    Release notes
    • Fix sending Accept-Encoding header only with values configured with reqwest, regardless of underlying tower-http config.
    Open source →
  10. 0.12.25 08 Dec 2025
    Release notes

    Highlights

    • Add Error::is_upgrade() to determine if the error was from an HTTP upgrade.
    • Fix sending Proxy-Authorization if only username is configured.
    • Fix sending Proxy-Authorization to HTTPS proxies when the target is HTTP.
    • Refactor internal decompression handling to use tower-http.

    What's Changed

    New Contributors

    Full Changelog: v0.12.24...v0.12.25

    Open source →
    Release notes
    • Add Error::is_upgrade() to determine if the error was from an HTTP upgrade.
    • Fix sending Proxy-Authorization if only username is configured.
    • Fix sending Proxy-Authorization to HTTPS proxies when the target is HTTP.
    • Refactor internal decompression handling to use tower-http.
    Open source →
  11. 0.12.24 13 Oct 2025
    Release notes
    • Refactor cookie handling to an internal middleware.
    • Refactor internal random generator.
    • Refactor base64 encoding to reduce a copy.
    • Documentation updates.
    Open source →
  12. 0.12.23 12 Aug 2025
    Release notes
    • Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket.
    • Add ClientBuilder::retry(policy) and reqwest::retry::Builder to configure automatic retries.
    • Add ClientBuilder::dns_resolver2() with more ergonomic argument bounds, allowing more resolver implementations.
    • Add http3_* options to blocking::ClientBuilder.
    • Fix default TCP timeout values to enabled and faster.
    • Fix SOCKS proxies to default to port 1080
    • (wasm) Add cache methods to RequestBuilder.
    Open source →
  13. 0.12.22 01 Jul 2025
    Release notes
    • Fix socks proxies when resolving IPv6 destinations.
    Open source →
  14. 0.12.21 30 Jun 2025
    Release notes
    • Fix socks proxy to use socks4a:// instead of socks4h://.
    • Fix Error::is_timeout() to check for hyper and IO timeouts too.
    • Fix request Error to again include URLs when possible.
    • Fix socks connect error to include more context.
    • (wasm) implement Default for Body.
    Open source →
  15. 0.12.20 10 Jun 2025
    Release notes
    • Add ClientBuilder::tcp_user_timeout(Duration) option to set TCP_USER_TIMEOUT.
    • Fix proxy headers only using the first matched proxy.
    • (wasm) Fix re-adding Error::is_status().
    Open source →
  16. 0.12.19 02 Jun 2025
    Release notes
    • Fix redirect that changes the method to GET should remove payload headers.
    • Fix redirect to only check the next scheme if the policy action is to follow.
    • (wasm) Fix compilation error if cookies feature is enabled (by the way, it's a noop feature in wasm).
    Open source →
  17. 0.12.18 28 May 2025
    Release notes
    • Fix compilation when socks enabled without TLS.
    Open source →
  18. 0.12.17 28 May 2025
    Release notes
    • Fix compilation on macOS.
    Open source →
  19. 0.12.16 27 May 2025
    Release notes
    • Add ClientBuilder::http3_congestion_bbr() to enable BBR congestion control.
    • Add ClientBuilder::http3_send_grease() to configure whether to send use QUIC grease.
    • Add ClientBuilder::http3_max_field_section_size() to configure the maximum response headers.
    • Add ClientBuilder::tcp_keepalive_interval() to configure TCP probe interval.
    • Add ClientBuilder::tcp_keepalive_retries() to configure TCP probe count.
    • Add Proxy::headers() to add extra headers that should be sent to a proxy.
    • Fix redirect::Policy::limit() which had an off-by-1 error, allowing 1 more redirect than specified.
    • Fix HTTP/3 to support streaming request bodies.
    • (wasm) Fix null bodies when calling Response::bytes_stream().
    Open source →
  20. 0.12.15 18 Mar 2025
    Release notes
    • Fix Windows to support both ProxyOverride and NO_PROXY.
    • Fix http3 to support streaming response bodies.
    • Fix http3 dependency from public API misuse.
    Open source →
  21. 0.12.14 12 Mar 2025
    Release notes
    • Fix missing fetch_mode_no_cors(), marking as deprecated when not on WASM.
    Open source →
  22. 0.12.13 11 Mar 2025
    Release notes
    • Add Form::into_reader() for blocking multipart forms.
    • Add Form::into_stream() for async multipart forms.
    • Add support for SOCKS4a proxies.
    • Fix decoding responses with multiple zstd frames.
    • Fix RequestBuilder::form() from overwriting a previously set Content-Type header, like the other builder methods.
    • Fix cloning of request timeout in blocking::Request.
    • Fix http3 synchronization of connection creation, reducing unneccesary extra connections.
    • Fix Windows system proxy to use ProxyOverride as a NO_PROXY value.
    • Fix blocking read to correctly reserve and zero read buffer.
    • (wasm) Add support for request timeouts.
    • (wasm) Fix Error::is_timeout() to return true when from a request timeout.
    Open source →
  23. 0.12.12 31 Dec 2024
    Release notes
    • (wasm) Fix compilation by not compiler tokio/time on WASM.
    Open source →
  24. 0.12.11 27 Dec 2024
    Release notes
    • Fix decompression returning an error when HTTP/2 ends with an empty data frame.
    Open source →
  25. 0.12.10 26 Dec 2024
    Release notes
    • Add ClientBuilder::connector_layer() to allow customizing the connector stack.
    • Add ClientBuilder::http2_max_header_list_size() option.
    • Fix propagating body size hint (content-length) information when wrapping bodies.
    • Fix decompression of chunked bodies so the connections can be reused more often.
    Open source →
  26. 0.12.9 28 Oct 2024
    Release notes
    • Add tls::CertificateRevocationLists support.
    • Add crate features to enable webpki roots without selecting a rustls provider.
    • Fix connection_verbose() to output read logs.
    • Fix multipart::Part::file() to automatically include content-length.
    • Fix proxy to internally no longer cache system proxy settings.
    Open source →
  27. 0.12.8 30 Sep 2024
    Release notes
    • Add support for SOCKS4 proxies.
    • Add multipart::Form::file() method for adding files easily.
    • Add Body::wrap() to wrap any http_body::Body type.
    • Fix the pool configuration to use a timer to remove expired connections.
    Open source →
  28. 0.12.7 19 Aug 2024
    Release notes
    • Revert adding impl Service<http::Request<_>> for Client.
    Open source →
  29. 0.12.6 19 Aug 2024
    Release notes
    • Add support for danger_accept_invalid_hostnames for rustls.
    • Add impl Service<http::Request<Body>> for Client and &'_ Client.
    • Add support for !Sync bodies in Body::wrap_stream().
    • Enable happy eyeballs when hickory-dns is used.
    • Fix Proxy so that HTTP(S)_PROXY values take precedence over ALL_PROXY.
    • Fix blocking::RequestBuilder::header() from unsetting sensitive on passed header values.
    Open source →
  30. 0.12.5 17 Jun 2024
    Release notes
    • Add blocking::ClientBuilder::dns_resolver() method to change DNS resolver in blocking client.
    • Add http3 feature back, still requiring reqwest_unstable.
    • Add rustls-tls-no-provider Cargo feature to use rustls without a crypto provider.
    • Fix Accept-Encoding header combinations.
    • Fix http3 resolving IPv6 addresses.
    • Internal: upgrade to rustls 0.23.
    Open source →
  31. 0.12.4 19 Apr 2024
    Release notes
    • Add zstd support, enabled with zstd Cargo feature.
    • Add ClientBuilder::read_timeout(Duration), which applies the duration for each read operation. The timeout resets after a successful read.
    Open source →
  32. 0.12.3 05 Apr 2024
    Release notes
    • Add FromStr for dns::Name.
    • Add ClientBuilder::built_in_webpki_certs(bool) to enable them separately.
    • Add ClientBuilder::built_in_native_certs(bool) to enable them separately.
    • Fix sending content-length: 0 for GET requests.
    • Fix response body content_length() to return value when timeout is configured.
    • Fix ClientBuilder::resolve() to use lowercase domain names.
    Open source →
  33. 0.12.2 25 Mar 2024
    Release notes
    • Fix missing ALPN when connecting to socks5 proxy with rustls.
    • Fix TLS version limits with rustls.
    • Fix not detected ALPN h2 from server with native-tls.
    Open source →
  34. 0.12.1 22 Mar 2024
    Release notes
    • Fix ClientBuilder::interface() when no TLS is enabled.
    • Fix TlsInfo::peer_certificate() being truncated with rustls.
    • Fix panic if http2 feature disabled but TLS negotiated h2 in ALPN.
    • Fix Display for Error to not include its source error.

    v0.12.0

    • Upgrade to hyper, http, and http-body v1.
    • Add better support for converting to and from http::Request and http::Response.
    • Add http2 optional cargo feature, default on.
    • Add charset optional cargo feature, default on.
    • Add macos-system-configuration cargo feature, default on.
    • Change all optional dependencies to no longer be exposed as implicit features.
    • Add ClientBuilder::interface(str) to specify the local interface to bind to.
    • Experimental: disables the http3 feature temporarily.
    Open source →
  35. 0.12.0 20 Mar 2024

    Nothing published for this version

  36. 0.11.27 19 Mar 2024
    Release notes
    • Add hickory-dns feature, deprecating trust-dns.
    • (wasm) Fix Form::text() to not set octet-stream for plain text fields.
    Open source →
  37. 0.11.26 12 Mar 2024
    Release notes
    • Revert system-configuration upgrade, which broke MSRV on macOS.
    Open source →
  38. 0.11.25 08 Mar 2024
    Release notes
    • Fix Certificate::from_pem_bundle() parsing.
    • Fix Apple linker errors from detecting system proxies.
    Open source →
  39. 0.11.24 31 Jan 2024
    Release notes
    • Add Certificate::from_pem_bundle() to add a bundle.
    • Add http3_prior_knowledge() to blocking client builder.
    • Remove Sync bounds requirement for Body::wrap_stream().
    • Fix HTTP/2 to retry REFUSED_STREAM requests.
    • Fix instances of converting Url to Uri that could panic.
    Open source →
  40. 0.11.23 18 Dec 2023
    Release notes
    • Add Proxy::custom_http_auth(val) for setting the raw Proxy-Authorization header when connecting to proxies.
    • Fix redirect to reject locations that are not http:// or https://.
    • Fix setting nodelay when TLS is enabled but URL is HTTP.
    • (wasm) Add ClientBuilder::user_agent(val).
    • (wasm) add multipart::Form::headers(headers).
    Open source →
  41. 0.11.22 03 Oct 2023
    Release notes
    • Fix compilation on Windows when trust-dns is enabled.
    Open source →
  42. 0.11.21 02 Oct 2023
    Release notes
    • Add automatically detecting macOS proxy settings.
    • Add ClientBuilder::tls_info(bool), which will put tls::TlsInfo into the response extensions.
    • Fix trust-dns resolver from possible hangs.
    • Fix connect timeout to be split among multiple IP addresses.
    Open source →
  43. 0.11.20 23 Aug 2023
    Release notes
    • Fix deflate decompression back to using zlib, as outlined in the spec.
    Open source →
  44. 0.11.19 21 Aug 2023
    Release notes
    • Add ClientBuilder::http1_ignore_invalid_headers_in_responses() option.
    • Add ClientBuilder::http1_allow_spaces_after_header_name_in_responses() option.
    • Add support for ALL_PROXY environment variable.
    • Add support for use_preconfigured_tls when combined with HTTP/3.
    • Fix deflate decompression from using the zlib decoder.
    • Fix Response::{text, text_with_charset}() to strip BOM characters.
    • Fix a panic when HTTP/3 is used if UDP isn't able to connect.
    • Fix some dependencies for HTTP/3.
    • Increase MSRV to 1.63.
    Open source →
  45. 0.11.18 16 May 2023
    Release notes
    • Fix RequestBuilder::json() method from overriding a previously set content-type header. An existing value will be left in place.
    • Upgrade internal dependencies for rustls and compression.
    Open source →
  46. 0.11.17 28 Apr 2023
    Release notes
    • Upgrade internal dependencies of Experimental HTTP/3 to use quinn v0.9
    • (wasm) Fix blob url support
    Open source →
  47. 0.11.16 27 Mar 2023
    Release notes
    • Chore: set MSRV in Cargo.toml.
    • Docs: fix build on docs.rs
    Open source →
  48. 0.11.15 20 Mar 2023
    Release notes
    • Add RequestBuilder methods to split and reconstruct from its parts.
    • Add experimental HTTP/3 support.
    • Fix connection_verbose to log write_vectored calls.
    • (wasm) Make requests actually cancel if the future is dropped.
    Open source →
  49. 0.11.14 19 Jan 2023
    Release notes
    • Adds Proxy::no_proxy(url) that works like the NO_PROXY environment variable.
    • Adds multipart::Part::headers(headers) method to add custom headers.
    • (wasm) Add Response::bytes_stream().
    • Perf: several internal optimizations reducing copies and memory allocations.
    Open source →
  50. 0.11.13 16 Nov 2022
    Release notes
    • Add ClientBuilder::dns_resolver() option for custom DNS resolvers.
    • Add ClientBuilder::tls_sni(bool) option to enable or disable TLS Server Name Indication.
    • Add Identity::from_pkcs8_pem() constructor when using native-tls.
    • Fix redirect::Policy::limited(0) from following any redirects.
    Open source →
  51. 0.11.12 20 Sep 2022
    Release notes
    • Add ClientBuilder::resolve_to_addrs() which allows a slice of IP addresses to be specified for a single host.
    • Add Response::upgrade() to await whether the server agrees to an HTTP upgrade.
    Open source →
  52. 0.11.11 13 Jun 2022
    Release notes
    • Add HTTP/2 keep-alive configuration methods on ClientBuilder.
    • Add ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses().
    • Add impl Service<Request> for Client and &'_ Client.
    • (wasm) Add RequestBuilder::basic_auth().
    • Fix RequestBuilder::header to not override sensitive if user explicitly set on a HeaderValue.
    • Fix rustls parsing of elliptic curve private keys.
    • Fix Proxy URL parsing of some invalid targets.
    Open source →
  53. 0.11.10 14 Mar 2022
    Release notes
    • Add Error::url() to access the URL of an error.
    • Add Response::extensions() to access the http::Extensions of a response.
    • Fix rustls-native-certs to log an error instead of panicking when loading an invalid system certificate.
    • Fix passing Basic Authorization header to proxies.
    Open source →
  54. 0.11.9 10 Jan 2022
    Release notes
    • Add ClientBuilder::http09_responses(bool) option to allow receiving HTTP/0.9 responses.
    • Fix HTTP/2 to retry requests interrupted by an HTTP/2 graceful shutdown.
    • Fix proxy loading from environment variables to ignore empty values.
    Open source →
  55. 0.11.8 20 Dec 2021
    Release notes
    • Update internal webpki-roots dependency.
    Open source →
  56. 0.11.7 30 Nov 2021
    Release notes
    • Add blocking::ClientBuilder::resolve() option, matching the async builder.
    • Implement From<tokio::fs::File> for Body.
    • Fix blocking request-scoped timeout applying to bodies as well.
    • (wasm) Fix request bodies using multipart vs formdata.
    • Update internal rustls to 0.20.
    Open source →
  57. 0.11.6 18 Oct 2021
    Release notes
    • (wasm) Fix request bodies more.
    Open source →
  58. 0.11.5 07 Oct 2021
    Release notes
    • Add ClientBuilder::http1_only() method.
    • Add tls::Version type, and ClientBuilder::min_tls_version() and ClientBuilder::max_tls_version() methods.
    • Implement TryFrom<Request> for http::Request.
    • Implement Clone for Identity.
    • Fix NO_PROXYenvironment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and * is allowed to match everything.
    • Fix redirection to respect https_only option.
    • (wasm) Add Body::as_bytes() method.
    • (wasm) Fix sometimes wrong conversation of bytes into a JsValue.
    • (wasm) Avoid dependency on serde-serialize feature.
    Open source →
  59. 0.11.4 21 Jun 2021
    Release notes
    • Add ClientBuilder::resolve() option to override DNS resolution for specific domains.
    • Add native-tls-alpn Cargo feature to use ALPN with the native-tls backend.
    • Add ClientBuilder::deflate() option and deflate Cargo feature to support decoding response bodies using deflate.
    • Add RequestBuilder::version() to allow setting the HTTP version of a request.
    • Fix allowing "invalid" certificates with the rustls-tls backend, when the server uses TLS v1.2 or v1.3.
    • (wasm) Add try_clone to Request and RequestBuilder
    Open source →
  60. 0.11.3 12 Apr 2021
    Release notes
    • Add impl From<hyper::Body> for reqwest::Body.
    • (wasm) Add credentials mode methods to RequestBuilder.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive