Skip to content

Commit 24c6418

Browse files
committed
Python 3.15.0 beta 4 is here!
1 parent e4e6a81 commit 24c6418

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

  • content/posts/python-3150-beta-4
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
title: Python 3.15.0 beta 4 is here!
3+
publishDate: '2026-07-18'
4+
author: Hugo van Kemenade
5+
description: 'The final 3.15 beta is out!'
6+
tags:
7+
- releases
8+
published: true
9+
---
10+
11+
Here comes the final beta.
12+
13+
https://www.python.org/downloads/release/python-3150b4/
14+
15+
**This is a beta preview of Python 3.15**
16+
17+
Python 3.15 is still in development. This release, 3.15.0b4, is the final planned beta release, containing around 298 bugfixes, build improvements and documentation changes since 3.15.0b3.
18+
19+
Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release.
20+
21+
## Call to action
22+
23+
We ***strongly encourage*** maintainers of third-party Python projects to ***test with 3.15*** during the beta phase and report issues found to [the Python bug tracker](https://github.com/python/cpython/issues) as soon as possible. While the release is planned to be feature-complete entering the beta phase, it is possible that features may be modified or, in rare cases, removed up until the start of the release candidate phase (2026-08-04). Our goal is to have ***no ABI changes*** after beta 4 and as few code changes as possible after the first release candidate. To achieve that, it will be ***extremely important*** to get as much exposure for 3.15 as possible during the beta phase.
24+
25+
This includes creating pre-release wheels for 3.15, as it helps other projects to do their own testing. However, we recommend that your regular production releases wait until 3.15.0rc1, to avoid the risk of ABI breaks.
26+
27+
Please keep in mind that this is a preview release and its use is ***not*** recommended for production environments.
28+
29+
## Major new features of the 3.15 series, compared to 3.14
30+
31+
Some of the major new features and changes in Python 3.15 are:
32+
33+
* [PEP 810](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-lazy-imports): Explicit lazy imports for faster startup times
34+
* [PEP 814](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-frozendict): Add `frozendict` built-in type
35+
* [PEP 661](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-sentinel): Add `sentinel` built-in type
36+
* [PEP 799](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-profiling-package): A dedicated profiling package for organizing Python profiling tools
37+
* [PEP 799](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-sampling-profiler): Tachyon: High frequency statistical sampling profiler
38+
* [PEP 831](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-frame-pointers): Frame pointers are enabled by default for improved system-level observability
39+
* [PEP 798](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-unpacking-in-comprehensions): Unpacking in comprehensions
40+
* [PEP 686](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-utf8-default): Python now uses UTF-8 as the default encoding
41+
* [PEP 829](https://peps.python.org/pep-0829/): Package startup configuration files
42+
* [PEP 728](https://peps.python.org/pep-0728/): `TypedDict` with typed extra items
43+
* [PEP 747](https://docs.python.org/3.15/whatsnew/3.15.html#typing): Annotating type forms with `TypeForm`
44+
* [PEP 800](https://peps.python.org/pep-0800/): Disjoint bases in the type system
45+
* [PEP 782](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-pybyteswriter): A new `PyBytesWriter` C API to create a Python bytes object
46+
* [PEP 803, 820, 793](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-abi3t): Stable ABI for free-threaded builds and related C API
47+
* The [JIT compiler](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-jit) has been significantly upgraded, with 8-9% geometric mean performance improvement on x86-64 Linux over the standard interpreter, and 12-13% speedup on AArch64 macOS over the tail-calling interpreter
48+
* The official Windows 64-bit binaries now [use the tail-calling interpreter](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-windows-tail-calling-interpreter)
49+
* The official macOS binaries now install free-threading support by default
50+
* [Improved error messages](https://docs.python.org/3.15/whatsnew/3.15.html#improved-error-messages)
51+
* [More color](https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-more-color)
52+
* <small>(Hey, **fellow core team member,** if a feature you find important is missing from this list, let Hugo know.)</small>
53+
54+
For more details on the changes to Python 3.15, see [What’s new in Python 3.15](https://docs.python.org/3.15/whatsnew/3.15.html). The next pre-release of Python 3.15 will be 3.15.0rc1, scheduled for 2026-08-04.
55+
56+
## Removals and new deprecations
57+
58+
- Python [removals](https://docs.python.org/3.15/whatsnew/3.15.html#removed) and [deprecations](https://docs.python.org/3.15/whatsnew/3.15.html#deprecated)
59+
- C API [removals](https://docs.python.org/3.15/whatsnew/3.15.html#c-api-removed) and [deprecations](https://docs.python.org/3.15/whatsnew/3.15.html#c-api-deprecated)
60+
- Overview of all [pending deprecations](https://docs.python.org/3.15/deprecations/index.html)
61+
62+
## More resources
63+
64+
* [Online documentation](https://docs.python.org/3.15/)
65+
* [PEP 790](https://peps.python.org/pep-0790/), 3.15 release schedule
66+
* Report bugs at [https://github.com/python/cpython/issues](https://github.com/python/cpython/issues)
67+
* [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/)
68+
69+
## And now for something completely different
70+
71+
> “Have you guessed the riddle yet?” the Hatter said, turning to Alice
72+
again.
73+
>
74+
> “No, I give it up,” Alice replied: “what’s the answer?”
75+
>
76+
> “I haven’t the slightest idea,” said the Hatter.
77+
78+
79+
## Enjoy the new release
80+
81+
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/).
82+
83+
Regards from the sunny EuroPython sprints in Kraków,
84+
85+
Your release team,
86+
<br>Hugo van Kemenade
87+
<br>Savannah Ostrowski
88+
<br>Ned Deily
89+
<br>Steve Dower
90+
<br>Łukasz Langa

0 commit comments

Comments
 (0)