Skip to content

Commit 7870ecb

Browse files
committed
Python 3.15.0 (final) is here!
1 parent ba20853 commit 7870ecb

2 files changed

Lines changed: 108 additions & 0 deletions

File tree

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: Python 3.15.0 (final) is here!
3+
publishDate: '2026-10-09'
4+
author: Hugo van Kemenade
5+
description: 'A brand new Python here for you to enjoy!'
6+
tags:
7+
- releases
8+
published: true
9+
---
10+
11+
![Python 3.15 logo: a purple heart with "3.15" in blue and yellow, flanked by a blue and a yellow snake, with lightning bolts, pink clouds and laurel branches, framed by the release's headline features](python-3.15.png)
12+
13+
## Python 3.15.0 is now available
14+
[python.org/downloads/release/python-3150/](https://www.python.org/downloads/release/python-3150/)
15+
16+
## This is the stable release of Python 3.15.0
17+
18+
Python 3.15.0 is the newest major release of the Python programming language,
19+
and it contains many new features and optimisations compared to Python 3.14,
20+
in 5,643 commits from 1,012 contributors.
21+
22+
## Major new features of the 3.15 series, compared to 3.14
23+
24+
Some of the major new features and changes in Python 3.15 are:
25+
26+
### Interpreter improvements
27+
28+
* [PEP 661](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-sentinel): Add `sentinel` built-in type
29+
* [PEP 686](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-utf8-default): Python now uses UTF-8 as the default encoding
30+
* [PEP 798](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-unpacking-in-comprehensions): Unpacking in comprehensions
31+
* [PEP 810](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-lazy-imports): Explicit lazy imports for faster startup times
32+
* [PEP 814](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-frozendict): Add `frozendict` built-in type
33+
* [PEP 829](https://peps.python.org/pep-0829/): Package startup configuration files
34+
* The [experimental JIT compiler](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-jit) has been significantly upgraded, with 7-8% geometric mean performance improvement on x86-64 Linux over the standard interpreter, and 11-12% speedup on AArch64 macOS over the tail-calling interpreter
35+
* [Improved error messages](https://docs.python.org/3/whatsnew/3.15.html#improved-error-messages)
36+
37+
### Significant improvements in the standard library
38+
39+
* [PEP 799](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-profiling-package): A dedicated profiling package for organizing Python profiling tools
40+
* [PEP 799](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-sampling-profiler): Tachyon: High frequency statistical sampling profiler
41+
* [More color](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-more-color)
42+
43+
### New typing features
44+
45+
* [PEP 728](https://peps.python.org/pep-0728/): `TypedDict` with typed extra items
46+
* [PEP 747](https://docs.python.org/3/whatsnew/3.15.html#typing): Annotating type forms with `TypeForm`
47+
* [PEP 800](https://peps.python.org/pep-0800/): Disjoint bases in the type system
48+
49+
### C API improvements
50+
51+
* [PEP 782](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-pybyteswriter): A new `PyBytesWriter` C API to create a Python bytes object
52+
* [PEP 788](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-c-api-interpreter-finalization): Protection against finalization in the C API
53+
* [PEP 803, 820, 793](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-abi3t): Stable ABI for free-threaded builds and related C API
54+
55+
### Build changes
56+
57+
* [PEP 831](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-frame-pointers): Frame pointers are enabled by default for improved system-level observability
58+
59+
### Release changes
60+
61+
* The official Windows 64-bit binaries now [use the tail-calling interpreter](https://docs.python.org/3/whatsnew/3.15.html#whatsnew315-windows-tail-calling-interpreter)
62+
* The official macOS binaries now install free-threading support by default
63+
64+
For more details on the changes to Python 3.15, see [What’s new in Python 3.15](https://docs.python.org/3/whatsnew/3.15.html).
65+
66+
67+
## More resources
68+
69+
* [Online documentation](https://docs.python.org/3/)
70+
* [PEP 790](https://peps.python.org/pep-0790/), 3.15 release schedule
71+
* Report bugs at [github.com/python/cpython/issues](https://github.com/python/cpython/issues)
72+
* [Help fund Python directly](https://www.python.org/psf/donations/python-dev/) (or via [GitHub Sponsors](https://github.com/sponsors/python)) and support [the Python community](https://www.python.org/psf/donations/)
73+
74+
# And now for something completely different
75+
76+
To celebrate the new 3.15, Barry Warsaw has a present for us!
77+
78+
> I had this idea to whip up a little TUI adventure game that takes you through a What’s New in Python 3.15. I present to you “whatsnewt”:
79+
>
80+
> From the README:
81+
>
82+
> > A TUI text adventure through what’s new in Python 3.15.
83+
> >
84+
> > You wake up in the Startup Foyer, somewhere inside the interpreter, and work your way to the Release Gate. Along the way there are eighteen puzzles, and every one of them is a real 3.15 feature you have to actually use. You’re not just answering boring questions, you’re actually writing and running code, in a Python 3.15 interpreter.
85+
> >
86+
> > Some puzzles require a type checker, and in those cases, answers are verified by pyrefly, which is a dependency for exactly that reason, and the verdict quotes what it says back.
87+
>
88+
> The easiest way to play it is to run:
89+
>
90+
> `uvx --python 3.15 whatsnewt`
91+
>
92+
> And yes, there are easter eggs
93+
94+
## Enjoy the new release
95+
96+
Thanks to all of the many volunteers who help make Python development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the [Python Software Foundation](https://www.python.org/psf-landing/).
97+
98+
Huge thanks to Georgi Ker and Marie Nordin for the Python 3.15 logo!
99+
100+
And also huge thanks to the Sovereign Tech Agency for supporting my work as release manager
101+
for Python 3.14 and 3.15 through the [Sovereign Tech Fellowship](https://www.sovereign.tech/programs/fellowship).
102+
103+
Salutations de Rennes,
104+
105+
Your release team,
106+
<br>Hugo van Kemenade
107+
<br>Ned Deily
108+
<br>Steve Dower
358 KB
Loading

0 commit comments

Comments
 (0)