- Upgrades to
rustls-platform-verifier
0.4.
- Allows setting
HeaderName
inappend_header
andwith_header
.
- Upgrades to
rustls-native-certs
0.8.
rustls-aws-lc-platform-verifier
andrustls-ring-platform-verifier
features to use the rustls-platform-verifier crate to validate TLS certificates.
No change compared to the alpha releases.
- Upgrades
rustls
to 0.23 and its dependencies to compatible versions. - Splits the
rustls-native
andrustls-webkpi
features intorustls-ring-native
,rustls-ring-webpki
,rustls-aws-lc-native
andrustls-aws-lc-webpki
to allow choosing which cryptographic library to use.
- Upgrades
rustls
to 0.22 and its dependencies to compatible versions. - Relaxes dependency requirements on
flate2
Server.bind
to set a socket the server should listen to.Server.spawn
to spawn the server in a new set of threads and return a handle to it.
Server.listen
function that is now replaced byServer.bind(address).spawn().join()
.
- Renames
Server.max_num_threads
toServer.with_max_concurrent_connections
- When the
flate2
crate is installed, the HTTP client and server are able to decode bodies withContent-Encoding
set togzip
anddeflate
(no encoding yet). client
andserver
features to enable the HTTP client and server. They are both enabled by default.Server::with_max_num_threads
allows to set an upper bound to the number of threads running at the same time.
- Rayon-based thread pool.
- The
rustls
feature has been split intorustls-native
andrustls-webpki
to either rust the platform certificates or the ones from the Common CA Database. - All the
set_
methods onClient
andServer
have been renamed towith_
and now takes and returns the mutated objects by value (builder pattern). - Upgrades minimum supported Rust version to 1.70.
- Upgrades
webpki-roots
dependency to 0.25.
- Upgrades
rustls
dependency to 0.21.
IntoHeaderName
trait that allows to call methods with plain strings instead of explicitHeaderName
objects.client
andserver
features to enable/disable the HTTP client and/or server (both features are enabled by default).
- Bindings to server localhost now properly binds to both IPv4 and IPv6 at the same time.
- Set minimum supported Rust version to 1.60.
- A body is now always written on POST and PUT request and on response that have not the status 1xx, 204 and 304. This allows clients to not wait for an existing body in case the connection is kept alive.
- The TLS configuration is now initialized once and shared between clients and saved during the complete process lifetime.
Server
: It is now possible to use a Rayon thread pool instead of spawning a new thread on each call.
- Chunk Transfer Encoding serialization was invalid: the last empty chunk was ending with two line jumps instead of one as expected by the specification.
Server
: Thread spawn operation is restarted if it fails.Server
:text/plain; charset=utf8
media type is now returned on errors instead of the simplertext/plain
.
- Rustls usage is now available behind the
rustls
feature (disabled by default).
- Redirections support to the
Client
. By default the client does not follow redirects. TheClient::set_redirection_limit
method allows to set the maximum number of allowed consecutive redirects (0 by default).
Server
: Do not display a TCP error if the client disconnects without having sent theConnection: close
header.
- Fixes a possible DOS attack vector by sending very long headers.
- Basic
Client
andServer
implementations.