cpython/Misc/NEWS.d/3.11.0b1.rst

2147 lines
45 KiB
ReStructuredText
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. 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 Dong-hee 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 :data:`signal.NSIG` value on FreeBSD to accept signal numbers greater
than 32, like :data:`signal.SIGRTMIN` and :data:`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 :func:`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.