As of 19 October 2026, Python 3.11, 3.12 and 3.13 receive security fixes only, and 3.14 and 3.15 receive bug and security fixes. Python 3.10 reached end of life on 1 October 2026, so it gets no further changes, and 3.9 ended on 31 October 2025.
The current table
This comes from the Python Developer's Guide status of versions page, fetched on the review date below. Dates in italics there are scheduled and can change.
| Version | Status | First release | End of life |
|---|---|---|---|
| 3.15 | bugfix | 2026-10-09 | 2031-10 (scheduled) |
| 3.14 | bugfix | 2025-10-07 | 2030-10 (scheduled) |
| 3.13 | security | 2024-10-07 | 2029-10 (scheduled) |
| 3.12 | security | 2023-10-02 | 2028-10 (scheduled) |
| 3.11 | security | 2022-10-24 | 2027-10 (scheduled) |
| 3.10 | end of life | 2021-10-04 | 2026-10-01 |
| 3.9 | end of life | 2020-10-05 | 2025-10-31 |
What each status means
- Bugfix: bug fixes and security fixes are accepted, with new binary releases about every two months.
- Security: only security fixes are accepted, and no more binaries are released. Source only releases may still appear when needed.
- End of life: support ends five years after release. The release is frozen and no further changes are allowed.
Note the practical gap in the security stage: fixes arrive as source, so if you rely on an installer or a base image that ships binaries, check how your vendor delivers them.
What end of life means for you
A frozen release will not get a fix for a newly found flaw in the interpreter or standard library. Your own code may be fine, but the runtime is not repairable. Libraries also drop old versions, so installs start failing or quietly pin to old, unpatched releases of their own.
An upgrade plan
- Find every place a version is set: CI, Dockerfiles, project metadata, deployment config.
- Pick the oldest version still in the security stage that your dependencies support, or move straight to a bugfix version.
- Run your tests on the new version in CI beside the old one.
- Fix deprecations, then switch the default and delete the old job.
Try it yourself
Click through it at your own pace, or open it full screen. See how findings are grouped so an old runtime does not hide in the noise.
Quick check
Is Python 3.10 still safe to run?
It has reached end of life, so no further fixes will be released. Plan to move.
Do security stage versions get new binaries?
No. The guide says only security fixes are accepted and no more binaries are released, though source releases may be.
Safeguard's SBOM and dependency scanning records the packages in a project, and a free scan can show what your manifests pull in.
Sources
Last reviewed: 19 October 2026.