NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1934 most downloaded on PyPI
An implementation of QUIC and HTTP/3
Last release 11 months ago
11 Oct 2025
Ships unpredictably
gaps range from 1 weeks to 1.3 years
Rarely documented
notes for 4 of 46 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
46 releases · first in 2019
- Ensure PATH_CHALLENGE frames are sent before other frame types.
Ensure PATH_CHALLENGE frames are sent before other frame types.
Reclaim memory when HTTP/3 streams end.
Limit the number of remote PATH_CHALLENGE stored per path.
Avoid assertion error when receiving multiple STOP_SENDING frames.
Improve type annotations.
Make it possible to use LibreSSL instead of OpenSSL.
Add support Python 3.13 and 3.14, drop support for Python 3.8 and 3.9.
Build binary wheels for musllinux .
Build binary wheels against OpenSSL 3.5.4.
Add command-line argument to the http3_client example to request a key update during interoperability tests.
- Add support for compatible version handling as defined in RFC 9368 .
Add support for compatible version handling as defined in RFC 9368 .
Add support for QUIC Version 2, as defined in RFC 9369 .
Drop support for draft QUIC versions which were obsoleted by RFC 9000 .
Improve datagram padding to allow better packet coalescing and reduce the number of roundtrips during connection establishement.
Fix server anti-amplification checks during address validation to take into account invalid packets, such as datagram-level padding.
Allow asyncio clients to make efficient use of 0-RTT by passing wait_connected=False to connect() .
Add command-line arguments to the http3_client example for client certificates and negotiating QUIC Version 2.
One column per quarter.
Add support for compatible version handling as defined in 9368.
Add support for QUIC Version 2, as defined in 9369.
Drop support for draft QUIC versions which were obsoleted by 9000.
Improve datagram padding to allow better packet coalescing and reduce the number of roundtrips during connection establishement.
Fix server anti-amplification checks during address validation to take into account invalid packets, such as datagram-level padding.
Allow asyncio clients to make efficient use of 0-RTT by passing wait_connected=False to ~aioquic.asyncio.connect.
Add command-line arguments to the http3_client example for client certificates and negotiating QUIC Version 2.
- Improve path challenge handling and compliance with RFC 9000 .
Improve path challenge handling and compliance with RFC 9000 .
Limit the amount of buffered CRYPTO data to avoid memory exhaustion.
Enable SHA-384 based signature algorithms and SECP384R1 key exchange.
Build binary wheels against OpenSSL 3.3.0.
- Fix utcnow() deprecation warning on Python 3.12 by using cryptography 42.0 and timezone-aware datetime instances when validating TLS certificates.
Ensure no data is sent after a stream reset.
Make H3Connection ’s send_datagram() and send_push_promise() methods raise an InvalidStreamTypeError exception if an invalid stream ID is specified.
Improve the documentation for QuicConnectionProtocol ’s transmit() method.
Fix utcnow() deprecation warning on Python 3.12 by using cryptography 42.0 and timezone-aware datetime instances when validating TLS certificates.
Build binary wheels against OpenSSL 3.2.0.
Ignore any non-ASCII ALPN values received.
Perform more extensive HTTP/3 header validation in H3Connection .
Fix exceptions when draining stream writers in the asyncio API .
Set the QuicConnection idle timer according to RFC 9000 section 10.1.
Implement fairer stream scheduling in QuicConnection to avoid head-of-line blocking.
Only load certifi root certificates if none was specified in the QuicConfiguration .
Improve padding of UDP datagrams containing Initial packets to comply with RFC 9000 section 14.1.
Limit the number of pending connection IDs marked for retirement to prevent a possible DoS attack.
A library for QUIC in Python.
Design
QUIC API
HTTP/3 API
asyncio API
Changelog
1.3.0
1.2.0
1.1.0
1.0.0
License
Documentation overview
Previous: asyncio API
Next: License
©Jeremy Lainé.
| Powered by Sphinx 8.2.3 & Alabaster 1.0.0 | Page source
Ensure no data is sent after a stream reset.
Make ~aioquic.h3.connection.H3Connection's ~aioquic.h3.connection.H3Connection.send_datagram and ~aioquic.h3.connection.H3Connection.send_push_promise methods raise an ~aioquic.h3.exceptions.InvalidStreamTypeError exception if an invalid stream ID is specified.
Improve the documentation for ~aioquic.asyncio.QuicConnectionProtocol's ~aioquic.asyncio.QuicConnectionProtocol.transmit method.
Fix ~datetime.datetime.utcnow deprecation warning on Python 3.12 by using cryptography 42.0 and timezone-aware ~datetime.datetime instances when validating TLS certificates.
Build binary wheels against OpenSSL 3.2.0.
Ignore any non-ASCII ALPN values received.
Perform more extensive HTTP/3 header validation in ~aioquic.h3.connection.H3Connection.
Fix exceptions when draining stream writers in the asyncio API.
Set the ~aioquic.quic.connection.QuicConnection idle timer according to 9000 section 10.1.
Implement fairer stream scheduling in ~aioquic.quic.connection.QuicConnection to avoid head-of-line blocking.
Only load certifi root certificates if none was specified in the ~aioquic.quic.configuration.QuicConfiguration.
Improve padding of UDP datagrams containing Initial packets to comply with 9000 section 14.1.
Limit the number of pending connection IDs marked for retirement to prevent a possible DoS attack.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →