Detailed information on what has changed is available in the Changelog. This document summarizes the most important changes since gevent 1.4.
gevent 1.5 is a maintenance and feature release including bug fixes and a number of API improvements.
Future releases of gevent will use a scheme similar to CalVer. See Release Process for information on future deprecations and feature removals.
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.
Caution
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
from source.
Caution
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.
The legacy Makefile
has been removed in favor of built-in setup.py
commands.
Certain environment variables used at build time have been deprecated and renamed.
Generated .c
and .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 network
resource using 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.
Next page: What’s new in gevent 1.4