What's New In Python 3.12
*************************

Release:
   3.12.0a0

Date:
   May 09, 2022

This article explains the new features in Python 3.12, compared to
3.11.

For full details, see the changelog.

Note:

  Prerelease users should be aware that this document is currently in
  draft form. It will be updated substantially as Python 3.12 moves
  towards release, so it's worth checking back even after reading
  earlier versions.


Summary -- Release highlights
=============================


New Features
============


Other Language Changes
======================


New Modules
===========

* None yet.


Improved Modules
================


Optimizations
=============


Deprecated
==========


Removed
=======


Porting to Python 3.12
======================

This section lists previously described changes and other bugfixes
that may require changes to your code.


Changes in the Python API
-------------------------

* More strict rules are now applied for numerical group references and
  group names in regular expressions. Only sequence of ASCII digits is
  now accepted as a numerical reference. The group name in bytes
  patterns and replacement strings can now only contain ASCII letters
  and digits and underscore. (Contributed by Serhiy Storchaka in
  gh-91760.)


Build Changes
=============


C API Changes
=============


New Features
------------


Porting to Python 3.12
----------------------


Deprecated
----------


Removed
-------

* "PyFrame_BlockSetup()" and "PyFrame_BlockPop()" have been removed.
