What’s new in gevent 1.5#
gevent 1.5 is a maintenance and feature release including bug fixes and a number of API improvements.
gevent 1.5 drops support for Python 3.4, and drops support for PyPy < 7. It also adds official support for Python 3.8.
gevent is tested with CPython 2.7.17, 3.5.9, 3.6.10, 3.7.7, 3.8.2, PyPy 2 7.3.0 and PyPy3 7.3.0.
Older releases, such as RHEL 5, are no longer supported.
gevent now distributes manylinux2010 binary wheels for Linux,
instead of the older
manylinux1 standard. This updated platform
tag allows gevent to distribute libuv support by default. CentOS 6 is
the baseline for this tag.
gevent bundles a
pyproject.toml now. This is useful for building
The requirements for building from source may have changed, especially in minimal container environments (e.g., Alpine Linux). See Installing From Source for more information.
Makefile has been removed in favor of built-in setup.py
Certain environment variables used at build time have been deprecated and renamed.
.h files are no longer included in the
distribution. Neither are Cython
.pxd files. This is because
linking to internal C optimizations is not supported and likely to
crash if used against a different version of gevent than exactly what
it was compiled for. See issue #1568 for more details.
The bundled version of libuv has been updated from 1.24 to 1.34, libev has been updated from 4.23 to 4.31, and c-ares has been updated from 1.14 to 1.15.
Version 1.16 or newer of dnspython is required to use the dnspython resolver.
gevent’s test suite has adopted the standard library’s notion of “test
resources,” allowing users to disable
certain tests based on their resource usage. This is primarily
intended to support downstream packagers. For example, to disable
tests that require Internet access, one could disable the
python -m gevent.tests -u-network or
GEVENTTEST_USE_RESOURCES=-network python -m gevent.tests. See
Limiting Resource Usage for more information.
The file objects have been reworked to support more modes and behave
more like the builtin
open() or func:
io.open functions and
io classes. Previously they essentially only worked with binary
streams. Certain default values have been changed as well.
The deprecated magic proxy object
gevent.signal has been removed.