Skip to content

Update dependency greenlet to v3.5.5 - #241

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/greenlet-3.x
Open

Update dependency greenlet to v3.5.5#241
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/greenlet-3.x

Conversation

@renovate

@renovate renovate Bot commented Sep 3, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
greenlet (changelog) ==3.2.4==3.5.5 age confidence

Release Notes

python-greenlet/greenlet (greenlet)

v3.5.5

Compare Source

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

  • Link the C++ runtime statically into the Windows wheels again, as the
    Appveyor builds did through 3.3.0. Since 3.3.1 _greenlet.pyd
    imported MSVCP140.dll, which no Windows CPython distribution ships,
    so importing greenlet failed on machines without the Visual C++
    redistributable. See issue 525 <https://github.com/python-greenlet/greenlet/issues/525>_. Issue
    and pull request by Daniel Sticker.

.. note::
Binary 3.15 wheels are now built with 3.15.0rc1. This should be
compatible with future 3.15 releases and is believed compatible
with 3.15b4 as well (but not earlier versions).

v3.5.4

Compare Source

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

  • Fix a crash (segfault) on free-threaded builds of Python 3.14 and
    later when the garbage collector runs while a greenlet that was
    started from a non-empty C-stack-reference state is active.
    See issue 515 <https://github.com/python-greenlet/greenlet/issues/515>_.
    Thanks to ddorian and Kumar Aditya.

  • Fix a potential use-after-free on free-threaded builds of Python 3.14
    and later when the garbage collector runs while a greenlet is
    suspended holding a _PyCStackRef (for example, mid attribute
    resolution). See
    issue 515 <https://github.com/python-greenlet/greenlet/issues/515>_.
    Thanks to ddorian and Kumar Aditya.

  • Fix a deadlock on free-threaded builds when a greenlet switch happened
    while a PyCriticalSection was held -- for example inside asyncio's
    Task.__step, which holds one on the running task for the duration of
    the step. See PR 519 <https://github.com/python-greenlet/greenlet/pull/519/>.
    Thanks to ddorian and Kumar Aditya.

.. note::
Binary 3.15 wheels are now built with Python 3.15b4. These may not
be compatible with earlier or later versions of 3.15. Binary
3.15 wheels of greenlet from previous releases (e.g., 3.5.3)
may not be compatible with Python 3.15b4.

v3.5.3

Compare Source

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

  • Fix a crash on free-threaded builds when multiple greenlets were
    holding a critical section on an object and the GIL for the thread
    was dropped. See issue 513 <https://github.com/python-greenlet/greenlet/issues/513>_. Thanks
    to ddorian.

v3.5.2

Compare Source

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

  • The minimum supported version of Python 3.15 is now 3.15b2.
  • Fix some garbage-collection related crashes on free-threaded Python
    3.15. Thanks to Kumar Aditya in PR #&#8203;511 <https://github.com/python-greenlet/greenlet/pull/511>_.
  • Improve garbage collection of greenlets. This mostly applies to
    Python 3.15. Thanks to Kumar Aditya in PR #&#8203;512 <https://github.com/python-greenlet/greenlet/pull/512>_.

v3.5.1

Compare Source

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

  • Add preliminary support for Python 3.15b1. This has not been
    reviewed by CPython core developers, but all tests pass. Binary
    wheels of this version won't work on earlier Python 3.15 builds and
    may not work on later 3.15 builds.
  • Fix the discrepancy in the way the two getcurrent APIs behave
    during greenlet teardown. One API (the C API used by, e.g., gevent) raised a
    RuntimeError; the other (the Python greenlet.getcurrent API)
    returned None. This second way is incompatible with greenlet's type
    annotations, so greenlet.getcurrent now raises a
    RuntimeError as well.

v3.5.0

Compare Source

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

  • Remove the atexit callback. This callback caused greenlet APIs
    to become unavailable far too soon during interpreter shutdown. Now
    they remain available while all atexit callbacks run. Sometime
    after Py_IsFinalizing becomes true, they may begin misbehaving.
    Because the order in which C extensions are finalized is undefined,
    C extensions that are sensitive to this need to check the results of
    that function before invoking greenlet APIs. As a convenience,
    PyGreenlet_GetCurrent sets an exception and returns NULL
    when this happens (and greenlet.getcurrent begins returning
    None); other greenlet C API functions have undefined behaviour.
    Methods invoked directly on pre-existing greenlet.greenlet
    objects will continue to function at least until the greenlet C
    extension has been garbage collected and finalized.

    See PR 508 <https://github.com/python-greenlet/greenlet/pull/508>_.

v3.4.0

Compare Source

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

  • Publish binary wheels for RiscV 64.

  • Fix multiple rare crash paths during interpreter shutdown.

    Note that this now relies on the atexit module, and introduces
    subtle API changes during interpreter shutdown (for example,
    getcurrent is no longer available once the atexit callback fires).

    See PR #&#8203;499 <https://github.com/python-greenlet/greenlet/pull/499>_ by Nicolas
    Bouvrette.

  • Address the results of an automated code audit performed by
    Daniel Diniz. This includes several minor correctness changes that
    theoretically could have been crashing bugs, but typically only in
    very rare circumstances.

    See PR 502 <https://github.com/python-greenlet/greenlet/pull/502>_.

  • Fix several race conditions that could arise in free-threaded
    builds when using greenlet objects from multiple threads, some of
    which could lead to assertion failures or interpreter crashes.

    See issue 503 <https://github.com/python-greenlet/greenlet/issues/503>_, with
    thanks to Nitay Dariel and Daniel Diniz.

v3.3.2

Compare Source

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

  • Fix a crash on Python 3.10 if there are active greenlets during
    interpreter shutdown. See PR 495 <https://github.com/python-greenlet/greenlet/pull/495>_ by Nicolas
    Bouvrette.

v3.3.1

Compare Source

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

  • Publish Windows ARM binary wheels, where available.
  • Fix compilation for 3.14t on Windows.
  • Publish Windows 3.14t binary wheels for Intel.
  • Switch from Appveyor for Windows to Github Actions.
  • Fix compilation on MIPS with GCC 15 and binutils 2.45. See PR 487 by Rosen Penev <https://github.com/python-greenlet/greenlet/pull/487>_. Note that
    this is not a platform tested by this project's CI.
  • Move most project metadata into the static pyproject.toml file.
    This updates licensing information to use the modern
    License-Expression field. See PR 480 by mrbean-bremen <https://github.com/python-greenlet/greenlet/pull/480/>_.

v3.3.0

Compare Source

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

  • Drop support for Python 3.9.

  • Switch to distributing manylinux_2_28 wheels instead of
    manylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.

  • Add initial support for free-threaded builds of CPython 3.14. Due to
    limitations, we do not distribute binary wheels for free-threaded
    CPython on Windows. (Free-threaded CPython 3.13 may work, but is
    untested and unsupported.)

    .. caution::

    Under some rare scenarios with free-threaded 3.14, the
    interpreter may crash on accessing a variable or attribute or
    when shutting down. If this happens, try disabling the
    thread-local bytecode cache. See the greenlet documentation for
    more details. See PR 472 by T. Wouters <https://github.com/python-greenlet/greenlet/pull/472>_ for the
    initial free-threaded support and a discussion of the current
    known issues.

v3.2.5

Compare Source

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

.. note::

The 3.2.x series will be the last to support Python 3.9.

  • Backport the changes from PR 495 in release 3.3.2 for Python 3.9.

.. note::

No Windows wheels will be published for this version.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants