Releases: davidbrochart/anycorn
Releases · davidbrochart/anycorn
Release list
0.20.1
- Drain in-flight requests until
graceful_timeouton shutdown. - Implement the Path Send extension (
http.response.pathsend), streaming a file the app names by path as the response body on any HTTP version. - Implement the Zero Copy Send extension (
http.response.zerocopysend) with a realos.sendfileover a TCP HTTP/1.1 socket. It is advertised only where it can really be zero copy - HTTP/2, HTTP/3, userspace TLS and UNIX-domain-socket connections are not offered it rather than silently reading and sending (os.sendfileis not portable over a UNIX socket). Path send now routes through the same path, so it too isos.sendfileon TCP HTTP/1.1. - Add a
use_ktlsconfig flag that binds TLS to the accepted socket and asks OpenSSL to enable kernel TLS, soos.sendfile(zerocopysend and pathsend) still works over a TLS HTTP/1.1 connection. It takes effect only on Linux with an OpenSSL that supports kTLS; elsewhere TLS is still served in userspace and the socket path falls back to reading and encrypting through the stream.
0.20.0
- Hold websocket data that arrives before the app accepts.
- h3 reset tests.
- Integration tests.
- Decode a request target that is not ascii.
- Add a
strict_pathsflag for dispatcher mount matching. - Pass on a mounted app's lifespan failure rather than completing for it.
- Do not read a websocket response that never started.
- Copy the scope shallowly in
ProxyFixMiddleware. - Refuse a redirect target the client wrote.
- Resume a paused HTTP/2 writer on what has drained, not what was taken.
- Discard an HTTP/2 stream's send state when the peer resets it.
- Decode the WSGI QUERY_STRING as latin1.
- Give a port-less server a port in the WSGI environ.
- Do not close an HTTP stream that has not started a response.
- Initialise
HTTPStream.app_put. - Turn an unmatched websocket away as a websocket.
0.19.3
- Send CONNECTION_CLOSE to every QUIC peer when the server stops, as nginx does, so an HTTP/3 client learns the connection has gone rather than waiting out its idle timeout.
- Mark the worker terminated as shutdown begins rather than once its servers have unwound, so that a QUIC Initial arriving during shutdown is refused instead of being taken on by a worker that is going away.
0.19.2
- Keep the QUIC/HTTP-3 server alive when a Windows peer's ICMP port unreachable surfaces as a
ConnectionResetErroron receive. - Add h3spec HTTP/3 compliance testing to CI.
0.19.1
- Fix issues reported on hypercorn that apply to anycorn.
0.19.0
- Port behavioral fixes and CLI features from hypercorn v0.18.0 that anycorn was missing.
0.18.7
- Close leaked sockets, streams and logger resources.
0.18.6
- Make WebSocket
permessage-deflatecompression optional.