Releases: tiny-http/tiny-http
0.12.0
-
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 constructingServerConfig
manually you will need to use the newListenAddr
type rather than directly supplying anet::SocketAddr
. LikewiseServer::server_addr()
will now return an enum that can represent 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 thehttpdate
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.
New Contributors
- @ColonelThirtyTwo made their first contribution in #224
- @nhynes made their first contribution in #226
- @ruuda made their first contribution in #225
- @esheppa made their first contribution in #228
Full Changelog: 0.11.0...0.12.0
0.11.0
-
Thanks to @3xmblzj5 and @travispaul for their help in implementing
Rustls
as a drop-in replacement for OpenSSL, you can now buildtiny-http
with TLS support without any external dependencies! OpenSSL will remain the default implementation if you just enable thessl
feature, but you are strongly encouraged to usessl-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.
0.10.0
-
chrono
was only used to store and formatDateTime
into the slightly odd format required by RFC 7231, so to avoid the numerous RUSTSEC advisories generated by thelocaltime_r
issue, we can just drop it entirely and switch totime-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.
0.9.0
-
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 underlying reader 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)