.. date: 2022-05-04-14-32-24
.. gh-issue: 57684
.. nonce: HrlDrM
.. release date: 2022-05-06
.. section: Security

Add the :option:`-P` command line option and the :envvar:`PYTHONSAFEPATH`
environment variable to not prepend a potentially unsafe path to
:data:`sys.path`. Patch by Victor Stinner.

..

.. date: 2022-05-06-02-29-53
.. gh-issue: 89519
.. nonce: 4OfkRE
.. section: Core and Builtins

Chaining classmethod descriptors (introduced in bpo-19072) is deprecated. It
can no longer be used to wrap other descriptors such as property().  The
core design of this feature was flawed, and it caused a number of downstream
problems.

..

.. date: 2022-05-05-20-05-41
.. gh-issue: 92345
.. nonce: lnN_RA
.. section: Core and Builtins

``pymain_run_python()`` now imports ``readline`` and ``rlcompleter`` before
sys.path is extended to include the current working directory of an
interactive interpreter. Non-interactive interpreters are not affected.

..

.. bpo: 43857
.. date: 2022-05-04-11-37-20
.. nonce: WuX8p3
.. section: Core and Builtins

Improve the :exc:`AttributeError` message when deleting a missing attribute.
Patch by Géry Ogam.

..

.. date: 2022-05-03-14-55-40
.. gh-issue: 92245
.. nonce: G17-5i
.. section: Core and Builtins

Make sure that PEP 523 is respected in all cases. In 3.11a7, specialization
may have prevented Python-to-Python calls respecting PEP 523.

..

.. date: 2022-05-02-17-12-49
.. gh-issue: 92203
.. nonce: -igcjS
.. section: Core and Builtins

Add a closure keyword-only parameter to exec(). It can only be specified
when exec-ing a code object that uses free variables. When specified, it
must be a tuple, with exactly the number of cell variables referenced by the
code object. closure has a default value of None, and it must be None if the
code object doesn't refer to any free variables.

..

.. date: 2022-05-02-12-40-18
.. gh-issue: 91173
.. nonce: k_Dr6z
.. section: Core and Builtins

Disable frozen modules in debug builds. Patch by Kumar Aditya.

..

.. date: 2022-05-01-16-40-07
.. gh-issue: 92114
.. nonce: 5xTlLt
.. section: Core and Builtins

Improve error message when subscript a type with ``__class_getitem__`` set
to ``None``.

..

.. date: 2022-05-01-10-58-38
.. gh-issue: 92112
.. nonce: lLJemu
.. section: Core and Builtins

Fix crash triggered by an evil custom ``mro()`` on a metaclass.

..

.. date: 2022-04-30-04-26-01
.. gh-issue: 92063
.. nonce: vHnhf6
.. section: Core and Builtins

The ``PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS`` instruction now ensures
methods are called only on objects of the correct type.

..

.. date: 2022-04-29-02-50-41
.. gh-issue: 92031
.. nonce: 2PpaIN
.. section: Core and Builtins

Deoptimize statically allocated code objects during ``Py_FINALIZE()`` so
that future ``_PyCode_Quicken`` calls always start with unquickened code.

..

.. date: 2022-04-28-23-37-30
.. gh-issue: 92036
.. nonce: GZJAC9
.. section: Core and Builtins

Fix a crash in subinterpreters related to the garbage collector. When a
subinterpreter is deleted, untrack all objects tracked by its GC. To prevent
a crash in deallocator functions expecting objects to be tracked by the GC,
leak a strong reference to these objects on purpose, so they are never
deleted and their deallocator functions are not called. Patch by Victor
Stinner.

..

.. date: 2022-04-28-20-19-49
.. gh-issue: 92032
.. nonce: ef-UfM
.. section: Core and Builtins

The interpreter can now autocomplete soft keywords, as of now ``match``,
``case``, and ``_`` (wildcard pattern) from :pep:`634`.

..

.. date: 2022-04-27-10-36-43
.. gh-issue: 87999
.. nonce: YSPHfO
.. section: Core and Builtins

The warning emitted by the Python parser for a numeric literal immediately
followed by keyword has been changed from deprecation warning to syntax
warning.

..

.. date: 2022-04-26-05-05-32
.. gh-issue: 91869
.. nonce: ELbTXl
.. section: Core and Builtins

Fix an issue where specialized opcodes with extended arguments could produce
incorrect tracing output or lead to assertion failures.

..

.. date: 2022-04-23-22-08-34
.. gh-issue: 91603
.. nonce: GcWEkK
.. section: Core and Builtins

Speed up :class:`types.UnionType` instantiation. Based on patch provided by
Yurii Karabas.

..

.. date: 2022-04-21-16-15-24
.. gh-issue: 89373
.. nonce: A1jgLx
.. section: Core and Builtins

If Python is built in debug mode, Python now ensures that deallocator
functions leave the current exception unchanged. Patch by Victor Stinner.

..

.. date: 2022-04-20-14-43-37
.. gh-issue: 91632
.. nonce: cvUhsZ
.. section: Core and Builtins

Fix a minor memory leak at exit: release the memory of the
:class:`generic_alias_iterator` type. Patch by Donghee Na.

..

.. date: 2022-04-18-20-25-01
.. gh-issue: 81548
.. nonce: n3VYgp
.. section: Core and Builtins

Octal escapes with value larger than ``0o377`` now produce a
:exc:`DeprecationWarning`. In a future Python version they will be a
:exc:`SyntaxWarning` and eventually a :exc:`SyntaxError`.

..

.. bpo: 43950
.. date: 2022-04-18-15-22-56
.. nonce: qrTvWL
.. section: Core and Builtins

Use a single compact table for line starts, ends and column offsets. Reduces
memory consumption for location info by half

..

.. date: 2022-04-18-07-23-48
.. gh-issue: 91102
.. nonce: vm-6g1
.. section: Core and Builtins

Use Argument Clinic for :class:`EncodingMap`.  Patch by Oleg Iarygin.

..

.. date: 2022-04-18-02-45-40
.. gh-issue: 91636
.. nonce: 6DFdy_
.. section: Core and Builtins

Fixed a crash in a garbage-collection edge-case, in which a
``PyFunction_Type.tp_clear`` function could leave a python function object
in an inconsistent state.

..

.. date: 2022-04-17-11-03-45
.. gh-issue: 91603
.. nonce: hYw1Lv
.. section: Core and Builtins

Speed up :func:`isinstance` and :func:`issubclass` checks for
:class:`types.UnionType`. Patch by Yurii Karabas.

..

.. date: 2022-04-17-02-55-38
.. gh-issue: 91625
.. nonce: 80CrC7
.. section: Core and Builtins

Fixed a bug in which adaptive opcodes ignored any preceding
``EXTENDED_ARG``\ s on specialization failure.

..

.. date: 2022-04-16-21-54-31
.. gh-issue: 78607
.. nonce: _Y7bMm
.. section: Core and Builtins

