Python End of Life (EOL) Dates & Support Timeline
Complete end-of-life dates, support windows, and security status for all Python versions. Data sourced from endoflife.date and official vendor documentation. Updated at every deploy.
Running an EOL version? Get matched with support options — free ↓| Version | Latest Release | Release Date | EOL Date | Days | Status |
|---|---|---|---|---|---|
| 2.6 | 2.6.9 | Oct 1, 2008 | Oct 29, 2013 | 4667 days past EOL | EOL |
| 3.0 | 3.0.1 | Dec 3, 2008 | Jun 27, 2009 | 6252 days past EOL | EOL |
| 3.1 | 3.1.5 | Jun 27, 2009 | Apr 9, 2012 | 5235 days past EOL | EOL |
| 2.7 | 2.7.18 | Jul 3, 2010 | Jan 1, 2020 | 2412 days past EOL | EOL |
| 3.2 | 3.2.6 | Feb 20, 2011 | Feb 20, 2016 | 3823 days past EOL | EOL |
| 3.3 | 3.3.7 | Sep 29, 2012 | Sep 29, 2017 | 3236 days past EOL | EOL |
| 3.4 | 3.4.10 | Mar 16, 2014 | Mar 18, 2019 | 2701 days past EOL | EOL |
| 3.5 | 3.5.10 | Sep 13, 2015 | Sep 30, 2020 | 2139 days past EOL | EOL |
| 3.6 | 3.6.15 | Dec 23, 2016 | Dec 23, 2021 | 1690 days past EOL | EOL |
| 3.7 | 3.7.17 | Jun 27, 2018 | Jun 27, 2023 | 1139 days past EOL | EOL |
| 3.8 | 3.8.20 | Oct 14, 2019 | Oct 7, 2024 | 671 days past EOL | EOL |
| 3.9 | 3.9.25 | Oct 5, 2020 | Oct 31, 2025 | 282 days past EOL | EOL |
| 3.10 | 3.10.20 | Oct 4, 2021 | Oct 31, 2026 | 83 days remaining | Warning |
| 3.11 | 3.11.15 | Oct 24, 2022 | Oct 31, 2027 | 448 days remaining | Active |
| 3.12 | 3.12.13 | Oct 2, 2023 | Oct 31, 2028 | 814 days remaining | Active |
| 3.13 | 3.13.15 | Oct 7, 2024 | Oct 31, 2029 | 1179 days remaining | Active |
| 3.14 | 3.14.7 | Oct 7, 2025 | Oct 31, 2030 | 1544 days remaining | Active |
[](https://endoflife.ai/python)
What does Python end of life mean for your organization?
When a version of Python reaches end of life, the maintainers stop issuing security patches. Vulnerabilities discovered after this date are publicly disclosed on the National Vulnerability Database, exploit code appears on GitHub, and your systems remain permanently exposed.
The CVE blind spot: Most vulnerability scanners check for known CVEs but do not flag the accumulation of unpatched vulnerabilities in EOL software. With a zero-day, nobody knows about the vulnerability. With EOL software, the vulnerability is public — listed, rated, and often weaponized — but no patch will ever exist. This is the most dangerous gap in enterprise security posture.
Organizations running EOL Python should treat it as a vulnerability class in their risk register, apply compensating controls (network segmentation, enhanced monitoring, access restriction), and prioritize migration to a supported version.
Your options when Python reaches end of life
There are four realistic paths. Which one is right depends far more on how long the system needs to keep running than on the version you are on today.
| Option | Best when | Watch out for |
|---|---|---|
| Move to a supported version | The system will outlive the current version's support window and you can schedule the work | Budget for compatibility testing, not just the upgrade itself — that is where the real cost sits |
| Replace the component | The project is unmaintained, or a better-supported alternative exists | The replacement has its own lifecycle and its own end-of-life date — you are changing vendors, not escaping the problem |
| Buy extended support | Migration is genuinely underway but cannot finish before the deadline, or the workload is frozen by certification or a third-party application | A bridge, not a destination — every year purchased is a year the migration still has to happen |
| Document accepted risk | The system is isolated, short-lived, or scheduled for retirement | Only defensible with real compensating controls and a written decision — auditors treat undocumented end-of-life software as a finding |
How to choose, in one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support purchased repeatedly costs more than doing the project once, and the project only gets harder as the version ages. Indefinitely, migrate now and plan the next migration before it surprises you.
Worth saying plainly, because vendors selling extended support rarely will: extended support is often the more expensive choice over a multi-year horizon. It is the right answer when a deadline is genuinely unreachable, not as a default. Compare the annual fee against the one-time cost of migrating before committing to either.
Extended Support Options
If you cannot migrate immediately, extended support vendors provide continued security patches for EOL Python versions. This is a bridge, not a permanent solution — plan your migration in parallel.
Python has 12 versions past end of life — security patches have stopped, but CVE disclosures haven't. The good news: extended support for Python exists — vetted vendors ship security patches for years past the official date. Tell us where to reach you and we'll reply with matched options and pricing guidance.