gevent v22.08.0 Release Notes

Release Date: 2022-10-08 // 4 months ago
  • ๐Ÿ”‹ Features

    • ๐Ÿ Windows: Test and provide binary wheels for PyPy3.7.

    Note that there may be issues with subprocesses, signals, and it may be slow. See :issue:1798.

    • โฌ†๏ธ Upgrade embedded c-ares to 1.18.1. See :issue:1847.
    • โฌ†๏ธ Upgrade bundled libuv to 1.42.0 from 1.40.0. See :issue:1851.
    • โž• Added preliminary support for Python 3.11 (rc2 and later).

    Some platforms may or may not have binary wheels at this time.

    .. important:: Support for legacy versions of Python, including 2.7 and 3.6, will be ending soon. The maintenance burden has become too great and the maintainer's time is too limited.

                 Ideally, there will be a release of gevent compatible
                 with a final release of greenlet 2.0 that still
                 supports those legacy versions, but that may not be
                 possible; this may be the final release to support them.
    

    :class:gevent.threadpool.ThreadPool can now optionally expire idle threads. This is used by default in the implicit thread pool used for DNS requests and other user-submitted tasks; other uses of a thread-pool need to opt-in to this. See :issue:1867.

    ๐Ÿ›  Bugfixes

    • Truly disable the effects of compiling with -ffast-math. See :issue:1864.


Previous changes from v21.12.0

  • ๐Ÿ”‹ Features

    • โšก๏ธ Update autoconf files for Apple Silicon Macs. Note that while there are reports of compiling gevent on Apple Silicon Macs now, this is not a tested configuration. There may be some remaining issues with CFFI on some systems as well. See :issue:1721.
    • ๐Ÿง Build and upload CPython 3.10 binary manylinux wheels.

    Unfortunately, this required us to stop building and uploading CPython 2.7 binary manylinux wheels. Binary wheels for 2.7 continue to be available for Windows and macOS. See :issue:1822.

    • Test and distribute musllinux_1_1 wheels. See :issue:1837.
    • โšก๏ธ Update the tested versions of PyPy2 and PyPy3. For PyPy2, there should be no user visible changes, but for PyPy3, support has moved from Python 3.6 to Python 3.7. See :issue:1843.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ Try to avoid linking to two different Python runtime DLLs on Windows. See :issue:1814.
    • ๐Ÿง Stop compiling manylinux wheels with -ffast-math. This was implicit in -Ofast, but could alter the global state of the process. Analysis and fix thanks to Ilya Konstantinov. See :issue:1820.
    • ๐Ÿ›  Fix hanging the interpreter on shutdown if gevent monkey patching occurred on a non-main thread in Python 3.9.8 and above. (Note that this is not a recommended practice.) See :issue:1839.