The LLTRACE special build now looks for the name ``__lltrace__`` defined in
module globals, rather than the name ``__ltrace__``, which had been
introduced as a typo.

..

.. date: 2022-04-15-16-57-23
.. gh-issue: 91576
.. nonce: adoDj_
.. section: Core and Builtins

Speed up iteration of ascii strings by 50%. Patch by Kumar Aditya.

..

.. date: 2022-04-13-22-03-04
.. gh-issue: 89279
.. nonce: -jAVxZ
.. section: Core and Builtins

Improve interpreter performance on Windows by inlining a few specific
macros.

..

.. date: 2022-04-13-11-15-09
.. gh-issue: 91502
.. nonce: 11YXHQ
.. section: Core and Builtins

Add a new :c:func:`_PyFrame_IsEntryFrame` API function, to check if a
:c:type:`PyFrameObject` is an entry frame. Patch by Pablo Galindo.

..

.. date: 2022-04-13-07-14-30
.. gh-issue: 91266
.. nonce: 6Vkzzt
.. section: Core and Builtins

Refactor the ``bytearray`` strip methods ``strip``, ``lstrip`` and
``rstrip`` to use a common implementation.

..

.. date: 2022-04-12-11-56-23
.. gh-issue: 91479
.. nonce: -dyGJX
.. section: Core and Builtins

Replaced the ``__note__`` field of :exc:`BaseException` (added in an earlier
version of 3.11) with the final design of :pep:`678`. Namely,
:exc:`BaseException` gets an :meth:`add_note` method, and its ``__notes__``
field is created when necessary.

..

.. date: 2022-04-12-09-40-57
.. gh-issue: 46055
.. nonce: IPb1HA
.. section: Core and Builtins

Speed up right shift of negative integers, by removing unnecessary creation
of temporaries. Original patch by Xinhang Xu, reworked by Mark Dickinson.

..

.. date: 2022-04-12-00-44-14
.. gh-issue: 91462
.. nonce: t8oxyd
.. section: Core and Builtins

Make the interpreter's low-level tracing (lltrace) feature output more
readable by displaying opcode names (rather than just numbers), and by
displaying stack contents before each opcode.

..

.. date: 2022-04-11-18-44-19
.. gh-issue: 89455
.. nonce: d0qMYd
.. section: Core and Builtins

Fixed an uninitialized bool value in the traceback printing code path that
was introduced by the initial bpo-45292 exception groups work.

..

.. date: 2022-04-10-22-57-27
.. gh-issue: 91421
.. nonce: dHhv6U
.. section: Core and Builtins

Fix a potential integer overflow in _Py_DecodeUTF8Ex.

..

.. date: 2022-04-10-18-47-21
.. gh-issue: 91428
.. nonce: ZewV-M
.. section: Core and Builtins

Add ``static const char *const _PyOpcode_OpName[256] = {...};`` to
``opcode.h`` for debug builds to assist in debugging the Python interpreter.
It is now more convenient to make various forms of debugging output more
human-readable by including opcode names rather than just the corresponding
decimal digits.

..

.. bpo: 47120
.. date: 2022-04-06-22-50-31
.. nonce: mbfHs5
.. section: Core and Builtins

Make :opcode:`POP_JUMP_IF_TRUE`, :opcode:`POP_JUMP_IF_FALSE`,
:opcode:`POP_JUMP_IF_NONE` and :opcode:`POP_JUMP_IF_NOT_NONE` virtual,
mapping to new relative jump opcodes.

..

.. bpo: 45317
.. date: 2022-04-04-15-12-38
.. nonce: UDLOt8
.. section: Core and Builtins

Add internal documentation explaining design of new (for 3.11) frame stack.

..

.. bpo: 47197
.. date: 2022-04-03-17-21-04
.. nonce: Ji_c30
.. section: Core and Builtins

ctypes used to mishandle ``void`` return types, so that for instance a
function declared like ``ctypes.CFUNCTYPE(None, ctypes.c_int)`` would be
called with signature ``int f(int)`` instead of ``void f(int)``. Wasm
targets require function pointers to be called with the correct signatures
so this led to crashes. The problem is now fixed.

..

.. bpo: 47120
.. date: 2022-03-31-14-33-48
.. nonce: 6S_uoU
.. section: Core and Builtins

Make opcodes :opcode:`!JUMP_IF_TRUE_OR_POP` and
:opcode:`!JUMP_IF_FALSE_OR_POP` relative rather than absolute.

..

.. bpo: 47177
.. date: 2022-03-31-01-30-03
.. nonce: fQqaov
.. section: Core and Builtins

Replace the ``f_lasti`` member of the internal ``_PyInterpreterFrame``
structure with a ``prev_instr`` pointer, which reduces overhead in the main
interpreter loop. The ``f_lasti`` attribute of Python-layer frame objects is
preserved for backward-compatibility.

..

.. bpo: 46961
.. date: 2022-03-13-08-23-17
.. nonce: SgGCkG
.. section: Core and Builtins

Integer mod/remainder operations, including the three-argument form of
:func:`pow`, now consistently return ints from the global small integer
cache when applicable.

..

.. bpo: 46962
.. date: 2022-03-08-21-59-57
.. nonce: UomDfz
.. section: Core and Builtins

Classes and functions that unconditionally declared their docstrings
ignoring the ``--without-doc-strings`` compilation flag no longer do so.

The classes affected are :class:`ctypes.UnionType`,
:class:`pickle.PickleBuffer`, :class:`testcapi.RecursingInfinitelyError`,
and :class:`types.GenericAlias`.

The functions affected are 24 methods in :mod:`ctypes`.

Patch by Oleg Iarygin.

..

.. bpo: 46942
.. date: 2022-03-07-11-51-51
.. nonce: 57obVi
.. section: Core and Builtins

Use Argument Clinic for the :class:`types.MethodType` constructor.  Patch by
Oleg Iarygin.

..

.. bpo: 46764
.. date: 2022-02-16-03-23-38
.. nonce: wEY4bS
.. section: Core and Builtins

Fix wrapping bound methods with @classmethod

..

.. bpo: 43464
.. date: 2022-02-13-21-53-29
.. nonce: yupHjd
.. section: Core and Builtins

Optimize :meth:`set.intersection` for non-set arguments.

..

.. bpo: 46721
.. date: 2022-02-11-17-16-30
.. nonce: JkHaLF
.. section: Core and Builtins

Optimize :meth:`set.issuperset` for non-set argument.

..

.. bpo: 46509
.. date: 2022-01-25-05-39-38
.. nonce: ljrqrc
.. section: Core and Builtins

Add type-specialized versions of the ``Py_DECREF()``, and use them for
``float``, ``int``, ``str``, ``bool``, and ``None`` to avoid pointer-chasing
at runtime where types are known at C compile time.

..

.. bpo: 46045
.. date: 2021-12-11-11-36-48
.. nonce: sfThay
.. section: Core and Builtins

