Update Rust crate tiny_http to 0.12 #21902
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.8
->0.12
0.8
->0.12
Release Notes
tiny-http/tiny-http (tiny_http)
v0.12.0
Compare Source
Bumped the minimum compiler version tested by CI to 1.56 - this is necessary due to an increasing number of dependencies
introducing Cargo manifest features only supported on newer versions of Rust.
Add support for UNIX sockets
Thanks to @ColonelThirtyTwo for adding support for binding to UNIX sockets when creating a tiny-http server. This change
makes a few small breaking API modifications, if you are constructing
ServerConfig
manually you will need to use the newListenAddr
type rather than directly supplying a
net::SocketAddr
. LikewiseServer::server_addr()
will now return an enum that canrepresent either a TCP socket or a UNIX socket.
Finally
Request::remote_addr()
now returns anOption<&SocketAddr>
as UNIX sockets don't ever have a remote host.Reduce required dependencies by switching to
httpdate
@esheppa replaced our internal HTTPDate type with the
httpdate
library (used extensively in the community by Hyper, Tokio and others)which reduces our baseline dependency tree from 18 crates to 5!
TestRequest::path
no longer has a'static
bound, allowing for fuzzers to generate test request paths at runtime.Unpinned
zeroize
so it can float around any stable^1
version.v0.11.0
Compare Source
Add support for Rustls
Thanks to @3xmblzj5 and @travispaul for their help in implementing
Rustls
as adrop-in replacement for OpenSSL, you can now build
tiny-http
with TLS support without any external dependencies!OpenSSL will remain the default implementation if you just enable the
ssl
feature, but you are strongly encouragedto use
ssl-rustls
where possible!Fix incorrect certificate chain loading
Fix a longstanding bug where we were only loading the first (i.e. the leaf) certificate from any PEM file supplied by
the user.
v0.10.0
Compare Source
Replace chrono with time-rs
chrono
was only used to store and formatDateTime
into the slightly odd format required by RFC 7231, so toavoid the numerous RUSTSEC advisories generated by the
localtime_r
issue, we can just drop it entirely and switchto
time-rs
.Unfortunately this means we need to bump our minimum tested compiler version to 1.51, and as such this change
requires a full minor release.
v0.9.0
Compare Source
Rust 2018 Refactor
Enable prompt responses, before the request has been fully read
This isn't an API change, but does result in different behaviour to 0.8.2 and so justifies a minor version bump.
HTTP requests now return a boxed
FusedReader
which drops the underlyingreader once it reaches EOF, such that the reader no longer needs to be
explicitly consumed and the server may now respond with e.g. a "413 Payload
too large" without waiting for the whole reader.
Bumped the minimum compiler version tested by CI to 1.48 (the version supported in Debian Bullseye)
Configuration
📅 Schedule: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
Release Notes: