Supported versions

VersionStatusReleasedBugfixes untilEnd of lifeLatest release
Python 3.15Bugfix releases9 October 2026October 2028October 20313.15.0
Python 3.14Bugfix releases7 October 2025October 2027October 20303.14.8
Python 3.13Security fixes only7 October 2024October 2026October 20293.13.16
Python 3.12Security fixes only2 October 2023April 2025October 20283.12.15
Python 3.11Security fixes only24 October 2022April 2024October 20273.11.17

What the statuses mean

  • Bugfix releases: still getting regular bugfix releases as well as security fixes.
  • Security fixes only: no more regular bugfix releases, but serious security problems are still patched.
  • End of life: no further releases of any kind, including for security vulnerabilities. Running it means accepting any new vulnerability stays open.

Which version should you use?

For a new project, the newest version that your dependencies support is usually the right call: it has the longest runway before you have to upgrade. If you're already on a version in the security-only phase, you have time, but it's worth scheduling the move before it ends. Libraries often drop old Python versions before those versions reach end of life, so your dependencies may force the upgrade first.

Planning a move to the newest release? See what's changing inPython 3.15.

End-of-life versions

VersionReleasedEnd of lifeFinal release
Python 3.104 October 2021October 20263.10.22
Python 3.95 October 2020October 20253.9.25
Python 3.814 October 2019October 20243.8.20
Python 3.727 June 2018June 20233.7.17
Python 3.623 December 2016December 20213.6.15
Python 3.513 September 2015September 20203.5.10
Python 3.416 March 2014March 20193.4.10
Python 3.329 September 2012September 20173.3.7
Python 3.220 February 2011February 20163.2.6
Python 3.127 June 2009April 20123.1.5
Python 3.03 December 2008June 20093.0.1

Dates come from endoflife.date, checked against the schedule in thePython Developer's Guide. The authoritative dates for each release are set in its PEP.