Do not use POSIX semaphores on NetBSD

..

.. bpo: 36819
.. date: 2021-09-28-10-58-30
.. nonce: cyV50C
.. section: Core and Builtins

Fix crashes in built-in encoders with error handlers that return position
less or equal than the starting position of non-encodable characters.

..

.. bpo: 34093
.. date: 2018-07-14-16-58-00
.. nonce: WaVD-f
.. section: Core and Builtins

``marshal.dumps()`` uses ``FLAG_REF`` for all interned strings.  This makes
output more deterministic and helps reproducible build.

..

.. bpo: 26579
.. date: 2017-07-23-11-28-45
.. nonce: lpCY8R
.. section: Core and Builtins

Added ``object.__getstate__`` which provides the default implementation of
the ``__getstate__()`` method.

Copying and pickling instances of subclasses of builtin types bytearray,
set, frozenset, collections.OrderedDict, collections.deque, weakref.WeakSet,
and datetime.tzinfo now copies and pickles instance attributes implemented
as slots.

..

.. date: 2022-05-06-13-53-10
.. gh-issue: 87901
.. nonce: NnkUVr
.. section: Library

Add the *encoding* parameter to :func:`os.popen`.

..

.. date: 2022-05-06-09-48-07
.. gh-issue: 90997
.. nonce: 4PmCgX
.. section: Library

Fix an issue where :mod:`dis` utilities may interpret populated inline cache
entries as valid instructions.

..

.. date: 2022-05-05-22-46-52
.. gh-issue: 92332
.. nonce: Fv9CJx
.. section: Library

Deprecate :class:`typing.Text` (removal of the class is currently not
planned). Patch by Alex Waygood.

..

.. gh: 78157
.. date: 2022-05-05-20-40-45
.. nonce: IA_9na
.. section: Library

Deprecate nested classes in enum definitions becoming members -- in 3.13
they will be normal classes; add ``member`` and ``nonmember`` functions to allow
control over results now.

..

.. date: 2022-05-05-19-25-09
.. gh-issue: 92356
.. nonce: uvxWdu
.. section: Library

Fixed a performance regression in ctypes function calls.

..

.. date: 2022-05-05-17-35-01
.. gh-issue: 90997
.. nonce: UV5_s0
.. section: Library

Show the actual named values stored in inline caches when
``show_caches=True`` is passed to :mod:`dis` utilities.

..

.. date: 2022-05-04-11-54-37
.. gh-issue: 92301
.. nonce: eqjoYX
.. section: Library

Prefer ``close_range()`` to iterating over procfs for file descriptor
closing in :mod:`subprocess` for better performance.

..

.. date: 2022-05-03-19-06-38
.. gh-issue: 67248
.. nonce: DK61Go
.. section: Library

Sort the miscellaneous topics in Cmd.do_help()

..

.. date: 2022-05-03-17-33-46
.. gh-issue: 92210
.. nonce: csDOQM
.. section: Library

Port ``socket.__init__`` to Argument Clinic. Patch by Cinder.

..

.. date: 2022-05-03-12-11-27
.. gh-issue: 80010
.. nonce: yG54RE
.. section: Library

Add support for generalized ISO 8601 parsing to
:meth:`datetime.datetime.fromisoformat`, :meth:`datetime.date.fromisoformat`
and :meth:`datetime.time.fromisoformat`. Patch by Paul Ganssle.

..

.. date: 2022-05-02-23-08-02
.. gh-issue: 92118
.. nonce: 9Mm9g4
.. section: Library

Fix a 3.11 regression in :func:`~contextlib.contextmanager`, which caused it
to propagate exceptions with incorrect tracebacks.

..

.. date: 2022-05-02-18-19-46
.. gh-issue: 90887
.. nonce: zQsmfp
.. section: Library

Adding ``COPYFILE_STAT``, ``COPYFILE_ACL`` and ``COPYFILE_XATTR`` constants
for :func:`os.fcopyfile` available in macOs.

..

.. date: 2022-05-02-09-09-47
.. gh-issue: 91215
.. nonce: l1p7CJ
.. section: Library

For @dataclass, add weakref_slot. Default is False. If True, and if
slots=True, add a slot named "__weakref__", which will allow instances to be
weakref'd. Contributed by Eric V. Smith

..

.. date: 2022-05-02-03-56-50
.. gh-issue: 85984
.. nonce: RBivvc
.. section: Library

New function os.login_tty() for Unix.

..

.. date: 2022-05-01-21-45-41
.. gh-issue: 92128
.. nonce: Di7VbE
.. section: Library

Add :meth:`~object.__class_getitem__` to :class:`logging.LoggerAdapter` and
:class:`logging.StreamHandler`, allowing them to be parameterized at
runtime. Patch by Alex Waygood.

..

.. date: 2022-04-30-10-53-10
.. gh-issue: 92049
.. nonce: 5SEKoh
.. section: Library

Forbid pickling constants ``re._constants.SUCCESS`` etc. Previously,
pickling did not fail, but the result could not be unpickled.

..

.. date: 2022-04-29-18-15-23
.. gh-issue: 92062
.. nonce: X2c_Rj
.. section: Library

:class:`inspect.Parameter` now raises :exc:`ValueError` if ``name`` is a
keyword, in addition to the existing check that it is an identifier.

..

.. date: 2022-04-29-16-41-08
.. gh-issue: 87390
.. nonce: 3LNNCv
.. section: Library

Add an ``__unpacked__`` attribute to :class:`types.GenericAlias`. Patch by
Jelle Zijlstra.

..

.. date: 2022-04-28-18-45-58
.. gh-issue: 88089
.. nonce: hu9kRk
.. section: Library

Add support for generic :class:`typing.NamedTuple`.

..

.. date: 2022-04-27-19-45-58
.. gh-issue: 91996
.. nonce: YEEIzk
.. section: Library

New http.HTTPMethod enum to represent all the available HTTP request methods
in a convenient way

..

.. date: 2022-04-27-18-30-00
.. gh-issue: 91984
.. nonce: LxAB11
.. section: Library

Modified test strings in test_argparse.py to not contain trailing spaces
before end of line.

..

.. date: 2022-04-27-18-04-24
.. gh-issue: 91952
.. nonce: 9A4RXx
.. section: Library

Add ``encoding="locale"`` support to :meth:`TextIOWrapper.reconfigure`.

..

.. date: 2022-04-27-13-30-26
.. gh-issue: 91954
.. nonce: cC7ga_
.. section: Library

Add *encoding* and *errors* arguments to :func:`subprocess.getoutput` and
:func:`subprocess.getstatusoutput`.

..

.. bpo: 47029
.. date: 2022-04-26-19-01-13
.. nonce: qkT42X
.. section: Library

