Skip to content

Releases: davidbrochart/anycorn

0.20.1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 08:04
  • Drain in-flight requests until graceful_timeout on 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 real os.sendfile over 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.sendfile is not portable over a UNIX socket). Path send now routes through the same path, so it too is os.sendfile on TCP HTTP/1.1.
  • Add a use_ktls config flag that binds TLS to the accepted socket and asks OpenSSL to enable kernel TLS, so os.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

Choose a tag to compare

@github-actions github-actions released this 28 Jul 13:23
  • 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_paths flag 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

Choose a tag to compare

@github-actions github-actions released this 26 Jul 08:49
  • 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

Choose a tag to compare

@github-actions github-actions released this 24 Jul 07:19
  • Keep the QUIC/HTTP-3 server alive when a Windows peer's ICMP port unreachable surfaces as a ConnectionResetError on receive.
  • Add h3spec HTTP/3 compliance testing to CI.

0.19.1

Choose a tag to compare

@github-actions github-actions released this 23 Jul 13:41
  • Fix issues reported on hypercorn that apply to anycorn.

0.19.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 21:27
  • Port behavioral fixes and CLI features from hypercorn v0.18.0 that anycorn was missing.

0.18.7

Choose a tag to compare

@github-actions github-actions released this 21 Jul 13:19
  • Close leaked sockets, streams and logger resources.

0.18.6

Choose a tag to compare

@github-actions github-actions released this 17 Mar 09:19
  • Make WebSocket permessage-deflate compression optional.

0.18.5

Choose a tag to compare

@github-actions github-actions released this 17 Mar 08:50
  • Add license file.

0.18.4

Choose a tag to compare

@github-actions github-actions released this 16 Mar 16:19
  • Use X.Y.Z tag scheme (no v prefix).