This project uses a rolling release strategy on the main
branch.
A new push (merge) to the main
branch will trigger GitHub Actions to automatically
build and upload a new version to PyPI with a unique version number.
All the bug fixes will be committed directly into the main
branch and published in the latest release.
No effort will be spent on backporting bug fixes to previous versions!
Core Python libraries in this project are released for at least the latest three stable Python versions. This means that for these Python versions, active support will be provided, including new versions of the library, bugfixes and security patches. Older Python versions may not be supported for security and maintainability reasons, both of this project itself, its direct and indirect dependencies and that of Python as a language.
An older Python version may be removed from the automatic release cycle if:
- there are at least three newer stable Python versions (e.g. 3.x); and
- at least three of those newer Python versions have been stable for at least three months; and
- at least six months have passed since support for a previous stable Python version was dropped.
For the actively supported versions as of December 2023, the following release cycle is expected:
Python version | Currently supported | Scheduled/expected end of active support |
---|---|---|
Python 3.8 | ❌ | 10-January-2024 (dropped) |
Python 3.9 | ❌ | 15-July-2024 (dropped) |
Python 3.10 | ✅ | January 2025 (expected) |
Python 3.11 | ✅ | January 2026 (expected) |
Python 3.12 | ✅ | January 2027 (expected) |
Python 3.13 | ✅ | January 2028 (expected) |
Starting with Python 3.10, the expected date of end of active support for a given Python version is three years and three months after it comes out.