Key Highlights of Python 3.13 Release Candidate 2 and New Features
Python 3.13.0rc2, the preview of the upcoming 3.13.0 release scheduled for October 1, 2024, introduces an experimental free‑threading build, a new JIT, improved interactive interpreter, incremental garbage collector, updated typing features, and several module deprecations and removals.
Python 3.13.0rc2 is the preview of the final 3.13.0 release, planned for Tuesday, October 1, 2024. Maintainers are encouraged to prepare their projects for 3.13 compatibility and publish wheels on PyPI; binary wheels built for 3.13.0rc1 or later will work with future 3.13 releases. This preview is not recommended for production.
Major New Features Compared to the 3.12 Series
Python 3.13 introduces several significant new features and changes:
New Features
A completely revamped interactive interpreter based on PyPy, offering multiline editing, color support, and colored exception tracebacks.
An experimental free‑threading build mode that disables the Global Interpreter Lock (GIL), allowing more concurrent thread execution; this mode is also offered as an experimental option in Windows and macOS installers.
A preliminary experimental JIT compiler laying the groundwork for substantial performance improvements.
Built‑in functions (and their C equivalents) now have well‑defined semantics when the returned mapping is mutated, improving debugger consistency (e.g., locals() ).
The (generational) garbage collector is now incremental, reducing pause times in programs with many objects.
Inclusion of a modified version of mimalloc , enabled by default on supported platforms and required for the free‑threading build.
Docstrings no longer retain leading indentation, decreasing memory usage and .pyc file size.
The dbm module gains a new dbm.sqlite3 backend, used by default when creating new files.
Minimum supported macOS version raised from 10.9 to 10.13 (High Sierra); older macOS versions are no longer supported.
WASI is now a Tier‑2 supported platform, while Emscripten is no longer officially supported (though Pyodide continues to support it).
iOS becomes a Tier‑3 supported platform, with Android support under development.
Typing Enhancements
Support for default values in type parameters.
New typing annotation typing.TypeIs for type narrowing.
Read‑only item annotations for TypedDict .
New deprecation annotation for marking deprecated elements in the type system.
Removals and New Deprecations
PEP 594 removes many unused modules from the standard library (e.g., aifc , audioop , chunk , cgi , cgitb , crypt , imghdr , mailcap , msilib , nis , nntplib , ossaudiodev , pip , sndhdr , spwd , sunau , telnetlib , uux , dl , lib2to3 ).
Numerous deprecated classes, functions, and methods have been removed from various standard‑library modules.
C API removals and deprecations, with some changes reverted in later alpha releases due to their disruptive nature.
New deprecation schedule targeting removal in Python 3.15 or 3.16 for many remaining legacy features.
Original release notes: https://www.python.org/downloads/release/python-3130rc2/
Python Programming Learning Circle
A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.