Ultra fast asyncio event loop.
Multiple fixes in the SSL/TLS layer. (by @fantix in 82104fb6 for #263, 7fcbfed1 for #255)
Restore signal.wakeup_fd
after the event loop is closed.
(by @vladima in 48d376d3)
Handle large timeouts in loop.call_later()
.
(by @1st1 in 1a0d6578 for #259)
Fix possible feezing of uvloop on os.fork
.
(by @grungy-ado in fde5d14f)
Better handle Unix sockets for datagram transports. (by @mosquito and @1st1 in dd4cb7ac for #269)
Avoid double connecting to remote_addr
for datagram transports.
(by @1st1 in bed926c5 for #276)
Bump Cython to 0.29.13. (by @1st1 in 65c1a045)
Bump libuv to v1.33.1. (by @1st1 in 34fd827e)
Implement Server.start_serving()
and related APIs.
(by @jlaine in 7a4f00a3)
Make Server
an asynchronous context manager.
(by @jlaine in d6c67e7a for #221)
Start using high-performance uv_udp_t
handle. This
should result in a significantly faster UDP support.
(by @1st1 in c2b65bc8)
Make address validation faster in udp.sendto()
.
(by @1st1 in 46c5e9eb)
OSError
is no longer logged by Transports.
This matches asyncio behaviour in 3.8.
(by @Tobotimus in ef29dab2)Upgrade to libuv v1.31.0
.
(by @1st1 in c2b65bc8 and 1fad621f)
Use manylinux-2010
. This means we no longer provide
32bit builds for Linux.
(by @1st1 in 3174b7d3)
Implement Server.start_serving()
and related APIs.
(by @jlaine in 7a4f00a3)
Make Server
an asynchronous context manager.
(by @jlaine in d6c67e7a for #221)
Start using high-performance uv_udp_t
handle. This
should result in a significantly faster UDP support.
(by @1st1 in c2b65bc8)
Make address validation faster in udp.sendto()
.
(by @1st1 in 46c5e9eb)
Upgrade to libuv v1.28.0
.
This is a minimum requirement now.
(by @1st1 in c2b65bc8)
Use manylinux-2010
. This means we no longer provide
32bit builds for Linux.
(by @1st1 in 3174b7d3)
Fix circular references in SSL implementation to reduce the need for GC. (by @fantix in 3070ec85)
Fix a memory leak in call_later()
and call_at()
.
The leak occurred when a callback argument had a reference to
the event loop.
(by @1st1 in 1a5dbc28 for #239)
Fix compilation warnings. (by @JelleZijlstra in d9a111be)
Round (instead of flooring) delay in call_later()
.
This ensures that the callback is never called slightly before
the specified time.
(by @fantix in 8f037a68 for #233)
Fix a circular references case in SSL implementation. (by @fantix in a2e0dd8e for #220)
Cleanup references to callbacks in canceled callback handles.
This removes potential reference cycles between bound methods
and cancelled Handle
/ TimerHandle
objects.
(by @1st1 in f0a945df)
New SSL implementation. The new implementation is faster and and more complete, and might become the default SSL implementation in asyncio 3.9.
See the linked issue for more details.
(by @fantix in 9cba7493 for #158, #176)
New uvloop.install()
helper function.
Instead of
import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
it is now possible to simply write
import uvloop
uvloop.install()
(by @1st1 in a3d8d401)
All bug fixes from 0.11.0
—0.11.3
are included in
this release.
ssl.CertificateError
is no longer logged as it's delivered to
the Protocol.connection_lost()
anyways.
(by @fantix in 848e4785 for #195, #199)
Don't use non-existent UDPTransport._address
attribute.
(by @jlaine in f24c2c56 for #207)
UDPTransport.sendto()
performance.
(by @jlaine in d5ad2b86 for #214)Upgrade Cython 0.28.x
-> 0.29.0
.
Upgrade libuv v1.22.0
-> v1.23.0
.
New SSL implementation. The new implementation is faster and and more complete, and will become the default SSL implementation in asyncio 3.8. This is a significant change that warrants a release candidate to make sure it is tested properly.
See the linked issue for more details.
(by @fantix in 9cba7493 for #158, #176)
New uvloop.install()
helper function.
Instead of
import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
it is now possible to simply write
import uvloop
uvloop.install()
(by @1st1 in a3d8d401)
All bug fixes from 0.11.0
—0.11.3
are included in
this release.
ssl.CertificateError
is no longer logged as it's delivered to
the Protocol.connection_lost()
anyways.
(by @fantix in 848e4785 for #195, #199)
Upgrade Cython 0.28.x
-> 0.29.0
.
Upgrade libuv v1.22.0
-> v1.23.0
.
Use new PyOS_BeforeFork
and PyOS_AfterFork_*
3.7 APIs when available
(by @1st1 in 75e7c32a)
Fix async generators finalization to function correctly in debug mode (by @1st1 in dcbb1f4f for #200)
Pass backlog
to loop.create_unix_server()
when a server is created via
loop.create_server(sock=unix_sock, backlog=backlog)
.
(by @hikoz in 40ad257b)
Don't raise "requires a DNS lookup" error on Unix Domain Socket (#204) (by @pax0r in 9fc3ca2a for #204)
Fix use of PyContext*
APIs in 3.7.1
(by @1st1 in 74748005)
Note: this is a bugfix release for 0.10.x branch. It's recommended to upgrade to 0.11.x.