Python 3.15
Posted on May 6, 2026
(Last modified on May 22, 2026)
| Henry Schreiner
Python 3.15 beta 1 is out! This is a really impactful release, with some really
big additions. A new lazy import system, a powerful sampling profiler, not one
but two new builtins, the usual color/types/errors updates, and lots of key
changes for developers.
[Read More]Python π
Posted on May 8, 2025
(Last modified on May 22, 2026)
| Henry Schreiner
Python π (3.14) is out! The big feature this time around is template strings.
Free-threading is no longer experimental. There’s also lots more color
(including syntax highlighting in the REPL!), remote debugging, deferred
evaluation of annotations, and the usual error message and performance
improvements. Subintepreters are now accessible without the C-API (finally!),
and free-threaded Python is no longer experimental.
[Read More]Python 3.13
Posted on May 9, 2024
(Last modified on May 22, 2026)
| Henry Schreiner
Python 3.13 betas are out (Edit: 3.13.0 is out!), which means the features are
locked in. For the first time in thirty years, Python has a new, more colorful
REPL! There’s also a no-GIL compile-time option (free-threaded), an optional
JIT, some new typing features, and better error messages (again).
[Read More]Python 3.12
Posted on June 19, 2023
(Last modified on May 22, 2026)
| Henry Schreiner
Python 3.12’s beta’s are out, which means the features are locked in. The theme
this year has been cleanup and typing. distutils has been removed, and
setuptools is no longer present in default environments.
[Read More]Python 3.10
Posted on July 23, 2022
(Last modified on May 6, 2026)
| Henry Schreiner
Python 3.10 is out (and has been for a while, I’m late posting this), with new
features and changes. The big new language feature this update is pattern
matching. We get much better errors, the always-present typing improvements, and
finally some real usage of the new PEG parser from 3.9.
[Read More]Python 3.11
Posted on May 11, 2022
(Last modified on May 22, 2026)
| Henry Schreiner
Python 3.11 has hit the beta (now released!) stage, which means no more new
features. It’s a perfect time to play with it! The themes in this update are the
standard ones: The faster CPython project is now fully going (3.11 is 25% faster
on average), along with improved error messages, typing, and asyncio. Beyond
this, the only major new feature is a library for reading TOML files; this
probably only exciting if you are involved in Python packaging (but I am, so I’m
excited!).
[Read More]Python 3.7
Posted on January 15, 2022
(Last modified on May 6, 2025)
| Henry Schreiner
Python 3.7 has been out for a while. In fact, it’s the oldest version of Python
still receiving support when this was written. I’d still like to write a “what’s
new”, targeting users who are upgrading to a Python 3.7+ only codebase, and want
to know what to take advantage of!
[Read More]Python 3.9
Posted on February 12, 2021
(Last modified on May 22, 2026)
| Henry Schreiner
Python 3.9 is out (and has been for a while, I’m late posting this), with new
features and changes. The themes for this release have been heavily internal
improvements, such as a new more powerful parser, and the usual static typing
improvements, along with a several bits new-user facing new syntax. This makes
3.9 a smaller release, but still it has some nice features of note.
[Read More]