Python Version EOL Schedule (2026)
Python’s version support policy follows a predictable cadence: one full-release (feature-complete) version every 12 months, each getting approximately 18 months of full (feature+bugfix) support followed by 3.5 years of security-only fixes. The Python Steering Council releases two major versions per calendar year (October and April), though in practice the April releases are typically release-candidate refinements and the October releases are the annual feature releases. Knowing which Python versions are still receiving security patches is critical for keeping your projects safe — running an unsupported version means new CVEs will never be patched by the CPython core team.
Python Version Support Table
| Version | Release Date | Active Support End | EOL / Security End |
|---|---|---|---|
| 3.9 | Oct 2020 | Oct 2023 | Oct 2025 |
| 3.10 | Oct 2021 | Oct 2024 | Oct 2026 |
| 3.11 | Oct 2022 | Oct 2025 | Oct 2027 |
| 3.12 | Oct 2023 | Oct 2026 | Oct 2028 |
| 3.13 | Oct 2024 | Oct 2027 | Oct 2029 |
| 3.14 | Oct 2025 | Oct 2028 | Oct 2030 |
Python Support Policy
The Python release cycle is managed by the Python Steering Council and the Python core developers under PEP 602 (annual release cadence) and PEP 537 (calendar-based versioning).
- Full support phase: ~18 months from release — receives feature updates, bug fixes, and security patches.
- Security-only phase: ~3.5 years after full support ends — only critical security fixes are backported.
- Total lifespan: approximately 5 years per major version.
Python releases two versions per year, typically in October and April. The October release is the main annual feature release; the April release is a bugfix-only version that bridges the gap. Only the latest two releases receive full support at any given time — older versions immediately enter the security-only phase.
Third-party redistributors (e.g., Anaconda, ActiveState, conda-forge) may extend support beyond the CPython EOL, but those are commercial or community extensions, not official.
How to Check Your Python Version
python --version
# or
python3 --versionTo check programmatically:
import sys
print(sys.version)
print(sys.version_info)
# sys.version_info(major=3, minor=12, micro=0, releaselevel='final', serial=0)Upgrade Path
| Current Version | Recommended Target | Reason |
|---|---|---|
| 3.9 (EOL Oct 2025) | 3.12+ | 3.9 is fully unsupported; 3.12 has active support through Oct 2026 |
| 3.10 | 3.13+ | 3.10 enters security-only Oct 2024; move to 3.13 for active support |
| 3.11 (security-only) | 3.13 or 3.14 | 3.11 security support ends Oct 2027; 3.14 is current feature release |
| 3.12 | 3.14 | Current active version; upgrade within security timeline |
| 3.13 | 3.14 | Latest — stay current for newest features and longest support window |
FAQ
Related Schedules
- Node.js Release Schedule
- Java / JDK LTS Schedule
- PHP Version Support Timeline
- Ruby Version End-of-Life Schedule
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro