Skip to content
Estontinc

Published 3 min read

Python 3.15 release and Python 3.10 end of life: what changes for your backend

A new Python version arrives in the same month an old one stops getting security fixes. What is new in 3.15 and how to move off 3.10 safely.

A glass ribbon coiled into a spiral, illustrating the Python 3.15 release

October 2026 is a big month for Python. According to the official release schedule, Python 3.15 final is scheduled for 1 October 2026. In the same month, Python 3.10 reaches end of life and stops receiving security fixes. If your backend, API or AI services run on Python, this is a good moment to check which version you use.

Below we summarize what is new in Python 3.15, based on the release team’s announcement for the final release candidate, and how to plan an upgrade away from 3.10.

Python versions and end of life dates

Table of Python versions and end of life dates: 3.15 final release on 1 October 2026, 3.10 end of life in October 2026, up to 3.15 supported until 2031

The Python Developer’s Guide lists 3.10 in the security-fixes-only phase with an end of life of 2026-10. PEP 619 explains that 3.10 was expected to receive security updates until about five years after its release, which is October 2026. Python 3.11 follows in 2027-10, and 3.12 in 2028-10. Scheduled dates can still be adjusted, so check the official page for the latest status.

When is Python 3.15 released?

PEP 790 schedules 3.15.0 final for Thursday, 1 October 2026, followed by bugfix releases every two months. The final planned release candidate, 3.15.0rc2, came out on 1 September 2026 with around 144 bugfixes, build improvements and documentation changes from 76 contributors. There are no ABI changes from the release candidate onward, and third-party projects were encouraged to publish Python 3.15 wheels on PyPI.

What is new in Python 3.15

Python 3.15 JIT compiler speedup: 8 to 9 percent on x86-64 Linux and 12 to 13 percent on AArch64 macOS, geometric mean
  • A faster JIT compiler. The release team reports an 8 to 9% geometric mean improvement on x86-64 Linux over the standard interpreter, and 12 to 13% on AArch64 macOS over the tail-calling interpreter.
  • Explicit lazy imports (PEP 810) for faster startup times.
  • UTF-8 as the default encoding (PEP 686).
  • A dedicated profiling package (PEP 799) with Tachyon, a high-frequency statistical sampling profiler.
  • New built-in types: frozendict (PEP 814) and sentinel (PEP 661).
  • Frame pointers enabled by default (PEP 831) for better system-level observability.
  • Typing improvements, including TypedDict with typed extra items (PEP 728) and TypeForm (PEP 747).
  • Platform changes: the official Windows 64-bit binaries use the tail-calling interpreter, and the macOS binaries install free-threading support by default.

Performance numbers are averages from the Python release team. Results in your own application can differ, so measure with your real workload.

How to upgrade from Python 3.10

Four steps to upgrade from Python 3.10: inventory services, check dependencies, upgrade in stages, monitor after release
  1. Take inventory. List every service, script, container image and scheduled job that still runs on 3.10.
  2. Check dependencies. Make sure your libraries support the target version. Many teams move to a well-established version first, such as 3.13 or 3.14, and adopt 3.15 once their libraries publish wheels.
  3. Upgrade in stages. Update development and staging first, run your tests, then roll out to production service by service.
  4. Monitor after release. Watch error rates and performance. Behavior changes, such as UTF-8 as the default encoding in 3.15, can show up in file handling.

What it means for your business

Running software on a version without security fixes is a quiet risk: nothing breaks on the day support ends, but new vulnerabilities will not be patched. For systems that handle customer data, payments or AI workloads, that risk grows every month. An upgrade plan now is far cheaper than an emergency upgrade later.

Python also powers many AI features. If you are adding AI to your product, read how new models change cost and speed in our article on Claude Sonnet 5.5.

How Estontinc can help

We audit Python backends, APIs and AI services, upgrade them step by step with testing, and keep them maintained afterward with bug fixes, updates, monitoring and backups. See our custom software, AI development and cloud & DevOps services.

Still running Python 3.10? Tell us about your system and we will reply within 24 hours with an upgrade plan.

Frequently asked questions

When is Python 3.15 released?

According to PEP 790, Python 3.15.0 final is scheduled for Thursday, 1 October 2026, with bugfix releases every two months after that. The final release candidate, 3.15.0rc2, was published on 1 September 2026.

When does Python 3.10 reach end of life?

The Python Developer’s Guide lists the end of life for Python 3.10 as October 2026. After that, 3.10 no longer receives security fixes, so applications should move to a supported version.

What are the main new features in Python 3.15?

Highlights include a faster JIT compiler, explicit lazy imports (PEP 810), UTF-8 as the default encoding (PEP 686), a new profiling package with the Tachyon sampling profiler (PEP 799), new frozendict and sentinel built-ins, and typing improvements.

Should I upgrade directly from Python 3.10 to 3.15?

It depends on your dependencies. Upgrading to a version your libraries already support is usually safest, and many teams choose 3.13 or 3.14 first, then adopt 3.15 once wheels are available. Always test in staging before production.

Sources

Facts and figures in this article come from these official sources.

  • Python
  • Backend
  • AI development
  • Maintenance
View all articles

Have an idea? Let’s turn it into software.

Tell us what you want to build. We’ll reply with a clear plan, timeline and estimate, free and with no obligation.

  • Free consultation
  • Reply within 24 hours
  • NDA on request