mirror of
https://github.com/actix/actix-web.git
synced 2024-11-10 19:01:05 +00:00
2e63ff5928
* Fix type confusion in some scenarios When the feature for rustls 0.22 is enabled, and rustls 0.23 is also present in a project, there suddently exist multiple paths for errors when building middleware chains due to the use of two consecutive `?` operators without specifying the intermediate error type. This commit addresses the issue by removing the first `?`, so that the first error type will always be known, and the second `?` always has a well defined implementation. * Add CHANGES entry about type confusion * actix-http: add rustls 0.23 support * actix-http: update ws example, tests for rustls 0.23 * actix-http: add rustls 0.23 to changelog * Update comments to mention 0.23 instead of 0.22 * awc: add rustls 0.23 support This also fixes certificate lookup when native-roots is enabled for rustls 0.22. * awc: update changelog for rustls 0.23 * awc: Add base rustls-0_23 feature without roots to better enable custom config * actix-test: add rustls-0.23 * actix-test: add rustls 0.23 to changelog * awc: update changelog with rustls 0.23 tweaks * actix-web: add rustls 0.23 * Add rustls-0_23 to CI * Update tls_rustls.rs * review nits * review nits part 2 * fix doc test --------- Co-authored-by: Rob Ede <robjtede@icloud.com>
15 KiB
15 KiB
Changes
Unreleased
- Add
rustls-0_23
,rustls-0_23-webpki-roots
, andrustls-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 to6
. - Minimum supported Rust version (MSRV) is now 1.72.
3.4.0
- Add
rustls-0_22-webpki-roots
andrustls-0_22-native-roots
crate feature. - Add
awc::Connector::rustls_0_22()
method.
3.3.0
- Update
trust-dns-resolver
dependency to0.23
. - Updated
zstd
dependency to0.13
.
3.2.0
- Add
awc::Connector::rustls_021()
method for Rustls v0.21 support behind newrustls-0_21
crate feature. - Add
rustls-0_20
crate feature, which the existingrustls
feature now aliases. - Minimum supported Rust version (MSRV) is now 1.68 due to transitive
time
dependency.
3.1.1
Changed
client::Connect
is now public to allow tunneling connection withclient::Connector
.
3.1.0
Changed
- Minimum supported Rust version (MSRV) is now 1.59 due to transitive
time
dependency.
3.0.1
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
3.0.0
Dependencies
- Updated
actix-*
to Tokio v1-based versions. #1813 - Updated
bytes
to1.0
. #1813 - Updated
cookie
to0.16
. #2555 - Updated
rand
to0.8
. - Updated
rustls
to0.20
. #2414 - Updated
tokio
to1
.
Added
trust-dns
crate feature to enabletrust-dns-resolver
as client DNS resolver; disabled by default. #1969cookies
crate feature; enabled by default. [#2619]compress-brotli
crate feature; enabled by default. #2250compress-gzip
crate feature; enabled by default. #2250compress-zstd
crate feature; enabled by default. #2250client::Connector::handshake_timeout()
for customizing TLS connection handshake timeout. #2081client::ConnectorService
asclient::Connector::finish
method's return type #2081client::ConnectionIo
trait alias #2081Client::headers()
to get default mut reference ofHeaderMap
of 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::Connector
type now only has one generic type foractix_service::Service
. #2063client::error::ConnectError
Resolver variant containsBox<dyn std::error::Error>
type. #1905client::ConnectorConfig
default timeout changed to 5 seconds. #1905ConnectorService
type is renamed toBoxConnectorService
. #2081- Fix http/https encoding when enabling
compress
feature. #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
Connector
to 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_body
now takes animpl MessageBody
. #2546- Rename
MessageBody => ResponseBody
to avoid conflicts withMessageBody
trait. #2546 - Minimum supported Rust version (MSRV) is now 1.54.
Fixed
- Send headers along with redirected requests. #2310
- Improve
Client
instantiation efficiency when usingopenssl
by only building connectors once. #2503 - Remove unnecessary
Unpin
bounds on*::send_stream
. #2553 impl Future
forResponseBody
no longer requires the body type beUnpin
. #2546impl Future
forJsonBody
no longer requires the body type beUnpin
. #2546impl Stream
forClientResponse
no longer requires the body type beUnpin
. #2546
Removed
compress
crate 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::default
function #2008
Security
cookie
upgrade addressesRUSTSEC-2020-0071
.
3.0.0 Pre-Releases
3.0.0-beta.21
- No significant changes since
3.0.0-beta.20
.
3.0.0-beta.20
- No significant changes since
3.0.0-beta.19
.
3.0.0-beta.19
- No significant changes since
3.0.0-beta.18
.
3.0.0-beta.18
- Minimum supported Rust version (MSRV) is now 1.54.
3.0.0-beta.17
Changed
- Update
cookie
dependency (re-exported) to0.16
. #2555
Security
cookie
upgrade addressesRUSTSEC-2020-0071
.
3.0.0-beta.16
*::send_json
and*::send_form
methods now receiveimpl Serialize
. #2553FrozenClientRequest::extra_header
now uses receives animpl TryIntoHeaderPair
. #2553- Remove unnecessary
Unpin
bounds on*::send_stream
. #2553
3.0.0-beta.15
- Rename
Connector::{ssl => openssl}
. #2503 - Improve
Client
instantiation efficiency when usingopenssl
by only building connectors once. #2503 ClientRequest::send_body
now takes animpl MessageBody
. #2546- Rename
MessageBody => ResponseBody
to avoid conflicts withMessageBody
trait. #2546 impl Future
forResponseBody
no longer requires the body type beUnpin
. #2546impl Future
forJsonBody
no longer requires the body type beUnpin
. #2546impl Stream
forClientResponse
no longer requires the body type beUnpin
. #2546
3.0.0-beta.14
- Add
ClientBuilder::add_default_header
and deprecateClientBuilder::header
. #2510
3.0.0-beta.13
- No significant changes since
3.0.0-beta.12
.
3.0.0-beta.12
- Update
actix-tls
to3.0.0-rc.1
. #2474
3.0.0-beta.11
- No significant changes from
3.0.0-beta.10
.
3.0.0-beta.10
- No significant changes from
3.0.0-beta.9
.
3.0.0-beta.9
- Updated rustls to v0.20. #2414
3.0.0-beta.8
Changed
- Send headers within the redirect requests. #2310
3.0.0-beta.7
Changed
- Change compression algorithm features flags. #2250
3.0.0-beta.6
- No significant changes since 3.0.0-beta.5.
3.0.0-beta.5
Removed
- Deprecated methods on
ClientRequest
:if_true
,if_some
. #2148
3.0.0-beta.4
Added
- Add
Client::headers
to get default mut reference ofHeaderMap
of client object. #2114
Changed
ConnectorService
type is renamed toBoxConnectorService
. #2081- Fix http/https encoding when enabling
compress
feature. #2116 - Rename
TestResponse::header
toappend_header
,set
toinsert_header
.TestResponse
header methods now takeTryIntoHeaderPair
tuples. #2094
3.0.0-beta.3
Added
ClientResponse::timeout
for set the timeout of collecting response body. #1931ClientBuilder::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 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::default
function #2008
3.0.0-beta.2
Added
ClientRequest::insert_header
method which allows using typed headers. #1869ClientRequest::append_header
method which allows using typed headers. #1869trust-dns
optional feature to enabletrust-dns-resolver
as client dns resolver. #1969
Changed
- Relax default timeout for
Connector
to 5 seconds(original 1 second). #1905
Removed
ClientRequest::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
3.0.0-beta.1
Changed
2.0.3
Fixed
- Ensure
actix-http
dependency uses sameserde_urlencoded
.
2.0.2
Changed
- Upgrade
serde_urlencoded
to0.7
. #1773
2.0.1
Changed
Fixed
- Use
Accept-Encoding: identity
instead ofAccept-Encoding: br
when no compression feature is enabled #1737
2.0.0
Changed
Client::build
was renamed toClient::builder
.
2.0.0-beta.4
Changed
- Update actix-codec & actix-tls dependencies.
2.0.0-beta.3
Changed
- Update
rustls
to 0.18
2.0.0-beta.2
Changed
- Update
actix-http
dependency to 2.0.0-beta.2
2.0.0-beta.1
Changed
- Update
actix-http
dependency to 2.0.0-beta.1
2.0.0-alpha.2
Changed
- Implement
std::error::Error
for our custom errors #1422 - Bump minimum supported Rust version to 1.40
- Update
base64
dependency to 0.12
2.0.0-alpha.1
- 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
1.0.1
- Fix compilation with default features off
1.0.0
- Release
1.0.0-alpha.3
- Migrate to
std::future
0.2.8
- Add support for setting query from Serialize type for client request.
0.2.7
Added
- Remaining getter methods for
ClientRequest
's privatehead
field #1101
0.2.6
Added
- Export frozen request related types.
0.2.5
Added
- Add
FrozenClientRequest
to support retries for sending HTTP requests
Changed
- Ensure that the
Host
header is set when initiating a WebSocket client connection.
0.2.4
Changed
-
Update percent-encoding to "2.1"
-
Update serde_urlencoded to "0.6.1"
0.2.3
Added
- Add
rustls
support
0.2.2
Changed
-
Always append a colon after username in basic auth
-
Upgrade
rand
dependency version to 0.7
0.2.1
Added
- Add license files
0.2.0
Added
- Allow to send headers in
Camel-Case
form.
Changed
- Upgrade actix-http dependency.
0.1.1
Added
- Allow to specify server address for http and ws requests.
Changed
ClientRequest::if_true()
andClientRequest::if_some()
use instance instead of ref
0.1.0
- No changes
0.1.0-alpha.6
Changed
- Do not set default headers for websocket request
0.1.0-alpha.5
Changed
- Do not set any default headers
Added
- Add Debug impl for BoxedSocket
0.1.0-alpha.4
Changed
- Update actix-http dependency
0.1.0-alpha.3
Added
-
Export
MessageBody
type -
ClientResponse::json()
- Loads and parseapplication/json
encoded body
Changed
-
ClientRequest::json()
accepts reference instead of object. -
ClientResponse::body()
does not consume response object. -
Renamed
ClientRequest::close_connection()
toClientRequest::force_close()
0.1.0-alpha.2
Added
-
Per request and session wide request timeout.
-
Session wide headers.
-
Session wide basic and bearer auth.
-
Re-export
actix_http::client::Connector
.
Changed
-
Allow to override request's uri
-
Export
ws
sub-module with websockets related types
0.1.0-alpha.1
- Initial impl