PackageTrack
Sign in Get early access

awc

Async HTTP and WebSocket client library

3.8.2 12M downloads/mo #2748 most downloaded on crates.io actix/actix-web

What this package is like to depend on

Last release 6 months ago

18 Feb 2026

Ships fairly regularly

a new release about every 4 months

Nearly every release is documented

notes for 31 of 31 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

68 releases · first in 2019

3 releases in the last 12 months

see the full history below

Release timeline

68 releases · Mar 2019 to Feb 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 68
  1. 3.8.2 18 Feb 2026
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.88.
    • Fix empty streaming request bodies being sent with chunked transfer encoding.
    Open source →
  2. 3.8.1 05 Oct 2025
    Release notes
    • Fix a bug where GO_AWAY errors did not stop connections from returning to the pool.
    Open source →
  3. 3.8.0 09 Sep 2025
    Release notes
    • Add hickory-dns crate feature (off-by-default).
    • The trust-dns crate feature now delegates DNS resolution to hickory-dns.
    Open source →
  4. 3.7.0 10 May 2025
    Release notes
    • Update brotli dependency to 8.
    Open source →
  5. 3.6.0 10 Mar 2025
    Release notes
    • Prevent panics on connection pool drop when Tokio runtime is shutdown early.
    • Do not send Host header on HTTP/2 requests, as it is not required, and some web servers may reject it.
    • Update brotli dependency to 7.
    • Minimum supported Rust version (MSRV) is now 1.75.
    Open source →
  6. 3.5.1 10 Aug 2024
    Release notes
    • Fix WebSocket Host request header value when using a non-default port.
    Open source →
  7. 3.5.0 19 May 2024
    Release notes
    • Add rustls-0_23, rustls-0_23-webpki-roots, and rustls-0_23-native-roots crate features.
    • Add awc::Connector::rustls_0_23() constructor.
    • Fix rustls-0_22-native-roots root store lookup.
    • Update brotli dependency to 6.
    • Minimum supported Rust version (MSRV) is now 1.72.
    Open source →
  8. 3.4.0 04 Feb 2024
    Release notes
    • Add rustls-0_22-webpki-roots and rustls-0_22-native-roots crate feature.
    • Add awc::Connector::rustls_0_22() method.
    Open source →
  9. 3.3.0 24 Dec 2023
    Release notes
    • Update trust-dns-resolver dependency to 0.23.
    • Updated zstd dependency to 0.13.
    Open source →
  10. 3.2.0 29 Aug 2023
    Release notes
    • Add awc::Connector::rustls_021() method for Rustls v0.21 support behind new rustls-0_21 crate feature.
    • Add rustls-0_20 crate feature, which the existing rustls feature now aliases.
    • Minimum supported Rust version (MSRV) is now 1.68 due to transitive time dependency.
    Open source →
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.68 due to transitive time dependency.
    Open source →
  11. 3.1.1 26 Feb 2023
    Release notes

    Changed

    • client::Connect is now public to allow tunneling connection with client::Connector.
    Open source →
  12. 3.1.0 21 Jan 2023
    Release notes

    Changed

    • Minimum supported Rust version (MSRV) is now 1.59 due to transitive time dependency.
    Open source →
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.59.
    Open source →
  13. 3.0.1 25 Aug 2022
    Release notes

    Changed

    • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.

    Fixed

    • Fixed handling of redirection requests that begin with //. #2840
    Open source →
  14. 3.0.0 08 Mar 2022
    Release notes

    Dependencies

    • Updated actix-* to Tokio v1-based versions. #1813
    • Updated bytes to 1.0. #1813
    • Updated cookie to 0.16. #2555
    • Updated rand to 0.8.
    • Updated rustls to 0.20. #2414
    • Updated tokio to 1.

    Added

    • trust-dns crate feature to enable trust-dns-resolver as client DNS resolver; disabled by default. #1969
    • cookies crate feature; enabled by default. [#2619]
    • compress-brotli crate feature; enabled by default. #2250
    • compress-gzip crate feature; enabled by default. #2250
    • compress-zstd crate feature; enabled by default. #2250
    • client::Connector::handshake_timeout() for customizing TLS connection handshake timeout. #2081
    • client::ConnectorService as client::Connector::finish method's return type #2081
    • client::ConnectionIo trait alias #2081
    • Client::headers() to get default mut reference of HeaderMap of client object. #2114
    • ClientResponse::timeout() for set the timeout of collecting response body. #1931
    • ClientBuilder::local_address() for binding to a local IP address for this client. #2024
    • ClientRequest::insert_header() method which allows using typed and untyped headers. #1869
    • ClientRequest::append_header() method which allows using typed and untyped headers. #1869
    • ClientBuilder::add_default_header() (and deprecate ClientBuilder::header()). #2510

    Changed

    • client::Connector type now only has one generic type for actix_service::Service. #2063
    • client::error::ConnectError Resolver variant contains Box<dyn std::error::Error> type. #1905
    • client::ConnectorConfig default timeout changed to 5 seconds. #1905
    • ConnectorService type is renamed to BoxConnectorService. #2081
    • Fix http/https encoding when enabling compress feature. #2116
    • Rename TestResponse::{header => append_header, set => insert_header}. These methods now take a TryIntoHeaderPair. #2094
    • ClientBuilder::connector() method now takes Connector<T, U> type. #2008
    • Basic auth now accepts blank passwords as an empty string instead of an Option. #2050
    • Relax default timeout for Connector to 5 seconds (up from 1 second). #1905
    • *::send_json() and *::send_form() methods now receive impl Serialize. #2553
    • FrozenClientRequest::extra_header() now uses receives an impl TryIntoHeaderPair. #2553
    • Rename Connector::{ssl => openssl}(). #2503
    • ClientRequest::send_body now takes an impl MessageBody. #2546
    • Rename MessageBody => ResponseBody to avoid conflicts with MessageBody trait. #2546
    • Minimum supported Rust version (MSRV) is now 1.54.

    Fixed

    • Send headers along with redirected requests. #2310
    • Improve Client instantiation efficiency when using openssl by only building connectors once. #2503
    • Remove unnecessary Unpin bounds on *::send_stream. #2553
    • impl Future for ResponseBody no longer requires the body type be Unpin. #2546
    • impl Future for JsonBody no longer requires the body type be Unpin. #2546
    • impl Stream for ClientResponse no longer requires the body type be Unpin. #2546

    Removed

    • compress crate feature. #2250
    • ClientRequest::set; use ClientRequest::insert_header. #1869
    • ClientRequest::set_header; use ClientRequest::insert_header. #1869
    • ClientRequest::set_header_if_none; use ClientRequest::insert_header_if_none. #1869
    • ClientRequest::header; use ClientRequest::append_header. #1869
    • Deprecated methods on ClientRequest: if_true, if_some. #2148
    • ClientBuilder::default function #2008

    Security

    <details> <summary>3.0.0 Pre-Releases</summary>

    Open source →
    Release notes
    • TestServer::stop is now async and will wait for the server and system to shutdown. #2442
    • Added TestServer::client_headers method. #2097
    • Update actix-server dependency to 2.
    • Update actix-tls dependency to 3.
    • Update bytes to 1.0. #1813
    • Minimum supported Rust version (MSRV) is now 1.57.

    <details> <summary>3.0.0 Pre-Releases</summary>

    Open source →
  15. 3.0.0-beta.21 16 Feb 2022 pre-release
    Release notes
    • No significant changes since 3.0.0-beta.20.
    Open source →
  16. 3.0.0-beta.20 01 Feb 2022 pre-release
    Release notes
    • No significant changes since 3.0.0-beta.19.
    Open source →
  17. 3.0.0-beta.19 21 Jan 2022 pre-release
    Release notes
    • No significant changes since 3.0.0-beta.18.
    Open source →
  18. 3.0.0-beta.18 04 Jan 2022 pre-release
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.54.
    Open source →
  19. 3.0.0-beta.17 29 Dec 2021 pre-release
    Release notes

    Changed

    • Update cookie dependency (re-exported) to 0.16. #2555

    Security

    Open source →
  20. 3.0.0-beta.16 29 Dec 2021 pre-release
    Release notes
    • *::send_json and *::send_form methods now receive impl Serialize. #2553
    • FrozenClientRequest::extra_header now uses receives an impl TryIntoHeaderPair. #2553
    • Remove unnecessary Unpin bounds on *::send_stream. #2553
    Open source →
  21. 3.0.0-beta.15 27 Dec 2021 pre-release
    Release notes
    • Rename Connector::{ssl => openssl}. #2503
    • Improve Client instantiation efficiency when using openssl by only building connectors once. #2503
    • ClientRequest::send_body now takes an impl MessageBody. #2546
    • Rename MessageBody => ResponseBody to avoid conflicts with MessageBody trait. #2546
    • impl Future for ResponseBody no longer requires the body type be Unpin. #2546
    • impl Future for JsonBody no longer requires the body type be Unpin. #2546
    • impl Stream for ClientResponse no longer requires the body type be Unpin. #2546
    Open source →
  22. 3.0.0-beta.14 17 Dec 2021 pre-release
    Release notes
    • Add ClientBuilder::add_default_header and deprecate ClientBuilder::header. #2510
    Open source →
  23. 3.0.0-beta.13 11 Dec 2021 pre-release
    Release notes
    • No significant changes since 3.0.0-beta.12.
    Open source →
  24. 3.0.0-beta.12 30 Nov 2021 pre-release
    Release notes
    • Update actix-tls to 3.0.0-rc.1. #2474
    Open source →
    Release notes
    • No significant changes since 3.0.0-beta.11.
    Open source →
  25. 3.0.0-beta.11 22 Nov 2021 pre-release
    Release notes
    • No significant changes from 3.0.0-beta.10.
    Open source →
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.54.
    Open source →
  26. 3.0.0-beta.10 15 Nov 2021 pre-release
    Release notes
    • No significant changes from 3.0.0-beta.9.
    Open source →
    Release notes
    • Update actix-server to 2.0.0-rc.2. #2550
    Open source →
  27. 3.0.0-beta.9 20 Oct 2021 pre-release
    Release notes
    • Updated rustls to v0.20. #2414
    Open source →
    Release notes
    • No significant changes since 3.0.0-beta.8.
    Open source →
  28. 3.0.0-beta.8 09 Sep 2021 pre-release
    Release notes

    Changed

    • Send headers within the redirect requests. #2310
    Open source →
    Release notes
    • Update actix-tls to 3.0.0-rc.1. #2474
    Open source →
  29. 3.0.0-beta.7 26 Jun 2021 pre-release
    Release notes

    Changed

    • Change compression algorithm features flags. #2250
    Open source →
    Release notes
    • Fix compatibility with experimental io-uring feature of actix-rt. #2408
    Open source →
  30. 3.0.0-beta.6 19 Jun 2021 pre-release
    Release notes
    • No significant changes since 3.0.0-beta.5.
    Open source →
    Release notes
    • TestServer::stop is now async and will wait for the server and system to shutdown. #2442
    • Update actix-server to 2.0.0-beta.9. #2442
    • Minimum supported Rust version (MSRV) is now 1.52.
    Open source →
  31. 3.0.0-beta.5 17 Apr 2021 pre-release
    Release notes

    Removed

    • Deprecated methods on ClientRequest: if_true, if_some. #2148
    Open source →
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.51.
    Open source →
  32. 3.0.0-beta.4 02 Apr 2021 pre-release
    Release notes

    Added

    • Add Client::headers to get default mut reference of HeaderMap of client object. #2114

    Changed

    • ConnectorService type is renamed to BoxConnectorService. #2081
    • Fix http/https encoding when enabling compress feature. #2116
    • Rename TestResponse::header to append_header, set to insert_header. TestResponse header methods now take TryIntoHeaderPair tuples. #2094
    Open source →
    Release notes
    • Added TestServer::client_headers method. #2097
    Open source →
  33. 3.0.0-beta.3 08 Mar 2021 pre-release
    Release notes

    Added

    • ClientResponse::timeout for set the timeout of collecting response body. #1931
    • ClientBuilder::local_address for bind to a local ip address for this client. #2024

    Changed

    • Feature cookies is now optional and enabled by default. #1981
    • ClientBuilder::connector method would take actix_http::client::Connector<T, U> type. #2008
    • Basic auth password now takes blank passwords as an empty string instead of Option. #2050

    Removed

    • ClientBuilder::default function #2008
    Open source →
    Release notes
    • No notable changes.
    Open source →
  34. 3.0.0-beta.2 10 Feb 2021 pre-release
    Release notes

    Added

    • ClientRequest::insert_header method which allows using typed headers. #1869
    • ClientRequest::append_header method which allows using typed headers. #1869
    • trust-dns optional feature to enable trust-dns-resolver as client dns resolver. #1969

    Changed

    • Relax default timeout for Connector to 5 seconds(original 1 second). #1905

    Removed

    • ClientRequest::set; use ClientRequest::insert_header. #1869
    • ClientRequest::set_header; use ClientRequest::insert_header. #1869
    • ClientRequest::set_header_if_none; use ClientRequest::insert_header_if_none. #1869
    • ClientRequest::header; use ClientRequest::append_header. #1869
    Open source →
    Release notes
    • No notable changes.
    Open source →
  35. 3.0.0-beta.1 07 Jan 2021 pre-release
    Release notes

    Changed

    • Update rand to 0.8
    • Update bytes to 1.0. #1813
    • Update rust-tls to 0.19. #1813

    </details>

    Open source →
    Release notes
    • Update bytes to 1.0. #1813

    </details>

    Open source →
  36. 2.0.3 29 Nov 2020
    Release notes

    Fixed

    • Ensure actix-http dependency uses same serde_urlencoded.
    Open source →
  37. 2.0.2 25 Nov 2020
    Release notes

    Changed

    • Upgrade serde_urlencoded to 0.7. #1773
    Open source →
  38. 2.0.1 30 Oct 2020
    Release notes

    Changed

    • Upgrade base64 to 0.13. #1744
    • Deprecate ClientRequest::{if_some, if_true}. #1760

    Fixed

    • Use Accept-Encoding: identity instead of Accept-Encoding: br when no compression feature is enabled #1737
    Open source →
  39. 2.0.0 11 Sep 2020
    Release notes

    Changed

    • Client::build was renamed to Client::builder.
    Open source →
    Release notes
    • Update actix-codec and actix-utils dependencies.
    Open source →
  40. 2.0.0-beta.4 09 Sep 2020 pre-release
    Release notes

    Changed

    • Update actix-codec & actix-tls dependencies.
    Open source →
  41. 2.0.0-beta.3 17 Aug 2020 pre-release
    Release notes

    Changed

    • Update rustls to 0.18
    Open source →
  42. 2.0.0-beta.2 22 Jul 2020 pre-release
    Release notes

    Changed

    • Update actix-http dependency to 2.0.0-beta.2
    Open source →
  43. 2.0.0-beta.1 14 Jul 2020 pre-release
    Release notes

    Changed

    • Update actix-http dependency to 2.0.0-beta.1
    Open source →
  44. 2.0.0-alpha.2 21 May 2020 pre-release
    Release notes

    Changed

    • Implement std::error::Error for our custom errors #1422
    • Bump minimum supported Rust version to 1.40
    • Update base64 dependency to 0.12
    Open source →
  45. 2.0.0-alpha.1 11 Mar 2020 pre-release
    Release notes
    • Update actix-http dependency to 2.0.0-alpha.2
    • Update rustls dependency to 0.17
    • ClientBuilder accepts initial_window_size and initial_connection_window_size HTTP2 configuration
    • ClientBuilder allowing to set max_http_version to limit HTTP version to be used
    Open source →
    Release notes
    • Update the time dependency to 0.2.7
    • Update actix-connect dependency to 2.0.0-alpha.2
    • Make test_server async fn.
    • Bump minimum supported Rust version to 1.40
    • Replace deprecated net2 crate with socket2
    • Update base64 dependency to 0.12
    • Update env_logger dependency to 0.7
    Open source →
  46. 1.0.1 15 Dec 2019
    Release notes
    • Fix compilation with default features off
    Open source →
  47. 1.0.0 13 Dec 2019
    Release notes
    • Release
    Open source →
    Release notes
    • Replaced TestServer::start() with test_server()
    Open source →
  48. 1.0.0-alpha.4 08 Dec 2019 pre-release

    Nothing published for this version

  49. 1.0.0-alpha.3 07 Dec 2019 pre-release
    Release notes
    • Migrate to std::future
    Open source →
  50. 0.3.0-alpha.2 02 Dec 2019 pre-release

    Nothing published for this version

  51. 0.3.0-alpha.1 22 Nov 2019 pre-release

    Nothing published for this version

  52. 0.2.8 06 Nov 2019
    Release notes
    • Add support for setting query from Serialize type for client request.
    Open source →
  53. 0.2.7 25 Sep 2019
    Release notes

    Added

    • Remaining getter methods for ClientRequest's private head field #1101
    Open source →
  54. 0.2.6 12 Sep 2019
    Release notes

    Added

    • Export frozen request related types.
    Open source →
  55. 0.2.5 11 Sep 2019
    Release notes

    Added

    • Add FrozenClientRequest to support retries for sending HTTP requests

    Changed

    • Ensure that the Host header is set when initiating a WebSocket client connection.
    Open source →
    Release notes
    • Update serde_urlencoded to "0.6.1"
    • Increase TestServerRuntime timeouts from 500ms to 3000ms
    • Do not override current System
    Open source →
  56. 0.2.4 13 Aug 2019
    Release notes

    Changed

    • Update percent-encoding to "2.1"

    • Update serde_urlencoded to "0.6.1"

    Open source →
    Release notes
    • Update actix-server to 0.6
    Open source →
  57. 0.2.3 01 Aug 2019
    Release notes

    Added

    • Add rustls support
    Open source →
    Release notes
    • Add delete, options, patch methods to TestServerRunner
    Open source →
  58. 0.2.2 01 Jul 2019
    Release notes

    Changed

    • Always append a colon after username in basic auth

    • Upgrade rand dependency version to 0.7

    Open source →
    Release notes
    • Add .put() and .sput() methods
    Open source →
  59. 0.2.1 05 Jun 2019
    Release notes

    Added

    • Add license files
    Open source →
    Release notes
    • Add license files
    Open source →
  60. 0.2.0 12 May 2019
    Release notes

    Added

    • Allow to send headers in Camel-Case form.

    Changed

    • Upgrade actix-http dependency.
    Open source →
    Release notes
    • Update awc and actix-http deps
    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