https://docs.python.org/3.14/whatsnew/3.14.html
Interpreter improvements:
-
PEP 649 and PEP 749: Deferred evaluation of annotations
-
PEP 734: Multiple interpreters in the standard library
-
PEP 750: Template strings
-
PEP 758: Allow except and except* expressions without brackets
-
PEP 765: Control flow in finally blocks
-
PEP 768: Safe external debugger interface for CPython
-
A new type of interpreter
-
Free-threaded mode improvements
-
Improved error messages
-
Incremental garbage collection
Significant improvements in the standard library:
-
PEP 784: Zstandard support in the standard library
-
Asyncio introspection capabilities
-
Concurrent safe warnings control
-
Syntax highlighting in the default interactive shell, and color output in several standard library CLIs
C API improvements:
-
PEP 741: Python configuration C API
Platform support:
-
PEP 776: Emscripten is now an officially supported platform, at tier 3.
Release changes:
-
PEP 779: Free-threaded Python is officially supported
-
PEP 761: PGP signatures have been discontinued for official releases
-
Windows and macOS binary releases now support the experimental just-in-time compiler
-
Binary releases for Android are now provided
I have been using Python 3.14 as my primary version while teaching and writing one-off scripts for over 6 months. My favorite features are the ones that immediately impact newer Python users.
My favorite new features in Python 3.14:
-
All the color (REPL & PDB syntax highlighting, argparse help, unittest, etc.)
-
pathlib's copy & move methods: no more need for shutil
-
date.strptime: no more need for datetime.strptime().date()
-
uuid7: random but also orderable/sortable
-
argparse choice typo suggestions
-
t-strings: see awesome-t-strings for libraries using them
-
concurrent subinterpreters: the best of both threading & multiprocessing
-
import tab completion
I recorded a 6 minute demo of these features and wrote an article on them.
Videos
Summary: This week I landed a new type of interpreter into Python 3.14. It improves performance by -3-30% (I actually removed outliers, otherwise it's 45%), and a geometric mean of 9-15%(EDIT: 3-5%, see correction notice below) faster on pyperformance depending on platform and architecture. The main caveat however is that it only works with the newest compilers (Clang 19 and newer). We made this opt-in, so there's no backward compatibility concerns. Once the compilers start catching up a few years down the road, I expect this feature to become widespread.
Python 3.14 documentation: https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-tail-call
I have a lot of people to thank for their ideas and help: Mark Shannon, Donghee Na, Diego Russo, Garrett Gu, Haoran Xu, and Josh Haberman. Also my academic supervisors Stefan Marr and Manuel Rigger :).
(Sorry can't cross-post here) Original post: https://www.reddit.com/r/ProgrammingLanguages/comments/1ikqi0d/a_new_type_of_interpreter_has_been_added_to/
EDIT:
The performance numbers given were wrong due to a compiler bug in LLVM 19. I've since revised downwards the numbers to account for the bug. I sincerely apologize to anyone I have unintentionally misled. I was not aware of the compiler bug myself. See the original release notes for an updated explanation.
Finally, the Python 3.14 was released.
It catched so much attention,given that Python is the de facto ruling language now.
I tried it for a few days and summarised the top 7 most useful updates here.
What do you think?
3.14 alpha 7 was released yesterday!
And after the next release (beta 1) there will be no more new features, so we can check out most of upcoming changes already.
Since I'd like to make programming videos a lot, I' pushed through my anxiety about my voice and recorded the patch breakdown, I hope you'll like it:
https://www.youtube.com/watch?v=hzys1_xmLPc
Some days before i saw that python 3.14 has released some mounths now,Then i got thinking python developers should have named this version "Python π" because of the number π= 3.14. Who is with me???
We're currently on 3.14.0rc3 (Release Candidate 3) with the official release of Python 3.14 scheduled for the 7th of October (2 weeks from now). To save users the trouble of going through all of the release notes, discussions and PEP docs, Cloudsmith have compiled a shortened, synthesized version of the Python 3.14 release notes as we approach the release date. There's some really interesting changes in this release, such as discontinuing PGP signatures in favour of short-lived Sigstore signing through OIDC, making Parentheses Optional in Except and Except Blocks, as well as deferred Evaluation Of Annotations Using Descriptors.
If you're excited about this upcoming release, check out the full full release notes here:
https://cloudsmith.com/blog/python-3-14-what-you-need-to-know
The CPython 3.14 change log describes the feature as “a new type of interpreter based on tail calls.” This description may be a little misleading for those who don’t closely follow internal Python development work. “Tail calls” doesn’t mean that CPython, or the Python language, will now support tail call optimization. It refers to an optimization that a C compiler performs on the CPython code, which speeds up the way the interpreter dispatches its bytecode instructions.
I recently shared performance test results for Python 3.14, and compared them with previous version — 3.13, 3.12, 3.11, and 3.10. About 100 benchmark tests were conducted using the pyperformance 1.12.0 on Windows 11, across two main hardware platforms:
-
AMD Ryzen 7000 desktop systems
-
Intel Core 13th-gen laptops and mini PCs
All runs used 64-bit builds of the following versions:
-
Python 3.14.0
-
Python 3.13.9
-
Python 3.12.10
-
Python 3.11.9
-
Python 3.10.11
I found some noticeable trends, which made me curious how consistent these gains are across different setups. If you’re interested, the full benchmark summary and charts are available in the article, video and special project.
Can you recommend any other reliable or interesting benchmark comparisons for Python 3.14?
If so, I’d love to see how their results line up with these findings.
This week I landed a new type of interpreter into Python 3.14. It improves performance by -3-30% (I actually removed outliers, otherwise it's 45%), and a geometric mean of ~~9-15%~~3-5% (EDIT: See correction notice below) faster on pyperformance depending on platform and architecture. The main caveat however is that it only works with the newest compilers (Clang 19 and newer). We made this opt-in, so there's no backward compatibility concerns. Once the compilers start catching up a few years down the road, I expect this feature to become widespread.
https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-tail-call
5 months ago I posted on this subreddit lamenting that my efforts towards optimizing Python were not paying off. Thanks to a lot of the encouragements here (and also from my academic supervisors), I decided to continue throwing everything I had at this issue. Thank you for your kind comments back then!
I have a lot of people to thank for their ideas and help: Mark Shannon, Donghee Na, Diego Russo, Garrett Gu, Haoran Xu, and Josh Haberman. Also my academic supervisors Stefan Marr and Manuel Rigger :).
Hope you folks enjoy Python 3.14!
PR: https://github.com/python/cpython/pull/128718
A good explanation of the approach: https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html
EDIT:
The performance numbers given were wrong due to a compiler bug in LLVM 19. I've since revised downwards the numbers to account for the bug. I sincerely apologize to anyone I have unintentionally misled. I was not aware of the compiler bug myself. See the original release notes for an updated explanation.
I know we don't have release names, but if it's not called "Pi-thon" it's gonna be such a missed opportunity. There will only be one version 3.14 ever...
Template strings, deferred annotations, better error messages, and a new debugger interface are among the goodies in Python 3.14. Now in beta. (May 2025)
Any chance we can get Python 3.14 released on Pi Day (Fri, Mar 14, 2025) 📅
And if not possible just a mini 3.14 release called Pi-thon on that date 🐍
Since python 3.13 was released this year, and 3.14 releasing next year, it would be very splendid to mark Python 3.14 to be called PiThon or πthon, just for the fun of it. no need to change the language. If the devs want, they can make python 3.14 respond to 'pithon --version' too
I wanted to share a comprehensive resource I created covering all 8 major features in Python 3.14, with working code examples and side-by-side comparisons against Python 3.12.
What's covered:
Deferred evaluation of annotations - import performance impact
Subinterpreters with isolated GIL - true parallelism benchmarks
Template strings and comparison with F Strings
Simplified except/except* syntax
Control flow in finally blocks
Free-threads - No GIL
Enhanced error messages - debugging improvements
Zstandard compression support - performance vs gzip
What makes this different:
Side-by-side code comparisons (3.12 vs 3.14)
Performance benchmarks for each feature
All code available in GitHub repo with working examples
Format: 55-minute video with timestamps for each feature
GitHub Repository: https://github.com/devnomial/video1_python_314
Video: https://www.youtube.com/watch?v=odhTr5UdYNc
I've been working with Python for 12+ years and wanted to create a single comprehensive resource since most existing content only covers 2-3 features.
Happy to answer questions about any of the features or implementation details. Would especially appreciate feedback or if I missed any important edge cases.
Is this a dumb joke? Yes. Is this the only shot we'll have at a joke like this? Yes. And is this a great way to celebrate what Pi's done for us Python developers? Totally.
I mean Python is heavily built around the magic number we know as 3.14, from games, charts and music, to even just screwing around with arithmetic functions! So why not appreciate pi's work with a special Python version?
The petition can be found here:
https://www.change.org/p/rename-python-3-14-to-pithon
Please sign it and share when you can!