chore(deps): update dependency greenlet to v3.5.2 #151

Merged
realaravinth merged 1 commit from renovate/greenlet-3.x into master 2026-06-22 15:51:47 +05:30
Member

This PR contains the following updates:

Package Change Age Confidence
greenlet (changelog) ==3.1.1 -> ==3.5.2 age confidence

Release Notes

python-greenlet/greenlet (greenlet)

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.

v3.2.4

Compare Source

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

.. note::

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

  • Various small build/test changes for less common configurations (e.g.,
    building CPython with assertions enabled but NOT debugging),
    contributed by Michał Górny. Note that while greenlet will BUILD in
    a free-threaded Python, it will cause the GIL to be allocated and
    used, and memory may leak. Also note that these configurations
    are not tested by this project's CI.
  • Fix an assertion error on debug builds of Python 3.14 when using the
    experimental JIT. See issue 460 <https://github.com/python-greenlet/greenlet/issues/460>_.

v3.2.3

Compare Source

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

  • Make greenlet build and run on Python 3.14 beta 2 on Windows amd64.
  • Potentially fix build on NetBSD/sparc64. See PR 447 <https://github.com/python-greenlet/greenlet/pull/447>_.

v3.2.2

Compare Source

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

  • Make greenlet build and run on Python 3.14 beta 1. It will not run
    on earlier versions of 3.14; it should run on subsequent versions.
    See PR 445 <https://github.com/python-greenlet/greenlet/pull/445>_.

v3.2.1

Compare Source

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

  • Fix a crash regression for Riscv64. See issue 443 <https://github.com/python-greenlet/greenlet/issues/443>_.

v3.2.0

Compare Source

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

  • Remove support for Python 3.7 and 3.8.
  • Add untested, community supported implementation for RiscV 32. See
    PR 438 <https://github.com/python-greenlet/greenlet/pull/439>_.
  • Make greenlet build and run on Python 3.14a7. It will not build on
    earlier 3.14 alpha releases, and may not build on later 3.14
    releases.
  • Packaging: Use :pep:639 license expressions and include license files.

Configuration

📅 Schedule: 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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [greenlet](https://github.com/python-greenlet/greenlet) ([changelog](https://greenlet.readthedocs.io/en/latest/changes.html)) | `==3.1.1` -> `==3.5.2` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/greenlet/3.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/greenlet/3.1.1/3.5.2?slim=true) | --- ### Release Notes <details> <summary>python-greenlet/greenlet (greenlet)</summary> ### [`v3.5.2`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#352-2026-06-17) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.5.1...3.5.2) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#351-2026-05-20) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.5.0...3.5.1) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#350-2026-04-27) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.4.0...3.5.0) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#340-2026-04-08) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.3.2...3.4.0) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#332-2026-02-20) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.3.1...3.3.2) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#331-2026-01-23) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.1) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#330-2025-12-04) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.5...3.3.0) \================== - 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`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#325-2026-02-20) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.4...3.2.5) \================== .. 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. ### [`v3.2.4`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#324-2025-08-07) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.3...3.2.4) \================== .. note:: The 3.2.x series will be the last to support Python 3.9. - Various small build/test changes for less common configurations (e.g., building CPython with assertions enabled but NOT debugging), contributed by Michał Górny. Note that while greenlet will BUILD in a free-threaded Python, it will cause the GIL to be allocated and used, and memory may leak. Also note that these configurations are not tested by this project's CI. - Fix an assertion error on debug builds of Python 3.14 when using the experimental JIT. See `issue 460 <https://github.com/python-greenlet/greenlet/issues/460>`\_. ### [`v3.2.3`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#323-2025-06-05) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.2...3.2.3) \================== - Make greenlet build and run on Python 3.14 beta 2 on Windows amd64. - Potentially fix build on NetBSD/sparc64. See `PR 447 <https://github.com/python-greenlet/greenlet/pull/447>`\_. ### [`v3.2.2`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#322-2025-05-09) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.1...3.2.2) \================== - Make greenlet build and run on Python 3.14 beta 1. It will not run on earlier versions of 3.14; it should run on subsequent versions. See `PR 445 <https://github.com/python-greenlet/greenlet/pull/445>`\_. ### [`v3.2.1`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#321-2025-04-22) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.2.0...3.2.1) \================== - Fix a crash regression for Riscv64. See `issue 443 <https://github.com/python-greenlet/greenlet/issues/443>`\_. ### [`v3.2.0`](https://github.com/python-greenlet/greenlet/blob/HEAD/CHANGES.rst#320-2025-04-15) [Compare Source](https://github.com/python-greenlet/greenlet/compare/3.1.1...3.2.0) \================== - Remove support for Python 3.7 and 3.8. - Add untested, community supported implementation for RiscV 32. See `PR 438 <https://github.com/python-greenlet/greenlet/pull/439>`\_. - Make greenlet build and run on Python 3.14a7. It will not build on earlier 3.14 alpha releases, and may not build on later 3.14 releases. - Packaging: Use :pep:`639` license expressions and include license files. </details> --- ### Configuration 📅 **Schedule**: 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41Mi44IiwidXBkYXRlZEluVmVyIjoiNDIuNTIuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZS1ib3QiXX0=-->
chore(deps): update dependency greenlet to v3.5.2
All checks were successful
ci/woodpecker/pull_request_metadata/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
b6346f0c11
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mCaptcha/dcache!151
No description provided.