Greenlet

Latest version: v3.1.1

Safety actively analyzes 701836 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 9

1.1.2

==================

- Fix a potential crash due to a reference counting error when Python
subclasses of ``greenlet.greenlet`` were deallocated. The crash
became more common on Python 3.10; on earlier versions, silent
memory corruption could result. See `issue 245
<https://github.com/python-greenlet/greenlet/issues/245>`_. Patch by
fygao-wish.
- Fix a leak of a list object when the last reference to a greenlet
was deleted from some other thread than the one to which it
belonged. For this to work correctly, you must call a greenlet API
like ``getcurrent()`` before the thread owning the greenlet exits:
this is a long-standing limitation that can also lead to the leak of
a thread's main greenlet if not called; we hope to lift this
limitation. Note that in some cases this may also fix leaks of
greenlet objects themselves. See `issue 251
<https://github.com/python-greenlet/greenlet/issues/251>`_.
- Python 3.10: Tracing or profiling into a spawned greenlet didn't
work as expected. See `issue 256
<https://github.com/python-greenlet/greenlet/issues/256>`_, reported
by Joe Rickerby.

1.1.1

==================

- Provide Windows binary wheels for Python 3.10 (64-bit only).

- Update Python 3.10 wheels to be built against 3.10rc1, where
applicable.

1.1.0

==================

- Add support for Python 3.10. Pre-built binary wheels for 3.10 are
not currently available for all platforms. The greenlet ABI is
different on Python 3.10 from all previous versions, but as 3.10 was
never supported before, and the ABI has not changed on other Python
versions, this is not considered a reason to change greenlet's major
version.

1.0.0

==================

- Fix %s and %r formatting of a greenlet on Python 2. Previously it
would result in a Unicode string instead of a native string. See
`issue 218
<https://github.com/python-greenlet/greenlet/issues/218>`_.

- Move continuous integration from Travis CI to Github Actions.

1.0a1

==================

- Add the ability to set a greenlet's PEP 567 contextvars context
directly, by assigning to the greenlet's ``gr_context`` attribute.
This restores support for some patterns of using greenlets atop an
async environment that became more challenging in 0.4.17. Thanks to
Joshua Oreman, Mike bayer, and Fantix King, among others. See `PR
198 <https://github.com/python-greenlet/greenlet/pull/198/>`_.

- The repr of greenlet objects now includes extra information about
its state. This is purely informative and the details are subject to
change. See `issue 215 <https://github.com/python-greenlet/greenlet/issues/215>`_.

- The ``greenlet`` module is now a package. There are no API changes,
so all existing imports, including from C code, should continue to
work.

- (C API) The undocumented ``GREENLET_VERSION`` macro that defined a string
giving the greenlet version is now deprecated and will not be updated.

- (Documentation) Publish the change log to https://greenlet.readthedocs.io

Supported Platforms
-------------------

- Drop support for Python 2.4, 2.5, 2.6, 3.0, 3.1, 3.2 and 3.4.
The project metadata now includes the ``python_requires`` data to
help installation tools understand supported versions.
- Add partial support for AIX ppc64 and IBM i. Thanks to Jesse
Gorzinski and Kevin Adler. See `PR 197
<https://github.com/python-greenlet/greenlet/pull/197>`_.

Packaging Changes
-----------------

- Require setuptools to build from source.
- Stop asking setuptools to build both .tar.gz and .zip
sdists. PyPI has standardized on .tar.gz for all platforms.
- Stop using a custom distutils command to build
extensions. distutils is deprecated.
- Remove the ability to use the deprecated command
``python setup.py test``. Run greenlet tests with your favorite
unittest-compatible test runner, e.g., ``python -m unittest discover
greenlet.tests``. See `issue 185 <https://github.com/python-greenlet/greenlet/issues/185>`_.
- The directory layout and resulting sdists have changed.
See `issue 184
<https://github.com/python-greenlet/greenlet/issues/184>`_.
- greenlet is now always built with support for tracing and garbage
collection, and, on Python 3.7 and above, support for context
variables. The internal and undocumented C preprocessor macros that
could be used to alter that at compile time have been removed (no
combination other than the defaults was ever tested). This helps
define a stable ABI.

0.4.17

===================
- Support for PEP 567 ContextVars

Page 5 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.