Python 3.12.0rc1 Release: New Features, Deprecations, and Upgrade Guidance
The article announces Python 3.12.0rc1 as the penultimate release candidate, outlines its release schedule, encourages third‑party projects to prepare compatibility wheels, lists major new language features and deprecations, and warns against using the preview version in production.
Python 3.12.0rc1 is the second‑to‑last release‑candidate for the upcoming Python 3.12 series, with the final release scheduled for 2 October 2023 and the last release‑candidate planned for 4 September 2023.
From this point onward the 3.12 series will have no ABI changes, aiming to keep code modifications to a minimum.
Call to Action – Maintainers of third‑party Python projects are strongly encouraged to test and ensure compatibility with Python 3.12, publish wheels for the new version on PyPI, and report any issues to the Python bug tracker. The preview should not be used in production environments.
Key New Features in the 3.12 series compared to 3.11
More flexible f‑string parsing (PEP 701).
Support for the buffer protocol in Python code (PEP 688).
New debugging/analysis API (PEP 669).
Isolated sub‑interpreters with separate GIL (PEP 684).
Improved error messages with suggestions for common misspellings.
Support for displaying Python function names in Linux perf reports.
Numerous performance improvements (e.g., PEP 709) targeting an overall ~5% speed boost.
Deprecations
Removal of the deprecated wstr and wstr_length members from the Unicode C implementation (PEP 623).
Many long‑standing deprecated methods and classes in the unittest module have been removed.
The smtpd and distutils modules have been deleted (see PEP 594 and PEP 632); setuptools continues to provide a stub for distutils .
Various other obsolete, broken, or deprecated functions, classes, and methods have been eliminated.
Invalid backslash escape sequences in strings now raise SyntaxWarning instead of DeprecationWarning , foreshadowing future syntax errors.
Internal changes to integer representation prepare for performance enhancements (may affect Cython‑generated code).
For more details on the changes in Python 3.12, see the official “What’s New in Python 3.12” documentation. The next preview version will be 3.12.0rc2, slated for release on 4 September 2023.
Source: https://www.python.org/downloads/release/python-3120rc1/
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.