Always close the read end of the pipe used by :class:`multiprocessing.Queue`
*after* the last write of buffered data to the write end of the pipe to
avoid :exc:`BrokenPipeError` at garbage collection and at
:meth:`multiprocessing.Queue.close` calls. Patch by Géry Ogam.

..

.. date: 2022-04-26-18-02-44
.. gh-issue: 91928
.. nonce: V0YveU
.. section: Library

Add ``datetime.UTC`` alias for ``datetime.timezone.utc``.

Patch by Kabir Kwatra.

..

.. date: 2022-04-26-09-09-07
.. gh-issue: 68966
.. nonce: roapI2
.. section: Library

The :mod:`!mailcap` module is now deprecated and will be removed in Python
3.13. See :pep:`594` for the rationale and the :mod:`mimetypes` module for
an alternative. Patch by Victor Stinner.

..

.. date: 2022-04-25-21-33-48
.. gh-issue: 91401
.. nonce: _Jo4Bu
.. section: Library

Provide a way to disable :mod:`subprocess` use of ``vfork()`` just in case
it is ever needed and document the existing mechanism for ``posix_spawn()``.

..

.. date: 2022-04-25-18-30-20
.. gh-issue: 64783
.. nonce: HFtERN
.. section: Library

Fix :const:`signal.NSIG` value on FreeBSD to accept signal numbers greater
than 32, like :const:`signal.SIGRTMIN` and :const:`signal.SIGRTMAX`. Patch by
Victor Stinner.

..

.. date: 2022-04-25-14-18-01
.. gh-issue: 91910
.. nonce: kY-JR0
.. section: Library

Add missing f prefix to f-strings in error messages from the
:mod:`multiprocessing` and :mod:`asyncio` modules.

..

.. date: 2022-04-23-08-06-36
.. gh-issue: 91860
.. nonce: ityDjK
.. section: Library

Add :func:`typing.dataclass_transform`, implementing :pep:`681`. Patch by
Jelle Zijlstra.

..

.. date: 2022-04-23-03-24-00
.. gh-issue: 91832
.. nonce: TyLi65
.. section: Library

Add ``required`` attribute to :class:`argparse.Action` repr output.

..

.. date: 2022-04-22-19-11-31
.. gh-issue: 91827
.. nonce: 6P3gOI
.. section: Library

In the :mod:`tkinter` module add method ``info_patchlevel()`` which returns
the exact version of the Tcl library as a named tuple similar to
:data:`sys.version_info`.

..

.. date: 2022-04-22-13-01-20
.. gh-issue: 84461
.. nonce: rsCiTH
.. section: Library

Add :option:`--enable-wasm-pthreads` to enable pthreads support for WASM
builds. ``Emscripten/node`` no longer has threading enabled by default.
Include additional file systems.

..

.. date: 2022-04-22-08-25-18
.. gh-issue: 91821
.. nonce: XwMkj0
.. section: Library

Fix unstable ``test_from_tuple`` test in ``test_decimal.py``.

..

.. date: 2022-04-21-21-06-54
.. gh-issue: 91217
.. nonce: 2cVma_
.. section: Library

Deprecate the xdrlib module.

..

.. date: 2022-04-21-21-04-08
.. gh-issue: 91217
.. nonce: BZVEki
.. section: Library

Deprecate the uu module.

..

.. date: 2022-04-21-19-46-03
.. gh-issue: 91760
.. nonce: zDtv1E
.. section: Library

More strict rules will be applied for numerical group references and group
names in regular expressions. For now, a deprecation warning is emitted for
group references and group names which will be errors in future Python
versions.

..

.. date: 2022-04-21-11-57-23
.. gh-issue: 84461
.. nonce: S7dbt4
.. section: Library

Add provisional :data:`sys._emscripten_info` named tuple with build-time and
run-time information about Emscripten platform.

..

.. date: 2022-04-20-18-47-27
.. gh-issue: 90623
.. nonce: 5fROpX
.. section: Library

:func:`signal.raise_signal` and :func:`os.kill` now check immediately for
pending signals. Patch by Victor Stinner.

..

.. date: 2022-04-20-09-49-33
.. gh-issue: 91734
.. nonce: 4Dj4Gy
.. section: Library

Fix OSS audio support on Solaris.

..

.. date: 2022-04-19-19-50-10
.. gh-issue: 90633
.. nonce: Youov0
.. section: Library

Include the passed value in the exception thrown by
:func:`typing.assert_never`. Patch by Jelle Zijlstra.

..

.. date: 2022-04-19-17-30-17
.. gh-issue: 91700
.. nonce: MRJi6m
.. section: Library

Compilation of regular expression containing a conditional expression
``(?(group)...)`` now raises an appropriate :exc:`re.error` if the group
number refers to not defined group. Previously an internal RuntimeError was
raised.

..

.. date: 2022-04-19-15-30-06
.. gh-issue: 91231
.. nonce: AWy4Cs
.. section: Library

Add an optional keyword *shutdown_timeout* parameter to the
:class:`multiprocessing.BaseManager` constructor. Kill the process if
terminate() takes longer than the timeout. Patch by Victor Stinner.

..

.. date: 2022-04-18-18-55-21
.. gh-issue: 91621
.. nonce: ACNlda
.. section: Library

Fix :func:`typing.get_type_hints` for :class:`collections.abc.Callable`.
Patch by Shantanu Jain.

..

.. date: 2022-04-18-16-31-33
.. gh-issue: 90568
.. nonce: 9kiU7o
.. section: Library

Parsing ``\N`` escapes of Unicode Named Character Sequences in a
:mod:`regular expression <re>` raises now :exc:`re.error` instead of
``TypeError``.

..

.. date: 2022-04-18-15-23-24
.. gh-issue: 91670
.. nonce: 6eyChw
.. section: Library

Remove deprecated ``SO`` config variable in :mod:`sysconfig`.

..

.. date: 2022-04-17-12-41-52
.. gh-issue: 91217
.. nonce: 3wnHSX
.. section: Library

Deprecate the telnetlib module.

..

.. date: 2022-04-17-12-38-31
.. gh-issue: 91217
.. nonce: 55714p
.. section: Library

Deprecate the sunau module.

..

.. date: 2022-04-17-12-32-40
.. gh-issue: 91217
.. nonce: ms49Rg
.. section: Library

Deprecate the spwd module.

..

.. date: 2022-04-17-12-27-46
.. gh-issue: 91217
.. nonce: tNDWtK
.. section: Library

Deprecate the sndhdr module, as well as inline needed functionality for
``email.mime.MIMEAudio``.

..

.. date: 2022-04-17-12-27-25
.. gh-issue: 91616
.. nonce: gSQg69
.. section: Library

:mod:`re` module, fix :meth:`~re.Pattern.fullmatch` mismatch when using
Atomic Grouping or Possessive Quantifiers.

..

.. date: 2022-04-17-12-07-50
.. gh-issue: 91217
.. nonce: TIvrsq
.. section: Library

Deprecate the 'pipes' module.

..

