Greenlet is a lightweight in-process concurrent programming library that provides micro-threads called greenlets. It is implemented as a C extension for the regular CPython interpreter, and is useful when you need fine-grained control over exactly when code runs, including building advanced control flow structures like generator-like coroutines.
Project status
- The
python-greenlet/greenletGitHub source appears actively maintained, with frequent recentupdates(most notably tags on 2026-05-20, 2026-04-27, 2026-04-08, and 2026-02-20) and a very recent upstream push on 2026-05-20. - Apparent update cadence is fairly regular over the last few months, roughly every few weeks (about 3 to 4 weeks between 3.5.0 and 3.5.1, and about 3 weeks between 3.4.0 and 3.5.0).
AI summary generated 1 week ago
Recent updates
3.5.1
1 week agoRelease 3.5.1 appears to focus on interpreter shutdown behavior for greenlet.getcurrent and on preliminary build/test support for Python 3.15. The provided release notes field contains no text, so documented intent cannot be reliably compared against the diff.
Features3.5.0
1 month agoRelease 3.5.0 changes greenlet shutdown behavior by removing the module-import-time atexit callback and relying only on CPython's Py_IsFinalizing to decide when greenlet APIs are no longer safe. As a result, greenlet.getcurrent and the direct C API PyGreenlet_GetCurrent remain usable longer during shutdown, but C extensions must correctly handle finalization-time NULL/error behavior.
Breaking3.4.0
1 month agoRelease 3.4.0 contains a substantial internal refactor and additional test coverage, but no release notes were provided. The code diff shows new shutdown-state handling, additional pre-switch validation (notably for free-threaded builds), and some behavior changes around deallocation and critical sections.
Breaking3.3.2
3 months agoRelease 3.3.2 was published on 2026-02-20, but no release notes were provided. Without documented changes, developers should review the corresponding code diff, changelog, and tags/commits to identify any breaking or behavioral updates before upgrading.
3.2.5
3 months agoRelease 3.2.5 introduces a fix for crashes occurring when active greenlets exist during interpreter shutdown. The code changes add Python-finalization guards to avoid switching into greenlets during shutdown on Python versions older than 3.11.
3.3.1
4 months agoRelease 3.3.1 primarily focuses on expanding and fixing Windows binary wheel publishing (including Windows ARM where available) and improving compilation compatibility with newer toolchains. It also migrates Windows CI from Appveyor to GitHub Actions and includes a MIPS-specific build fix.
3.3.0
6 months agoRelease 3.3.0 has no publisher-provided release notes in the supplied data. The code diff indicates substantial internal changes focused on supporting free-threaded CPython builds (Py_GIL_DISABLED), including GC-related metadata, thread state handling, and module/thread interaction details.
3.2.4
9 months agoRelease 3.2.4 is a maintenance update focused on less common CPython build configurations, especially free-threaded builds and debug/JIT interactions on Python 3.14. The published CHANGES.rst mentions build/test adjustments and a fix for a 3.14 debug assertion with the experimental JIT, but the code diff shows additional internal behavioral changes related to allocation and deallocation bookkeeping.
3.2.3
12 months agoRelease 3.2.3 primarily updates greenlet’s build support for Python 3.14 beta 2, especially on Windows amd64, and includes a likely fix for NetBSD sparc64 builds. The code changes are mostly build- and compatibility-related, with no public API or type changes apparent in the provided diff.
3.2.2
5/9/2025Release 3.2.2 updates greenlet to build and run against Python 3.14 beta 1. The only user-facing note in the changelog is Python 3.14 beta 1 compatibility, and CI is updated to test that interpreter.
Features3.2.1
4/22/2025Release 3.2.1 was published on 2025-04-22, but no release notes were provided in the information available to analyze. As a result, there is no documented guidance here on new features, fixes, breaking changes, security, or migration steps for this version.