Uvloop Versions Save

Ultra fast asyncio event loop.

v0.14.0rc1

4 years ago

New Features

  • Add support for Python 3.8. (by @1st1 in 5f48dab8, 51636f7b)

Bug Fixes

  • 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)

Build

  • Bump Cython to 0.29.13. (by @1st1 in 65c1a045)

  • Bump libuv to v1.33.1. (by @1st1 in 34fd827e)

v0.13.0

4 years ago

New Features

  • Implement Server.start_serving() and related APIs. (by @jlaine in 7a4f00a3)

  • Make Server an asynchronous context manager. (by @jlaine in d6c67e7a for #221)

Performance

  • 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)

Misc

  • OSError is no longer logged by Transports. This matches asyncio behaviour in 3.8. (by @Tobotimus in ef29dab2)

Build

  • 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)

v0.13.0rc1

5 years ago

New Features

  • Implement Server.start_serving() and related APIs. (by @jlaine in 7a4f00a3)

  • Make Server an asynchronous context manager. (by @jlaine in d6c67e7a for #221)

Performance

  • 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)

Build

  • 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)

v0.12.2

5 years ago

Bug Fixes

  • 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)

v0.12.1

5 years ago

Bug Fixes

  • 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)

v0.12.0

5 years ago

New Features

  • 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)

Bug Fixes

  • All bug fixes from 0.11.00.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)

Performance

  • Improve UDPTransport.sendto() performance. (by @jlaine in d5ad2b86 for #214)

Build

  • Upgrade Cython 0.28.x -> 0.29.0.

  • Upgrade libuv v1.22.0 -> v1.23.0.

v0.12.0rc1

5 years ago

New Features

  • 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)

Bug Fixes

  • All bug fixes from 0.11.00.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)

Build

  • Upgrade Cython 0.28.x -> 0.29.0.

  • Upgrade libuv v1.22.0 -> v1.23.0.

v0.11.3

5 years ago

Bug Fixes

  • 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)

Build

  • Bump Cython to 0.28.5 (by @1st1 in 1bbd6a82)

v0.11.2

5 years ago

Bug Fixes

  • Fix a memory leak related to contextvars support. (by @hellysmile and @1st1 in 2ddb4807 for #192)

v0.10.3

5 years ago

Note: this is a bugfix release for 0.10.x branch. It's recommended to upgrade to 0.11.x.

Bug Fixes