.. date: 2022-04-17-11-56-17
.. gh-issue: 91217
.. nonce: McJre3
.. section: Library

Deprecate the ossaudiodev module.

..

.. bpo: 47256
.. date: 2022-04-16-11-39-59
.. nonce: 1cygyd
.. section: Library

:mod:`re` module, limit the maximum capturing group to 1,073,741,823 in
64-bit build, this increases the depth of backtracking.

..

.. date: 2022-04-16-09-33-14
.. gh-issue: 91217
.. nonce: nt9JFs
.. section: Library

Deprecate the nis module.

..

.. date: 2022-04-16-05-12-13
.. gh-issue: 91595
.. nonce: CocJBv
.. section: Library

Fix the comparison of character and integer inside
:func:`Tools.gdb.libpython.write_repr`. Patch by Yu Liu.

..

.. date: 2022-04-15-20-56-31
.. gh-issue: 74166
.. nonce: 70KlvL
.. section: Library

Add option to raise all errors from :meth:`~socket.create_connection` in an
:exc:`ExceptionGroup` when it fails to create a connection. The default
remains to raise only the last error that had occurred when multiple
addresses were tried.

..

.. date: 2022-04-15-19-34-02
.. gh-issue: 91487
.. nonce: 2aqguF
.. section: Library

Optimize asyncio UDP speed, over 100 times faster when transferring a large
file.

..

.. date: 2022-04-15-18-38-21
.. gh-issue: 91575
.. nonce: fSyAxS
.. section: Library

Update case-insensitive matching in the :mod:`re` module to the latest
Unicode version.

..

.. date: 2022-04-15-18-32-38
.. gh-issue: 90622
.. nonce: WQjFDe
.. section: Library

In ``concurrent.futures.process.ProcessPoolExecutor`` disallow the "fork"
multiprocessing start method when the new ``max_tasks_per_child`` feature is
used as the mix of threads+fork can hang the child processes. Default to
using the safe "spawn" start method in that circumstance if no
``mp_context`` was supplied.

..

.. date: 2022-04-15-17-06-09
.. gh-issue: 89022
.. nonce: DgdQCa
.. section: Library

In :mod:`sqlite3`, ``SQLITE_MISUSE`` result codes are now mapped to
:exc:`~sqlite3.InterfaceError` instead of :exc:`~sqlite3.ProgrammingError`.
Also, more accurate exceptions are raised when binding parameters fail.
Patch by Erlend E. Aasland.

..

.. date: 2022-04-14-18-06-00
.. gh-issue: 91526
.. nonce: cwfhSB
.. section: Library

Stop calling ``os.device_encoding(file.fileno())`` in
:class:`TextIOWrapper`. It was complex, never documented, and didn't work
for most cases. (Patch by Inada Naoki.)

..

.. date: 2022-04-14-13-11-37
.. gh-issue: 88116
.. nonce: j_SybE
.. section: Library

Change the frame-related functions in the :mod:`inspect` module to return a
regular object (that is backwards compatible with the old tuple-like
interface) that include the extended :pep:`657` position information (end
line number, column and end column). The affected functions are:
:func:`inspect.getframeinfo`, :func:`inspect.getouterframes`,
:func:`inspect.getinnerframes`, :func:`inspect.stack` and
:func:`inspect.trace`. Patch by Pablo Galindo.

..

.. date: 2022-04-14-01-00-31
.. gh-issue: 69093
.. nonce: bmlMwI
.. section: Library

Add indexing and slicing support to :class:`sqlite3.Blob`. Patch by Aviv
Palivoda and Erlend E. Aasland.

..

.. date: 2022-04-14-00-59-01
.. gh-issue: 69093
.. nonce: bmlMwI
.. section: Library

Add :term:`context manager` support to :class:`sqlite3.Blob`. Patch by Aviv
Palivoda and Erlend E. Aasland.

..

.. date: 2022-04-12-20-19-10
.. gh-issue: 91217
.. nonce: acd4h9
.. section: Library

Deprecate nntplib.

..

.. date: 2022-04-12-19-42-20
.. gh-issue: 91217
.. nonce: b9_Rz9
.. section: Library

Deprecate msilib.

..

.. date: 2022-04-12-19-08-13
.. gh-issue: 91404
.. nonce: zjqYHo
.. section: Library

Improve the performance of :mod:`re` matching by using computed gotos (or
"threaded code") on supported platforms and removing expensive pointer
indirections.

..

.. date: 2022-04-11-17-04-38
.. gh-issue: 91217
.. nonce: QVDLOq
.. section: Library

Deprecate the imghdr module.

..

.. date: 2022-04-11-16-13-26
.. gh-issue: 91217
.. nonce: 2rf8rc
.. section: Library

Deprecate the crypt module.

..

.. date: 2022-04-11-13-07-30
.. gh-issue: 91276
.. nonce: Vttu15
.. section: Library

Make space for longer opcodes in :mod:`dis` output.

..

.. bpo: 47000
.. date: 2022-04-10-17-50-18
.. nonce: JlQkFx
.. section: Library

Make :class:`TextIOWrapper` uses locale encoding when ``encoding="locale"``
is specified even in UTF-8 mode.

..

.. date: 2022-04-10-17-12-23
.. gh-issue: 91230
.. nonce: T1d_fG
.. section: Library

:func:`warnings.catch_warnings` now accepts arguments for
:func:`warnings.simplefilter`, providing a more concise way to locally
ignore warnings or convert them to errors.

..

.. date: 2022-04-10-11-11-33
.. gh-issue: 91217
.. nonce: K82AuH
.. section: Library

Deprecate the chunk module.

..

.. gh: 91498
.. date: 2022-04-10-08-39-44
.. nonce: 8oII92
.. section: Library

Add the ``TCP_CONNECTION_INFO`` option (available on macOS) to
:mod:`socket`.

..

.. bpo: 47260
.. date: 2022-04-08-14-30-53
.. nonce: TtcNxI
.. section: Library

Fix ``os.closerange()`` potentially being a no-op in a Linux seccomp
sandbox.

..

.. bpo: 47087
.. date: 2022-04-08-08-55-36
.. nonce: Q5C3EI
.. section: Library

Implement ``typing.Required`` and ``typing.NotRequired`` (:pep:`655`). Patch
by David Foster and Jelle Zijlstra.

..

.. bpo: 47061
.. date: 2022-04-07-20-32-47
.. nonce: TOufgh
.. section: Library

Deprecate cgi and cgitb.

..

.. bpo: 47061
.. date: 2022-04-06-18-01-28
.. nonce: qoVTR9
.. section: Library

Deprecate audioop.

..

.. bpo: 47000
.. date: 2022-04-06-11-54-53
.. nonce: 2nmAR1
.. section: Library

Add :func:`locale.getencoding` to get the current locale encoding. It is
similar to ``locale.getpreferredencoding(False)`` but ignores the
:ref:`Python UTF-8 Mode <utf8-mode>`.

