NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3153 most downloaded on PyPI
An implementation of Interactive Connectivity Establishment (RFC 5245)
Last release 10 months ago
28 Nov 2025
Release timing varies
gaps range from 8 days to 2.0 years
Rarely documented
notes for 12 of 49 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
49 releases · first in 2018
Fix local ice-ufrag/ice-pwd validation.
Fix local ice-ufrag/ice-pwd validation.
Remove a print() statement which was accidentally added in 0.10.0.
Remove a print() statement which was accidentally added in 0.10.0.
Enforce full type annotations on all the code.
Enforce full type annotations on all the code.
Allow creating a connection with ufrag and pwd.
Fix an IndexError when decoding an invalid XOR-MAPPED-ADDRESS.
Connect to TURN server in parallel to STUN checks and catch errors.
One column per quarter.
Switch from netifaces to ifaddr.
Switch from netifaces to ifaddr.
Do not start candidate pair check if already started.
Allow gathering only relay (STUN/TURN) candidates.
Allow gathering only relay (STUN/TURN) candidates.
Use padding when sending over data over TCP.
Add support for Python 3.11.
Ensure dnspython version is at least 2.0.0.
Ensure dnspython version is at least 2.0.0.
Avoid 400 error when using TURN with concurrent sends.
Avoid error if a connection is lost before the local candidate is set.
Emit an event when the ICE connection is closed.
Emit an event when the ICE connection is closed.
Perform mDNS resolution using an A query, as Firefox does not respond to ANY queries.
to ANY queries.
Use full module name to name loggers.
Defer mDNS lock initialisation to avoid mismatched event-loops, fixes errors seen with uvloop.
fixes errors seen with uvloop.
Correctly gather STUN candidates when there are multiple components.
Add support for resolving mDNS candidates.
Add support for resolving mDNS candidates.
Use the LIFETIME attribute returned by the server to determine the time-to-expiry for the allocation.
Use the LIFETIME attribute returned by the server to determine the time-to-expiry for the allocation.
Raise stun.TransactionFailed if TURN allocation request is rejected with an error.
Handle 438 (Stale Nonce) error responses.
Ignore STUN transaction errors when deleting TURN allocation.
Periodically refresh channel bindings.
Make Connection.add_remote_candidate a coroutine.
Make Connection.add_remote_candidate a coroutine.
Remove the Connection.remote_candidates setter.
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 →