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 2026Releases
latest 60 of 68-
3.8.218 Feb 2026Release notes
Open source →- Minimum supported Rust version (MSRV) is now 1.88.
- Fix empty streaming request bodies being sent with chunked transfer encoding.
-
3.8.105 Oct 2025Release notes
Open source →- Fix a bug where
GO_AWAYerrors did not stop connections from returning to the pool.
- Fix a bug where
-
3.8.009 Sep 2025Release notes
Open source →- Add
hickory-dnscrate feature (off-by-default). - The
trust-dnscrate feature now delegates DNS resolution tohickory-dns.
- Add
-
3.7.010 May 2025 -
3.6.010 Mar 2025Release notes
Open source →- Prevent panics on connection pool drop when Tokio runtime is shutdown early.
- Do not send
Hostheader on HTTP/2 requests, as it is not required, and some web servers may reject it. - Update
brotlidependency to7. - Minimum supported Rust version (MSRV) is now 1.75.
-
3.5.110 Aug 2024 -
3.5.019 May 2024Release notes
Open source →- Add
rustls-0_23,rustls-0_23-webpki-roots, andrustls-0_23-native-rootscrate features. - Add
awc::Connector::rustls_0_23()constructor. - Fix
rustls-0_22-native-rootsroot store lookup. - Update
brotlidependency to6. - Minimum supported Rust version (MSRV) is now 1.72.
- Add
-
3.4.004 Feb 2024Release notes
Open source →- Add
rustls-0_22-webpki-rootsandrustls-0_22-native-rootscrate feature. - Add
awc::Connector::rustls_0_22()method.
- Add
-
3.3.024 Dec 2023Release notes
Open source →- Update
trust-dns-resolverdependency to0.23. - Updated
zstddependency to0.13.
- Update
-
3.2.029 Aug 2023Release notes
Open source →- Add
awc::Connector::rustls_021()method for Rustls v0.21 support behind newrustls-0_21crate feature. - Add
rustls-0_20crate feature, which the existingrustlsfeature now aliases. - Minimum supported Rust version (MSRV) is now 1.68 due to transitive
timedependency.
Release notes
Open source →- Minimum supported Rust version (MSRV) is now 1.68 due to transitive
timedependency.
- Add
-
3.1.126 Feb 2023Release notes
Open source →Changed
client::Connectis now public to allow tunneling connection withclient::Connector.
-
3.1.021 Jan 2023Release notes
Open source →Changed
- Minimum supported Rust version (MSRV) is now 1.59 due to transitive
timedependency.
- Minimum supported Rust version (MSRV) is now 1.59 due to transitive
-
3.0.125 Aug 2022Release notes
Open source →Changed
- Minimum supported Rust version (MSRV) is now 1.57 due to transitive
timedependency.
Fixed
- Fixed handling of redirection requests that begin with
//. #2840
- Minimum supported Rust version (MSRV) is now 1.57 due to transitive
-
3.0.008 Mar 2022Release notes
Open source →Dependencies
- Updated
actix-*to Tokio v1-based versions. #1813 - Updated
bytesto1.0. #1813 - Updated
cookieto0.16. #2555 - Updated
randto0.8. - Updated
rustlsto0.20. #2414 - Updated
tokioto1.
Added
trust-dnscrate feature to enabletrust-dns-resolveras client DNS resolver; disabled by default. #1969cookiescrate feature; enabled by default. [#2619]compress-brotlicrate feature; enabled by default. #2250compress-gzipcrate feature; enabled by default. #2250compress-zstdcrate feature; enabled by default. #2250client::Connector::handshake_timeout()for customizing TLS connection handshake timeout. #2081client::ConnectorServiceasclient::Connector::finishmethod's return type #2081client::ConnectionIotrait alias #2081Client::headers()to get default mut reference ofHeaderMapof client object. #2114ClientResponse::timeout()for set the timeout of collecting response body. #1931ClientBuilder::local_address()for binding to a local IP address for this client. #2024ClientRequest::insert_header()method which allows using typed and untyped headers. #1869ClientRequest::append_header()method which allows using typed and untyped headers. #1869ClientBuilder::add_default_header()(and deprecateClientBuilder::header()). #2510
Changed
client::Connectortype now only has one generic type foractix_service::Service. #2063client::error::ConnectErrorResolver variant containsBox<dyn std::error::Error>type. #1905client::ConnectorConfigdefault timeout changed to 5 seconds. #1905ConnectorServicetype is renamed toBoxConnectorService. #2081- Fix http/https encoding when enabling
compressfeature. #2116 - Rename
TestResponse::{header => append_header, set => insert_header}. These methods now take aTryIntoHeaderPair. #2094 ClientBuilder::connector()method now takesConnector<T, U>type. #2008- Basic auth now accepts blank passwords as an empty string instead of an
Option. #2050 - Relax default timeout for
Connectorto 5 seconds (up from 1 second). #1905 *::send_json()and*::send_form()methods now receiveimpl Serialize. #2553FrozenClientRequest::extra_header()now uses receives animpl TryIntoHeaderPair. #2553- Rename
Connector::{ssl => openssl}(). #2503 ClientRequest::send_bodynow takes animpl MessageBody. #2546- Rename
MessageBody => ResponseBodyto avoid conflicts withMessageBodytrait. #2546 - Minimum supported Rust version (MSRV) is now 1.54.
Fixed
- Send headers along with redirected requests. #2310
- Improve
Clientinstantiation efficiency when usingopensslby only building connectors once. #2503 - Remove unnecessary
Unpinbounds on*::send_stream. #2553 impl FutureforResponseBodyno longer requires the body type beUnpin. #2546impl FutureforJsonBodyno longer requires the body type beUnpin. #2546impl StreamforClientResponseno longer requires the body type beUnpin. #2546
Removed
compresscrate feature. #2250ClientRequest::set; useClientRequest::insert_header. #1869ClientRequest::set_header; useClientRequest::insert_header. #1869ClientRequest::set_header_if_none; useClientRequest::insert_header_if_none. #1869ClientRequest::header; useClientRequest::append_header. #1869- Deprecated methods on
ClientRequest:if_true,if_some. #2148 ClientBuilder::defaultfunction #2008
Security
cookieupgrade addressesRUSTSEC-2020-0071.
<details> <summary>3.0.0 Pre-Releases</summary>
Release notes
Open source →TestServer::stopis now async and will wait for the server and system to shutdown. #2442- Added
TestServer::client_headersmethod. #2097 - Update
actix-serverdependency to2. - Update
actix-tlsdependency to3. - Update
bytesto1.0. #1813 - Minimum supported Rust version (MSRV) is now 1.57.
<details> <summary>3.0.0 Pre-Releases</summary>
- Updated
-
3.0.0-beta.2116 Feb 2022 pre-release -
3.0.0-beta.2001 Feb 2022 pre-release -
3.0.0-beta.1921 Jan 2022 pre-release -
3.0.0-beta.1804 Jan 2022 pre-release -
3.0.0-beta.1729 Dec 2021 pre-releaseRelease notes
Open source →Changed
- Update
cookiedependency (re-exported) to0.16. #2555
Security
cookieupgrade addressesRUSTSEC-2020-0071.
- Update
-
3.0.0-beta.1629 Dec 2021 pre-release -
3.0.0-beta.1527 Dec 2021 pre-releaseRelease notes
Open source →- Rename
Connector::{ssl => openssl}. #2503 - Improve
Clientinstantiation efficiency when usingopensslby only building connectors once. #2503 ClientRequest::send_bodynow takes animpl MessageBody. #2546- Rename
MessageBody => ResponseBodyto avoid conflicts withMessageBodytrait. #2546 impl FutureforResponseBodyno longer requires the body type beUnpin. #2546impl FutureforJsonBodyno longer requires the body type beUnpin. #2546impl StreamforClientResponseno longer requires the body type beUnpin. #2546
- Rename
-
3.0.0-beta.1417 Dec 2021 pre-releaseRelease notes
Open source →- Add
ClientBuilder::add_default_headerand deprecateClientBuilder::header. #2510
- Add
-
3.0.0-beta.1311 Dec 2021 pre-release -
3.0.0-beta.1230 Nov 2021 pre-release -
3.0.0-beta.1122 Nov 2021 pre-release -
3.0.0-beta.1015 Nov 2021 pre-release -
3.0.0-beta.920 Oct 2021 pre-release -
3.0.0-beta.809 Sep 2021 pre-release -
3.0.0-beta.726 Jun 2021 pre-release -
3.0.0-beta.619 Jun 2021 pre-release -
3.0.0-beta.517 Apr 2021 pre-release -
3.0.0-beta.402 Apr 2021 pre-releaseRelease notes
Open source → -
3.0.0-beta.308 Mar 2021 pre-releaseRelease notes
Open source →Added
ClientResponse::timeoutfor set the timeout of collecting response body. #1931ClientBuilder::local_addressfor bind to a local ip address for this client. #2024
Changed
- Feature
cookiesis now optional and enabled by default. #1981 ClientBuilder::connectormethod would takeactix_http::client::Connector<T, U>type. #2008- Basic auth password now takes blank passwords as an empty string instead of Option. #2050
Removed
ClientBuilder::defaultfunction #2008
-
3.0.0-beta.210 Feb 2021 pre-releaseRelease notes
Open source →Added
ClientRequest::insert_headermethod which allows using typed headers. #1869ClientRequest::append_headermethod which allows using typed headers. #1869trust-dnsoptional feature to enabletrust-dns-resolveras client dns resolver. #1969
Changed
- Relax default timeout for
Connectorto 5 seconds(original 1 second). #1905
Removed
-
3.0.0-beta.107 Jan 2021 pre-releaseRelease notes
Open source → -
2.0.329 Nov 2020 -
2.0.225 Nov 2020 -
2.0.130 Oct 2020Release notes
Open source →Changed
Fixed
- Use
Accept-Encoding: identityinstead ofAccept-Encoding: brwhen no compression feature is enabled #1737
- Use
-
2.0.011 Sep 2020 -
2.0.0-beta.409 Sep 2020 pre-release -
2.0.0-beta.317 Aug 2020 pre-release -
2.0.0-beta.222 Jul 2020 pre-release -
2.0.0-beta.114 Jul 2020 pre-release -
2.0.0-alpha.221 May 2020 pre-releaseRelease notes
Open source →Changed
- Implement
std::error::Errorfor our custom errors #1422 - Bump minimum supported Rust version to 1.40
- Update
base64dependency to 0.12
- Implement
-
2.0.0-alpha.111 Mar 2020 pre-releaseRelease notes
Open source →- Update
actix-httpdependency to 2.0.0-alpha.2 - Update
rustlsdependency 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
Release notes
Open source →- Update the
timedependency to 0.2.7 - Update
actix-connectdependency to 2.0.0-alpha.2 - Make
test_serverasyncfn. - Bump minimum supported Rust version to 1.40
- Replace deprecated
net2crate withsocket2 - Update
base64dependency to 0.12 - Update
env_loggerdependency to 0.7
- Update
-
1.0.115 Dec 2019 -
1.0.013 Dec 2019 -
1.0.0-alpha.408 Dec 2019 pre-releaseNothing published for this version
-
1.0.0-alpha.307 Dec 2019 pre-release -
0.3.0-alpha.202 Dec 2019 pre-releaseNothing published for this version
-
0.3.0-alpha.122 Nov 2019 pre-releaseNothing published for this version
-
0.2.806 Nov 2019 -
0.2.725 Sep 2019Release notes
Open source →Added
- Remaining getter methods for
ClientRequest's privateheadfield #1101
- Remaining getter methods for
-
0.2.612 Sep 2019 -
0.2.511 Sep 2019Release notes
Open source →Added
- Add
FrozenClientRequestto support retries for sending HTTP requests
Changed
- Ensure that the
Hostheader is set when initiating a WebSocket client connection.
Release notes
Open source →- Update serde_urlencoded to "0.6.1"
- Increase TestServerRuntime timeouts from 500ms to 3000ms
- Do not override current
System
- Add
-
0.2.413 Aug 2019Release notes
Open source →Changed
-
Update percent-encoding to "2.1"
-
Update serde_urlencoded to "0.6.1"
-
-
0.2.301 Aug 2019 -
0.2.201 Jul 2019Release notes
Open source →Changed
-
Always append a colon after username in basic auth
-
Upgrade
randdependency version to 0.7
-
-
0.2.105 Jun 2019 -
0.2.012 May 2019Release notes
Open source →Added
- Allow to send headers in
Camel-Caseform.
Changed
- Upgrade actix-http dependency.
- Allow to send headers in