..

.. bpo: 42012
.. date: 2022-04-05-17-18-13
.. nonce: zMocQz
.. section: Library

Add :mod:`wsgiref.types`, containing WSGI-specific types for static type
checking.

..

.. bpo: 47227
.. date: 2022-04-05-15-53-58
.. nonce: 1HWdp9
.. section: Library

Suppress expression chaining for more :mod:`re` parsing errors.

..

.. bpo: 47211
.. date: 2022-04-04-11-58-07
.. nonce: W4GFkB
.. section: Library

Remove undocumented and never working function ``re.template()`` and flag
``re.TEMPLATE``.
This was later reverted in 3.11.0b2 and deprecated instead.

..

.. bpo: 47135
.. date: 2022-04-01-21-44-00
.. nonce: TvkKB-
.. section: Library

:meth:`decimal.localcontext` now accepts context attributes via keyword
arguments

..

.. bpo: 43323
.. date: 2022-03-27-12-40-16
.. nonce: 9mFPuI
.. section: Library

Fix errors in the :mod:`email` module if the charset itself contains
undecodable/unencodable characters.

..

.. bpo: 46841
.. date: 2022-03-25-22-18-45
.. nonce: NUEsXW
.. section: Library

Disassembly of quickened code.

..

.. bpo: 46681
.. date: 2022-03-21-13-50-07
.. nonce: RRhopn
.. section: Library

Forward gzip.compress() compresslevel to zlib.

..

.. bpo: 45100
.. date: 2022-03-06-18-15-32
.. nonce: B_lHu0
.. section: Library

Add :func:`typing.get_overloads` and :func:`typing.clear_overloads`. Patch
by Jelle Zijlstra.

..

.. bpo: 44807
.. date: 2022-03-02-04-25-58
.. nonce: gHNC9J
.. section: Library

:class:`typing.Protocol` no longer silently replaces :meth:`__init__`
methods defined on subclasses. Patch by Adrian Garcia Badaracco.

..

.. bpo: 46787
.. date: 2022-02-18-20-09-29
.. nonce: juwWc0
.. section: Library

Fix :class:`concurrent.futures.ProcessPoolExecutor` exception memory leak

..

.. bpo: 46720
.. date: 2022-02-11-23-11-35
.. nonce: nY8spB
.. section: Library

Add support for path-like objects to :func:`multiprocessing.set_executable`
for Windows to be on a par with Unix-like systems. Patch by Géry Ogam.

..

.. bpo: 46696
.. date: 2022-02-09-21-40-02
.. nonce: nPXRno
.. section: Library

Add ``SO_INCOMING_CPU`` constant to :mod:`socket`.

..

.. bpo: 46053
.. date: 2022-02-06-12-59-32
.. nonce: sHFo3S
.. section: Library

Fix OSS audio support on NetBSD.

..

.. bpo: 45639
.. date: 2022-02-02-04-51-39
.. nonce: N8XrGO
.. section: Library

``image/avif`` and ``image/webp`` were added to :mod:`mimetypes`.

..

.. bpo: 46285
.. date: 2022-01-29-00-23-00
.. nonce: pt84qm
.. section: Library

Add command-line option ``-p``/``--protocol`` to module :mod:`http.server`
which specifies the HTTP version to which the server is conformant (HTTP/1.1
conformant servers can now be run from the command-line interface of module
:mod:`http.server`). Patch by Géry Ogam.

..

.. bpo: 44791
.. date: 2022-01-27-14-46-15
.. nonce: tR1JFG
.. section: Library

Accept ellipsis as the last argument of :data:`typing.Concatenate`.

..

.. bpo: 46547
.. date: 2022-01-27-14-41-55
.. nonce: JMyYz9
.. section: Library

Remove variables leaking into ``pydoc.Helper`` class namespace.

..

.. bpo: 46415
.. date: 2022-01-17-16-53-30
.. nonce: 6wSYg-
.. section: Library

Fix ipaddress.ip_{address,interface,network} raising TypeError instead of
ValueError if given invalid tuple as address parameter.

..

.. bpo: 46075
.. date: 2021-12-14-21-19-04
.. nonce: KDtcU-
.. section: Library

``CookieJar`` with ``DefaultCookiePolicy`` now can process cookies from
localhost with domain=localhost explicitly specified in Set-Cookie header.

..

.. bpo: 45995
.. date: 2021-12-14-13-15-41
.. nonce: Am9pNL
.. section: Library

Add a "z" option to the string formatting specification that coerces
negative zero floating-point values to positive zero after rounding to the
format precision.  Contributed by John Belmonte.

..

.. bpo: 26175
.. date: 2021-11-14-01-35-04
.. nonce: LNlOfI
.. section: Library

Fully implement the :class:`io.BufferedIOBase` or :class:`io.TextIOBase`
interface for :class:`tempfile.SpooledTemporaryFile` objects. This lets them
work correctly with higher-level layers (like compression modules). Patch by
Carey Metcalfe.

..

.. bpo: 45138
.. date: 2021-09-08-16-21-03
.. nonce: yghUrK
.. section: Library

Fix a regression in the :mod:`sqlite3` trace callback where bound parameters
were not expanded in the passed statement string. The regression was
introduced in Python 3.10 by :issue:`40318`. Patch by Erlend E. Aasland.

..

.. bpo: 44863
.. date: 2021-09-03-07-56-48
.. nonce: udgz95
.. section: Library

Allow :class:`~typing.TypedDict` subclasses to also include
:class:`~typing.Generic` as a base class in class based syntax. Thereby
allowing the user to define a generic ``TypedDict``, just like a
user-defined generic but with ``TypedDict`` semantics.

..

.. bpo: 44587
.. date: 2021-08-17-21-41-39
.. nonce: 57OKSz
.. section: Library

Fix BooleanOptionalAction to not automatically add a default string.  If a
default string is desired, use a formatter to add it.

..

.. bpo: 43827
.. date: 2021-04-16-17-32-44
.. nonce: uJaXdP
.. section: Library

All positional-or-keyword parameters to ``ABCMeta.__new__`` are now
positional-only to avoid conflicts with keyword arguments to be passed to
:meth:`__init_subclass__`.

..

.. bpo: 43218
.. date: 2021-02-14-20-55-53
.. nonce: VZv2M4
.. section: Library

Prevent creation of a venv whose path contains the PATH separator. This
could affect the usage of the activate script. Patch by Dustin Rodrigues.

..

.. bpo: 38435
.. date: 2020-12-24-19-11-53
.. nonce: rEHTAR
.. section: Library

Add a ``process_group`` parameter to :class:`subprocess.Popen` to help move
more things off of the unsafe ``preexec_fn`` parameter.

..

.. bpo: 42066
.. date: 2020-10-19-08-50-41
.. nonce: DsB-R6
.. section: Library

Fix cookies getting sorted in :func:`CookieJar.__iter__` which is an extra
behavior and not mentioned in RFC 2965 or Netscape cookie protocol. Now the
cookies in ``CookieJar`` follows the order of the ``Set-Cookie`` header.
Patch by Iman Kermani.

..

.. bpo: 40617
.. date: 2020-05-24-23-52-03
.. nonce: lycF9q
.. section: Library

Add :meth:`~sqlite3.Connection.create_window_function` to
:class:`sqlite3.Connection` for creating aggregate window functions. Patch
by Erlend E. Aasland.

..

.. bpo: 40676
.. date: 2020-05-19-01-40-51
.. nonce: yJfq1J
.. section: Library

Convert :mod:`csv` to use Argument Clinic for :func:`csv.field_size_limit`,
:func:`csv.get_dialect`, :func:`csv.unregister_dialect` and
:func:`csv.list_dialects`.

..

.. bpo: 39716
.. date: 2020-02-22-12-02-11
.. nonce: z2WhDQ
.. section: Library

Raise an ``ArgumentError`` when the same subparser name is added twice to an
``argparse.ArgumentParser``.  This is consistent with the (default) behavior
when the same option string is added twice to an ``ArgumentParser``.

..

.. bpo: 36073
.. date: 2019-06-22-11-01-45
.. nonce: ED8mB9
.. section: Library

Raise :exc:`~sqlite3.ProgrammingError` instead of segfaulting on recursive
usage of cursors in :mod:`sqlite3` converters. Patch by Sergey Fedoseev.

..

.. bpo: 34975
.. date: 2019-05-06-23-36-34
.. nonce: eb49jr
.. section: Library

Adds a ``start_tls()`` method to :class:`~asyncio.streams.StreamWriter`,
which upgrades the connection with TLS using the given
:class:`~ssl.SSLContext`.

..

.. bpo: 22276
.. date: 2018-11-11-04-41-11
.. nonce: Tt19TW
.. section: Library

:class:`~pathlib.Path` methods :meth:`~pathlib.Path.glob` and
:meth:`~pathlib.Path.rglob` return only directories if *pattern* ends with a
pathname components separator (``/`` or :data:`~os.sep`). Patch by Eisuke
Kawashima.

..

.. bpo: 24905
.. date: 2018-04-18-16-15-55
.. nonce: jYqjYx
.. section: Library

Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`.
:class:`sqlite3.Blob` allows incremental I/O operations on blobs. Patch by
Aviv Palivoda and Erlend E. Aasland.

..

.. date: 2022-04-24-22-09-31
.. gh-issue: 91888
.. nonce: kTjJLx
.. section: Documentation

Add a new ``gh`` role to the documentation to link to GitHub issues.

..

.. date: 2022-04-23-00-22-54
.. gh-issue: 91783
.. nonce: N09dRR
.. section: Documentation

Document security issues concerning the use of the function
:meth:`shutil.unpack_archive`

..

.. date: 2022-04-19-20-16-00
.. gh-issue: 91547
.. nonce: LsNWER
.. section: Documentation

Remove "Undocumented modules" page.

..

.. date: 2022-04-17-03-19-51
.. gh-issue: 91298
.. nonce: NT9qHi
.. section: Documentation

In ``importlib.resources.abc``, refined the documentation of the Traversable
Protocol, applying changes from importlib_resources 5.7.1.

..

.. bpo: 44347
.. date: 2022-04-10-20-28-20
.. nonce: Q1m3DM
.. section: Documentation

Clarify the meaning of *dirs_exist_ok*, a kwarg of :func:`shutil.copytree`.

..

.. bpo: 36329
.. date: 2022-04-06-11-53-41
.. nonce: EVtAtK
.. section: Documentation

Remove 'make -C Doc serve' in favour of 'make -C Doc htmlview'

..

.. bpo: 47189
.. date: 2022-04-01-23-56-13
.. nonce: Nss0Y3
.. section: Documentation

Add a What's New in Python 3.11 entry for the Faster CPython project.
Documentation by Ken Jin and Kumar Aditya.

..

.. bpo: 38668
.. date: 2022-04-01-09-28-31
.. nonce: j4mrqW
.. section: Documentation

Update the introduction to documentation for :mod:`os.path` to remove
warnings that became irrelevant after the implementations of :pep:`383` and
:pep:`529`.

..

.. bpo: 47115
.. date: 2022-03-30-17-08-12
.. nonce: R3wt3i
.. section: Documentation

The documentation now lists which members of C structs are part of the
:ref:`Limited API/Stable ABI <stable>`.

..

.. bpo: 46962
.. date: 2022-03-08-22-10-38
.. nonce: FIVe9I
.. section: Documentation

All docstrings in code snippets are now wrapped into :c:macro:`PyDoc_STR` to
follow the guideline of `PEP 7's Documentation Strings paragraph
<https://www.python.org/dev/peps/pep-0007/#documentation-strings>`_. Patch
by Oleg Iarygin.

..

.. bpo: 26792
.. date: 2022-01-23-20-44-53
.. nonce: dQ1v1W
.. section: Documentation

Improve the docstrings of :func:`runpy.run_module` and
:func:`runpy.run_path`. Original patch by Andrew Brezovsky.

..

.. date: 2022-05-02-20-57-04
.. gh-issue: 92169
.. nonce: Xi4NGV
.. section: Tests

Use ``warnings_helper.import_deprecated()`` to import deprecated modules
uniformly in tests. Patch by Hugo van Kemenade.

..

.. date: 2022-05-02-20-15-54
.. gh-issue: 84461
.. nonce: DhxllI
.. section: Tests

When multiprocessing is enabled, libregrtest can now use a Python executable
other than :code:`sys.executable` via the ``--python`` flag.

..

.. date: 2022-04-25-11-16-36
.. gh-issue: 91904
.. nonce: 13Uvrz
.. section: Tests

Fix initialization of :envvar:`PYTHONREGRTEST_UNICODE_GUARD` which prevented
running regression tests on non-UTF-8 locale.

..

.. date: 2022-04-22-19-00-00
.. gh-issue: 91752
.. nonce: Ji27dd
.. section: Tests

Added @requires_zlib to test.test_tools.test_freeze.TestFreeze.

..

.. date: 2022-04-16-17-54-05
.. gh-issue: 91607
.. nonce: FnXjtW
.. section: Tests

Fix ``test_concurrent_futures`` to test the correct multiprocessing start
method context in several cases where the test logic mixed this up.

..

.. bpo: 40280
.. date: 2022-04-06-10-16-27
.. nonce: KT5Apg
.. section: Tests

Threading tests are now skipped on WASM targets without pthread support.

..

.. bpo: 47109
.. date: 2022-03-24-13-35-01
.. nonce: FjKQCE
.. section: Tests

Test for :mod:`ctypes.macholib.dyld`, :mod:`ctypes.macholib.dylib`, and
:mod:`ctypes.macholib.framework` are brought from manual pre-:mod:`unittest`
times to :mod:`ctypes.test` location and structure. Patch by Oleg Iarygin.

..

.. bpo: 29890
.. date: 2022-01-24-21-31-09
.. nonce: zEG-ra
.. section: Tests

Add tests for :class:`ipaddress.IPv4Interface` and
:class:`ipaddress.IPv6Interface` construction with tuple arguments. Original
patch and tests by louisom.

..

.. date: 2022-05-03-03-36-47
.. gh-issue: 89452
.. nonce: NIY0fF
.. section: Build

gdbm-compat is now preferred over ndbm if both are available on the system.
This allows avoiding the problematic ndbm.h on macOS.

..

.. date: 2022-04-20-11-14-51
.. gh-issue: 91731
.. nonce: zRoPcJ
.. section: Build

Python is now built with ``-std=c11`` compiler option, rather than
``-std=c99``. Patch by Victor Stinner.

..

.. bpo: 47152
.. date: 2022-04-10-16-33-31
.. nonce: TLkxKm
.. section: Build

Add script and make target for generating ``sre_constants.h``.

..

.. bpo: 47103
.. date: 2022-03-23-20-01-16
.. nonce: b4-00F
.. section: Build

Windows ``PGInstrument`` builds now copy a required DLL into the output
directory, making it easier to run the profile stage of a PGO build.

..

.. bpo: 46907
.. date: 2022-04-27-19-36-56
.. nonce: lfurlP
.. section: Windows

Update Windows installer to use SQLite 3.38.3.

..

.. bpo: 47239
.. date: 2022-04-06-15-16-37
.. nonce: B1HP7i
.. section: Windows

Fixed --list and --list-paths output for :ref:`launcher` when used in an
active virtual environment.

..

.. bpo: 46907
.. date: 2022-03-28-07-01-31
.. nonce: Ou3G6Z
.. section: Windows

Update Windows installer to use SQLite 3.38.2.

..

.. bpo: 46785
.. date: 2022-03-13-20-35-41
.. nonce: Pnknyl
.. section: Windows

Fix race condition between :func:`os.stat` and unlinking a file on Windows,
by using errors codes returned by ``FindFirstFileW()`` when appropriate in
``win32_xstat_impl``.

..

.. bpo: 40859
.. date: 2020-06-04-10-42-04
.. nonce: isKSw7
.. section: Windows

Update Windows build to use xz-5.2.5

..

.. bpo: 46907
.. date: 2022-05-05-06-21-39
.. nonce: dkgFPk
.. section: macOS

Update macOS installer to SQLite 3.38.4.

..

.. date: 2022-04-20-14-26-14
.. gh-issue: 91583
.. nonce: 200qI0
.. section: Tools/Demos

Fix regression in the code generated by Argument Clinic for functions with
the ``defining_class`` parameter.

..

.. date: 2022-04-18-12-52-16
.. gh-issue: 91575
.. nonce: fK1TEh
.. section: Tools/Demos

Add script ``Tools/scripts/generate_re_casefix.py`` and the make target
``regen-re`` for generating additional data for case-insensitive matching
according to the current Unicode version.

..

.. date: 2022-04-14-18-11-46
.. gh-issue: 91551
.. nonce: l_nNT-
.. section: Tools/Demos

Remove the ancient Pynche color editor.  It has moved to
https://gitlab.com/warsaw/pynche

..

.. date: 2022-05-06-04-55-17
.. gh-issue: 88279
.. nonce: 3mQ54t
.. section: C API

Deprecate the C functions: :c:func:`!PySys_SetArgv`,
:c:func:`!PySys_SetArgvEx`, :c:func:`!PySys_SetPath`. Patch by Victor Stinner.

..

.. date: 2022-05-03-20-08-35
.. gh-issue: 92154
.. nonce: IqMcAJ
.. section: C API

Added the :c:func:`PyCode_GetCode` function. This function does the
equivalent of the Python code ``getattr(code_object, 'co_code')``.

..

.. date: 2022-05-02-12-39-33
.. gh-issue: 92173
.. nonce: len2Is
.. section: C API

Fix the ``closure`` argument to :c:func:`PyEval_EvalCodeEx`.

..

.. date: 2022-04-26-16-51-31
.. gh-issue: 91320
.. nonce: QDHmTv
.. section: C API

Fix C++ compiler warnings about "old-style cast" (``g++ -Wold-style-cast``)
in the Python C API. Use C++ ``reinterpret_cast<>`` and ``static_cast<>``
casts when the Python C API is used in C++. Patch by Victor Stinner.

..

.. date: 2022-04-21-23-11-35
.. gh-issue: 80527
.. nonce: Cx-95G
.. section: C API

Mark functions as deprecated by :pep:`623`: :c:func:`!PyUnicode_AS_DATA`,
:c:func:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_GET_DATA_SIZE`,
:c:func:`!PyUnicode_GET_SIZE`. Patch by Victor Stinner.

..

.. date: 2022-04-21-01-48-22
.. gh-issue: 91768
.. nonce: x_aKzv
.. section: C API

:c:func:`Py_REFCNT`, :c:func:`Py_TYPE`, :c:func:`Py_SIZE` and
:c:func:`Py_IS_TYPE` functions argument type is now ``PyObject*``, rather
than ``const PyObject*``. Patch by Victor Stinner.

..

.. date: 2022-04-19-17-05-39
.. gh-issue: 91020
.. nonce: BVJ8F3
.. section: C API

Add ``PyBytes_Type.tp_alloc`` to initialize ``PyBytesObject.ob_shash`` for
bytes subclasses.

..

.. bpo: 40421
.. date: 2022-04-08-11-29-36
.. nonce: H0ORmT
.. section: C API

Add ``PyFrame_GetLasti`` C-API function to access frame object's ``f_lasti``
attribute safely from C code.

..

.. bpo: 35134
.. date: 2022-04-07-00-53-51
.. nonce: zSjIzk
.. section: C API

Remove the ``Include/code.h`` header file. C extensions should only include
the main ``<Python.h>`` header file. Patch by Victor Stinner.

..

.. bpo: 47169
.. date: 2022-04-06-16-54-39
.. nonce: EGzX4B
.. section: C API

:c:func:`PyOS_CheckStack` is now exported in the Stable ABI on Windows.

..

.. bpo: 47169
.. date: 2022-04-06-16-29-14
.. nonce: wVv2bT
.. section: C API

:c:func:`PyThread_get_thread_native_id` is excluded from the stable ABI on
platforms where it doesn't exist (like Solaris).

..

.. bpo: 46343
.. date: 2022-01-11-12-52-37
.. nonce: JQJWhZ
.. section: C API

Added :c:func:`PyErr_GetHandledException` and
:c:func:`PyErr_SetHandledException` as simpler alternatives to
:c:func:`PyErr_GetExcInfo` and :c:func:`PyErr_SetExcInfo`.

They are included in the stable ABI.
