Python 3.12.0a6

This commit is contained in:
Thomas Wouters 2023-03-07 22:41:50 +01:00
parent a33ca2ad1f
commit f9774e57d8
83 changed files with 864 additions and 229 deletions

View File

@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 12
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 5
#define PY_RELEASE_SERIAL 6
/* Version as a string */
#define PY_VERSION "3.12.0a5+"
#define PY_VERSION "3.12.0a6"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Tue Feb 7 13:18:04 2023
# Autogenerated by Sphinx on Tue Mar 7 22:42:28 2023
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -2499,42 +2499,33 @@ topics = {'assert': 'The "assert" statement\n'
'alive\n'
'until the next garbage collection occurs.\n'
'\n'
'Before an "except" clauses suite is executed, details about '
'the\n'
'exception are stored in the "sys" module and can be accessed '
'via\n'
'"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting '
'of the\n'
'exception class, the exception instance and a traceback object '
'(see\n'
'section The standard type hierarchy) identifying the point in '
'the\n'
'program where the exception occurred. The details about the '
'exception\n'
'accessed via "sys.exc_info()" are restored to their previous '
'values\n'
'when leaving an exception handler:\n'
'Before an "except" clauses suite is executed, the exception is '
'stored\n'
'in the "sys" module, where it can be accessed from within the '
'body of\n'
'the "except" clause by calling "sys.exception()". When leaving '
'an\n'
'exception handler, the exception stored in the "sys" module is '
'reset\n'
'to its previous value:\n'
'\n'
' >>> print(sys.exc_info())\n'
' (None, None, None)\n'
' >>> print(sys.exception())\n'
' None\n'
' >>> try:\n'
' ... raise TypeError\n'
' ... except:\n'
' ... print(sys.exc_info())\n'
' ... print(repr(sys.exception()))\n'
' ... try:\n'
' ... raise ValueError\n'
' ... except:\n'
' ... print(sys.exc_info())\n'
' ... print(sys.exc_info())\n'
' ... print(repr(sys.exception()))\n'
' ... print(repr(sys.exception()))\n'
' ...\n'
" (<class 'TypeError'>, TypeError(), <traceback object at "
'0x10efad080>)\n'
" (<class 'ValueError'>, ValueError(), <traceback object at "
'0x10efad040>)\n'
" (<class 'TypeError'>, TypeError(), <traceback object at "
'0x10efad080>)\n'
' >>> print(sys.exc_info())\n'
' (None, None, None)\n'
' TypeError()\n'
' ValueError()\n'
' TypeError()\n'
' >>> print(sys.exception())\n'
' None\n'
'\n'
'\n'
'"except*" clause\n'
@ -4533,7 +4524,7 @@ topics = {'assert': 'The "assert" statement\n'
'objects and\n'
' implements an "__eq__()" method, it should not '
'implement\n'
' "__hash__()", since the implementation of hashable '
' "__hash__()", since the implementation of *hashable* '
'collections\n'
' requires that a keys hash value is immutable (if the '
'objects hash\n'
@ -9453,7 +9444,7 @@ topics = {'assert': 'The "assert" statement\n'
' hashable collections. If a class defines mutable objects '
'and\n'
' implements an "__eq__()" method, it should not implement\n'
' "__hash__()", since the implementation of hashable '
' "__hash__()", since the implementation of *hashable* '
'collections\n'
' requires that a keys hash value is immutable (if the '
'objects hash\n'
@ -12644,37 +12635,31 @@ topics = {'assert': 'The "assert" statement\n'
'cycle with the stack frame, keeping all locals in that frame alive\n'
'until the next garbage collection occurs.\n'
'\n'
'Before an "except" clauses suite is executed, details about the\n'
'exception are stored in the "sys" module and can be accessed via\n'
'"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting of '
'the\n'
'exception class, the exception instance and a traceback object (see\n'
'section The standard type hierarchy) identifying the point in the\n'
'program where the exception occurred. The details about the '
'exception\n'
'accessed via "sys.exc_info()" are restored to their previous values\n'
'when leaving an exception handler:\n'
'Before an "except" clauses suite is executed, the exception is '
'stored\n'
'in the "sys" module, where it can be accessed from within the body '
'of\n'
'the "except" clause by calling "sys.exception()". When leaving an\n'
'exception handler, the exception stored in the "sys" module is reset\n'
'to its previous value:\n'
'\n'
' >>> print(sys.exc_info())\n'
' (None, None, None)\n'
' >>> print(sys.exception())\n'
' None\n'
' >>> try:\n'
' ... raise TypeError\n'
' ... except:\n'
' ... print(sys.exc_info())\n'
' ... print(repr(sys.exception()))\n'
' ... try:\n'
' ... raise ValueError\n'
' ... except:\n'
' ... print(sys.exc_info())\n'
' ... print(sys.exc_info())\n'
' ... print(repr(sys.exception()))\n'
' ... print(repr(sys.exception()))\n'
' ...\n'
" (<class 'TypeError'>, TypeError(), <traceback object at "
'0x10efad080>)\n'
" (<class 'ValueError'>, ValueError(), <traceback object at "
'0x10efad040>)\n'
" (<class 'TypeError'>, TypeError(), <traceback object at "
'0x10efad080>)\n'
' >>> print(sys.exc_info())\n'
' (None, None, None)\n'
' TypeError()\n'
' ValueError()\n'
' TypeError()\n'
' >>> print(sys.exception())\n'
' None\n'
'\n'
'\n'
'"except*" clause\n'
@ -14408,7 +14393,7 @@ topics = {'assert': 'The "assert" statement\n'
' New in version 3.10.\n'
'\n'
'Keys views are set-like since their entries are unique and '
'hashable.\n'
'*hashable*.\n'
'If all values are hashable, so that "(key, value)" pairs are '
'unique\n'
'and hashable, then the items view is also set-like. (Values '

821
Misc/NEWS.d/3.12.0a6.rst Normal file
View File

@ -0,0 +1,821 @@
.. date: 2023-02-17-10-42-48
.. gh-issue: 99108
.. nonce: MKA8-f
.. release date: 2023-03-07
.. section: Security
Replace builtin hashlib implementations of MD5 and SHA1 with verified ones
from the HACL* project.
..
.. date: 2023-02-08-22-03-04
.. gh-issue: 101727
.. nonce: 9P5eZz
.. section: Security
Updated the OpenSSL version used in Windows and macOS binary release builds
to 1.1.1t to address CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 per
`the OpenSSL 2023-02-07 security advisory
<https://www.openssl.org/news/secadv/20230207.txt>`_.
..
.. date: 2023-02-08-12-57-35
.. gh-issue: 99108
.. nonce: 6tnmhA
.. section: Security
Replace the builtin :mod:`hashlib` implementations of SHA2-384 and SHA2-512
originally from LibTomCrypt with formally verified, side-channel resistant
code from the `HACL* <https://github.com/hacl-star/hacl-star/>`_ project.
The builtins remain a fallback only used when OpenSSL does not provide them.
..
.. date: 2023-01-24-16-12-00
.. gh-issue: 101283
.. nonce: 9tqu39
.. section: Security
:class:`subprocess.Popen` now uses a safer approach to find ``cmd.exe`` when
launching with ``shell=True``. Patch by Eryk Sun, based on a patch by Oleg
Iarygin.
..
.. date: 2023-03-07-16-56-28
.. gh-issue: 102493
.. nonce: gTXrcD
.. section: Core and Builtins
Fix regression in semantics of normalisation in ``PyErr_SetObject``.
..
.. date: 2023-03-06-13-05-33
.. gh-issue: 102416
.. nonce: dz6K5f
.. section: Core and Builtins
Do not memoize incorrectly automatically generated loop rules in the parser.
Patch by Pablo Galindo.
..
.. date: 2023-03-04-20-56-12
.. gh-issue: 102356
.. nonce: 07KvUd
.. section: Core and Builtins
Fix a bug that caused a crash when deallocating deeply nested filter
objects. Patch by Marta Gómez Macías.
..
.. date: 2023-02-28-21-17-03
.. gh-issue: 102336
.. nonce: -wL3Tm
.. section: Core and Builtins
Cleanup Windows 7 specific special handling. Patch by Max Bachmann.
..
.. date: 2023-02-26-23-10-32
.. gh-issue: 102250
.. nonce: 7MUKoC
.. section: Core and Builtins
Fixed a segfault occurring when the interpreter calls a ``__bool__`` method
that raises.
..
.. date: 2023-02-24-17-59-39
.. gh-issue: 102126
.. nonce: HTT8Vc
.. section: Core and Builtins
Fix deadlock at shutdown when clearing thread states if any finalizer tries
to acquire the runtime head lock. Patch by Kumar Aditya.
..
.. date: 2023-02-22-15-15-32
.. gh-issue: 102027
.. nonce: Km4G-d
.. section: Core and Builtins
Use ``GetCurrentProcessId`` on Windows when ``getpid`` is unavailable. Patch
by Max Bachmann.
..
.. date: 2023-02-20-15-18-33
.. gh-issue: 102056
.. nonce: uHKuwH
.. section: Core and Builtins
Fix error handling bugs in interpreter's exception printing code, which
could cause a crash on infinite recursion.
..
.. date: 2023-02-17-10-12-13
.. gh-issue: 100982
.. nonce: mJGJQw
.. section: Core and Builtins
Restrict the scope of the :opcode:`FOR_ITER_RANGE` instruction to the scope
of the original :opcode:`FOR_ITER` instruction, to allow instrumentation.
..
.. date: 2023-02-16-23-19-01
.. gh-issue: 101967
.. nonce: Kqr1dz
.. section: Core and Builtins
Fix possible segfault in ``positional_only_passed_as_keyword`` function,
when new list created.
..
.. date: 2023-02-16-16-57-23
.. gh-issue: 101952
.. nonce: Zo1dlq
.. section: Core and Builtins
Fix possible segfault in ``BUILD_SET`` opcode, when new set created.
..
.. date: 2023-02-13-22-21-58
.. gh-issue: 74895
.. nonce: esMNtq
.. section: Core and Builtins
:mod:`socket.getaddrinfo` no longer raises :class:`OverflowError` for
:class:`int` **port** values outside of the C long range. Out of range
values are left up to the underlying string based C library API to report. A
:class:`socket.gaierror` ``SAI_SERVICE`` may occur instead, or no error at
all as not all platform C libraries generate an error.
..
.. date: 2023-02-13-18-21-14
.. gh-issue: 101799
.. nonce: wpHbCn
.. section: Core and Builtins
Add :opcode:`CALL_INTRINSIC_2` and use it instead of
:opcode:`PREP_RERAISE_STAR`.
..
.. date: 2023-02-12-22-40-22
.. gh-issue: 101857
.. nonce: _bribG
.. section: Core and Builtins
Fix xattr support detection on Linux systems by widening the check to linux,
not just glibc. This fixes support for musl.
..
.. date: 2023-02-11-23-14-06
.. gh-issue: 84783
.. nonce: _P5sMa
.. section: Core and Builtins
Make the slice object hashable.
..
.. date: 2023-02-10-15-54-57
.. gh-issue: 87849
.. nonce: IUVvPz
.. section: Core and Builtins
Change the ``SEND`` instruction to leave the receiver on the stack. This
allows the specialized form of ``SEND`` to skip the chain of C calls and
jump directly to the ``RESUME`` in the generator or coroutine.
..
.. date: 2023-02-10-07-21-47
.. gh-issue: 101765
.. nonce: MO5LlC
.. section: Core and Builtins
Fix SystemError / segmentation fault in iter ``__reduce__`` when internal
access of ``builtins.__dict__`` keys mutates the iter object.
..
.. date: 2023-02-10-01-15-57
.. gh-issue: 101430
.. nonce: T3Gegb
.. section: Core and Builtins
Update :mod:`tracemalloc` to handle presize of object properly. Patch by
Dong-hee Na.
..
.. date: 2023-02-08-17-13-31
.. gh-issue: 101696
.. nonce: seJhTt
.. section: Core and Builtins
Invalidate type version tag in ``_PyStaticType_Dealloc`` for static types,
avoiding bug where a false cache hit could crash the interpreter. Patch by
Kumar Aditya.
..
.. date: 2023-02-07-14-56-43
.. gh-issue: 101632
.. nonce: Fd1yxk
.. section: Core and Builtins
Adds a new :opcode:`RETURN_CONST` instruction.
..
.. date: 2023-01-04-12-49-33
.. gh-issue: 100719
.. nonce: uRPccL
.. section: Core and Builtins
Remove gi_code field from generator (and coroutine and async generator)
objects as it is redundant. The frame already includes a reference to the
code object.
..
.. date: 2022-11-02-20-23-47
.. gh-issue: 98627
.. nonce: VJkdRM
.. section: Core and Builtins
When an interpreter is configured to check (and only then), importing an
extension module will now fail when the extension does not support multiple
interpreters (i.e. doesn't implement PEP 489 multi-phase init). This does
not apply to the main interpreter, nor to subinterpreters created with
``Py_NewInterpreter()``.
..
.. date: 2023-03-04-14-46-47
.. gh-issue: 102302
.. nonce: -b_s6Z
.. section: Library
Micro-optimise hashing of :class:`inspect.Parameter`, reducing the time it
takes to hash an instance by around 40%.
..
.. date: 2023-02-28-09-52-25
.. gh-issue: 101979
.. nonce: or3hXV
.. section: Library
Fix a bug where parentheses in the ``metavar`` argument to
:meth:`argparse.ArgumentParser.add_argument` were dropped. Patch by Yeojin
Kim.
..
.. date: 2023-02-26-12-37-17
.. gh-issue: 91038
.. nonce: S4rFH_
.. section: Library
:meth:`platform.platform` now has boolean default arguments.
..
.. date: 2023-02-23-20-39-52
.. gh-issue: 81652
.. nonce: Vxz0Mr
.. section: Library
Add :data:`mmap.MAP_ALIGNED_SUPER` FreeBSD and :data:`mmap.MAP_CONCEAL`
OpenBSD constants to :mod:`mmap`. Patch by Yeojin Kim.
..
.. date: 2023-02-23-15-06-01
.. gh-issue: 102179
.. nonce: P6KQ4c
.. section: Library
Fix :func:`os.dup2` error message for negative fds.
..
.. date: 2023-02-21-10-05-33
.. gh-issue: 101961
.. nonce: 7e56jh
.. section: Library
For the binary mode, :func:`fileinput.hookcompressed` doesn't set the
``encoding`` value even if the value is ``None``. Patch by Gihwan Kim.
..
.. date: 2023-02-21-07-15-41
.. gh-issue: 101936
.. nonce: QVOxHH
.. section: Library
The default value of ``fp`` becomes :class:`io.BytesIO` if
:exc:`~urllib.error.HTTPError` is initialized without a designated ``fp``
parameter. Patch by Long Vo.
..
.. date: 2023-02-17-20-24-15
.. gh-issue: 101566
.. nonce: FjgWBt
.. section: Library
In zipfile, sync Path with `zipp 3.14
<https://zipp.readthedocs.io/en/latest/history.html#v3-14-0>`_, including
fix for extractall on the underlying zipfile after being wrapped in
``Path``.
..
.. date: 2023-02-17-19-00-58
.. gh-issue: 97930
.. nonce: C_nQjb
.. section: Library
Apply changes from `importlib_resources 5.12
<https://importlib-resources.readthedocs.io/en/latest/history.html#v5-12-0>`_,
including fix for ``MultiplexedPath`` to support directories in multiple
namespaces (python/importlib_resources#265).
..
.. date: 2023-02-17-18-44-27
.. gh-issue: 101997
.. nonce: A6_blD
.. section: Library
Upgrade pip wheel bundled with ensurepip (pip 23.0.1)
..
.. date: 2023-02-15-01-54-06
.. gh-issue: 99108
.. nonce: rjTSic
.. section: Library
The built-in extension modules for :mod:`hashlib` SHA2 algorithms, used when
OpenSSL does not provide them, now live in a single internal ``_sha2``
module instead of separate ``_sha256`` and ``_sha512`` modules.
..
.. date: 2023-02-14-09-08-48
.. gh-issue: 101892
.. nonce: FMos8l
.. section: Library
Callable iterators no longer raise :class:`SystemError` when the callable
object exhausts the iterator but forgets to either return a sentinel value
or raise :class:`StopIteration`.
..
.. date: 2023-02-13-12-55-48
.. gh-issue: 87634
.. nonce: q-SBhJ
.. section: Library
Remove locking behavior from :func:`functools.cached_property`.
..
.. date: 2023-02-11-13-23-29
.. gh-issue: 97786
.. nonce: QjvQ1B
.. section: Library
Fix potential undefined behaviour in corner cases of floating-point-to-time
conversions.
..
.. date: 2023-02-10-16-02-29
.. gh-issue: 101517
.. nonce: r7S2u8
.. section: Library
Fixed bug where :mod:`bdb` looks up the source line with :mod:`linecache`
with a ``lineno=None``, which causes it to fail with an unhandled exception.
..
.. date: 2023-02-10-11-59-13
.. gh-issue: 101773
.. nonce: J_kI7y
.. section: Library
Optimize :class:`fractions.Fraction` for small components. The private
argument ``_normalize`` of the :class:`fractions.Fraction` constructor has
been removed.
..
.. date: 2023-02-08-18-20-58
.. gh-issue: 101693
.. nonce: 4_LPXj
.. section: Library
In :meth:`sqlite3.Cursor.execute`, :exc:`DeprecationWarning` is now emitted
when :ref:`named placeholders <sqlite3-placeholders>` are used together with
parameters supplied as a :term:`sequence` instead of as a :class:`dict`.
Starting from Python 3.14, using named placeholders with parameters supplied
as a sequence will raise a :exc:`~sqlite3.ProgrammingError`. Patch by Erlend
E. Aasland.
..
.. date: 2023-02-07-22-21-46
.. gh-issue: 101446
.. nonce: -c0FdK
.. section: Library
Change repr of :class:`collections.OrderedDict` to use regular dictionary
formating instead of pairs of keys and values.
..
.. date: 2023-02-07-22-20-32
.. gh-issue: 101362
.. nonce: Jlk6mt
.. section: Library
Speed up :class:`pathlib.PurePath` construction by handling arguments more
uniformly. When a :class:`pathlib.Path` argument is supplied, we use its
string representation rather than joining its parts with
:func:`os.path.join`.
..
.. date: 2023-02-07-21-16-41
.. gh-issue: 101362
.. nonce: KMQllM
.. section: Library
Speed up :class:`pathlib.PurePath` construction by calling
:func:`os.path.join` only when two or more arguments are given.
..
.. date: 2023-02-07-20-46-08
.. gh-issue: 101362
.. nonce: 2ckZ6R
.. section: Library
Speed up :class:`pathlib.Path` construction by running the path flavour
compatibility check only when pathlib is imported.
..
.. date: 2023-02-05-21-40-15
.. gh-issue: 85984
.. nonce: Kfzbb2
.. section: Library
Refactored the implementation of :func:`pty.fork` to use
:func:`os.login_tty`.
A :exc:`DeprecationWarning` is now raised by ``pty.master_open()`` and
``pty.slave_open()``. They were undocumented and deprecated long long ago in
the docstring in favor of :func:`pty.openpty`.
..
.. date: 2023-02-04-16-35-46
.. gh-issue: 101561
.. nonce: Xo6pIZ
.. section: Library
Add a new decorator :func:`typing.override`. See :pep:`698` for details.
Patch by Steven Troxler.
..
.. date: 2023-02-01-10-42-16
.. gh-issue: 63301
.. nonce: XNxSFh
.. section: Library
Set exit code when :mod:`tabnanny` CLI exits on error.
..
.. date: 2023-01-27-02-53-50
.. gh-issue: 101360
.. nonce: bPB7SL
.. section: Library
Fix anchor matching in :meth:`pathlib.PureWindowsPath.match`. Path and
pattern anchors are now matched with :mod:`fnmatch`, just like other path
parts. This allows patterns such as ``"*:/Users/*"`` to be matched.
..
.. date: 2023-01-25-00-14-52
.. gh-issue: 101277
.. nonce: FceHX7
.. section: Library
Remove global state from :mod:`itertools` module (:pep:`687`). Patches by
Erlend E. Aasland.
..
.. date: 2023-01-06-21-14-41
.. gh-issue: 100809
.. nonce: I697UT
.. section: Library
Fix handling of drive-relative paths (like 'C:' and 'C:foo') in
:meth:`pathlib.Path.absolute`. This method now uses the OS API to retrieve
the correct current working directory for the drive.
..
.. date: 2023-01-02-22-41-44
.. gh-issue: 99138
.. nonce: 17hp9U
.. section: Library
Apply :pep:`687` to :mod:`zoneinfo`. Patch by Erlend E. Aasland.
..
.. date: 2022-10-22-09-26-43
.. gh-issue: 96764
.. nonce: Dh9Y5L
.. section: Library
:func:`asyncio.wait_for` now uses :func:`asyncio.timeout` as its underlying
implementation. Patch by Kumar Aditya.
..
.. date: 2022-09-05-12-17-34
.. gh-issue: 88233
.. nonce: gff9qJ
.. section: Library
Correctly preserve "extra" fields in ``zipfile`` regardless of their
ordering relative to a zip64 "extra."
..
.. bpo: 23224
.. date: 2018-06-20-09-12-21
.. nonce: zxCQ13
.. section: Library
Fix segfaults when creating :class:`lzma.LZMADecompressor` and
:class:`bz2.BZ2Decompressor` objects without calling ``__init__()``, and fix
leakage of locks and internal buffers when calling the ``__init__()``
methods of :class:`lzma.LZMADecompressor`, :class:`lzma.LZMACompressor`,
:class:`bz2.BZ2Compressor`, and :class:`bz2.BZ2Decompressor` objects
multiple times.
..
.. date: 2023-02-19-10-33-01
.. gh-issue: 85417
.. nonce: kYO8u3
.. section: Documentation
Update :mod:`cmath` documentation to clarify behaviour on branch cuts.
..
.. date: 2023-02-07-21-43-24
.. gh-issue: 97725
.. nonce: cuY7Cd
.. section: Documentation
Fix :meth:`asyncio.Task.print_stack` description for ``file=None``. Patch by
Oleg Iarygin.
..
.. date: 2023-02-18-10-51-02
.. gh-issue: 102019
.. nonce: 0797SJ
.. section: Tests
Fix deadlock on shutdown if ``test_current_{exception,frames}`` fails. Patch
by Jacob Bower.
..
.. date: 2023-02-11-22-36-10
.. gh-issue: 85984
.. nonce: EVXjT9
.. section: Tests
Utilize new "winsize" functions from termios in pty tests.
..
.. date: 2023-02-11-20-28-08
.. gh-issue: 89792
.. nonce: S-Y5BZ
.. section: Tests
``test_tools`` now copies up to 10x less source data to a temporary
directory during the ``freeze`` test by ignoring git metadata and other
artifacts. It also limits its python build parallelism based on
os.cpu_count instead of hard coding it as 8 cores.
..
.. date: 2023-01-12-00-49-16
.. gh-issue: 99942
.. nonce: DUR8b4
.. section: Build
On Android, in a static build, python-config in embed mode no longer
incorrectly reports a library to link to.
..
.. date: 2022-12-20-01-06-17
.. gh-issue: 99942
.. nonce: lbmzYj
.. section: Build
On Android, python.pc now correctly reports the library to link to, the same
as python-config.sh.
..
.. date: 2022-12-18-08-33-28
.. gh-issue: 100221
.. nonce: K94Ct3
.. section: Build
Fix creating install directories in ``make sharedinstall`` if they exist
outside ``DESTDIR`` already.
..
.. date: 2022-09-14-10-38-15
.. gh-issue: 96821
.. nonce: Zk2a9c
.. section: Build
Explicitly mark C extension modules that need defined signed integer
overflow, and add a configure option :option:`--with-strict-overflow`. Patch
by Matthias Görgens and Shantanu Jain.
..
.. date: 2023-03-01-01-36-39
.. gh-issue: 102344
.. nonce: Dgfux4
.. section: Windows
Implement ``winreg.QueryValue`` using ``QueryValueEx`` and
``winreg.SetValue`` using ``SetValueEx``. Patch by Max Bachmann.
..
.. date: 2023-02-15-11-08-10
.. gh-issue: 101881
.. nonce: fScr3m
.. section: Windows
Handle read and write operations on non-blocking pipes properly on Windows.
..
.. date: 2023-02-13-18-05-49
.. gh-issue: 101881
.. nonce: _TnHzN
.. section: Windows
Add support for the os.get_blocking() and os.set_blocking() functions on
Windows.
..
.. date: 2023-02-13-16-32-50
.. gh-issue: 101849
.. nonce: 7lm_53
.. section: Windows
Ensures installer will correctly upgrade existing ``py.exe`` launcher
installs.
..
.. date: 2023-02-10-14-26-05
.. gh-issue: 101763
.. nonce: RPaj7r
.. section: Windows
Updates copy of libffi bundled with Windows installs to 3.4.4.
..
.. date: 2023-02-09-22-09-27
.. gh-issue: 101759
.. nonce: zFlqSH
.. section: Windows
Update Windows installer to SQLite 3.40.1.
..
.. date: 2023-02-07-18-22-54
.. gh-issue: 101614
.. nonce: NjVP0n
.. section: Windows
Correctly handle extensions built against debug binaries that reference
``python3_d.dll``.
..
.. date: 2023-01-25-11-33-54
.. gh-issue: 101196
.. nonce: wAX_2g
.. section: Windows
The functions ``os.path.isdir``, ``os.path.isfile``, ``os.path.islink`` and
``os.path.exists`` are now 13% to 28% faster on Windows, by making fewer
Win32 API calls.
..
.. date: 2023-02-09-22-07-17
.. gh-issue: 101759
.. nonce: B0JP2H
.. section: macOS
Update macOS installer to SQLite 3.40.1.
..
.. date: 2023-02-14-15-53-01
.. gh-issue: 101907
.. nonce: HgF1N2
.. section: C API
Removes use of non-standard C++ extension in public header files.
..
.. date: 2023-02-09-10-38-20
.. gh-issue: 99293
.. nonce: mFqfpp
.. section: C API
Document that the Py_TPFLAGS_VALID_VERSION_TAG is an internal feature,
should not be used, and will be removed.
..
.. date: 2023-02-06-16-14-30
.. gh-issue: 101578
.. nonce: PW5fA9
.. section: C API
Add :c:func:`PyErr_GetRaisedException` and
:c:func:`PyErr_SetRaisedException` for saving and restoring the current
exception. These functions return and accept a single exception object,
rather than the triple arguments of the now-deprecated :c:func:`PyErr_Fetch`
and :c:func:`PyErr_Restore`. This is less error prone and a bit more
efficient.
Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs` as
convenience functions for retrieving and modifying the
:attr:`~BaseException.args` passed to the exception's constructor.
..
.. date: 2022-04-21-17-25-22
.. gh-issue: 91744
.. nonce: FgvaMi
.. section: C API
Introduced the *Unstable C API tier*, marking APi that is allowed to change
in minor releases without a deprecation period. See :pep:`689` for details.

View File

@ -1,3 +0,0 @@
Explicitly mark C extension modules that need defined signed integer overflow,
and add a configure option :option:`--with-strict-overflow`.
Patch by Matthias Görgens and Shantanu Jain.

View File

@ -1,2 +0,0 @@
Fix creating install directories in ``make sharedinstall`` if they exist
outside ``DESTDIR`` already.

View File

@ -1,2 +0,0 @@
On Android, python.pc now correctly reports the library to link to, the same
as python-config.sh.

View File

@ -1,2 +0,0 @@
On Android, in a static build, python-config in embed mode no longer
incorrectly reports a library to link to.

View File

@ -1,3 +0,0 @@
Introduced the *Unstable C API tier*, marking APi that is allowed to change
in minor releases without a deprecation period.
See :pep:`689` for details.

View File

@ -1,10 +0,0 @@
Add :c:func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException`
for saving and restoring the current exception.
These functions return and accept a single exception object,
rather than the triple arguments of the now-deprecated
:c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore`.
This is less error prone and a bit more efficient.
Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs`
as convenience functions for retrieving and modifying
the :attr:`~BaseException.args` passed to the exception's constructor.

View File

@ -1,2 +0,0 @@
Document that the Py_TPFLAGS_VALID_VERSION_TAG is an internal feature,
should not be used, and will be removed.

View File

@ -1 +0,0 @@
Removes use of non-standard C++ extension in public header files.

View File

@ -1,5 +0,0 @@
When an interpreter is configured to check (and only then), importing an
extension module will now fail when the extension does not support multiple
interpreters (i.e. doesn't implement PEP 489 multi-phase init). This does
not apply to the main interpreter, nor to subinterpreters created with
``Py_NewInterpreter()``.

View File

@ -1,3 +0,0 @@
Remove gi_code field from generator (and coroutine and async generator)
objects as it is redundant. The frame already includes a reference to the
code object.

View File

@ -1 +0,0 @@
Adds a new :opcode:`RETURN_CONST` instruction.

View File

@ -1 +0,0 @@
Invalidate type version tag in ``_PyStaticType_Dealloc`` for static types, avoiding bug where a false cache hit could crash the interpreter. Patch by Kumar Aditya.

View File

@ -1,2 +0,0 @@
Update :mod:`tracemalloc` to handle presize of object properly. Patch by
Dong-hee Na.

View File

@ -1 +0,0 @@
Fix SystemError / segmentation fault in iter ``__reduce__`` when internal access of ``builtins.__dict__`` keys mutates the iter object.

View File

@ -1,3 +0,0 @@
Change the ``SEND`` instruction to leave the receiver on the stack. This
allows the specialized form of ``SEND`` to skip the chain of C calls and jump
directly to the ``RESUME`` in the generator or coroutine.

View File

@ -1 +0,0 @@
Make the slice object hashable.

View File

@ -1 +0,0 @@
Fix xattr support detection on Linux systems by widening the check to linux, not just glibc. This fixes support for musl.

View File

@ -1,2 +0,0 @@
Add :opcode:`CALL_INTRINSIC_2` and use it instead of
:opcode:`PREP_RERAISE_STAR`.

View File

@ -1,5 +0,0 @@
:mod:`socket.getaddrinfo` no longer raises :class:`OverflowError` for
:class:`int` **port** values outside of the C long range. Out of range values
are left up to the underlying string based C library API to report. A
:class:`socket.gaierror` ``SAI_SERVICE`` may occur instead, or no error at all
as not all platform C libraries generate an error.

View File

@ -1 +0,0 @@
Fix possible segfault in ``BUILD_SET`` opcode, when new set created.

View File

@ -1 +0,0 @@
Fix possible segfault in ``positional_only_passed_as_keyword`` function, when new list created.

View File

@ -1,2 +0,0 @@
Restrict the scope of the :opcode:`FOR_ITER_RANGE` instruction to the scope of the
original :opcode:`FOR_ITER` instruction, to allow instrumentation.

View File

@ -1 +0,0 @@
Fix error handling bugs in interpreter's exception printing code, which could cause a crash on infinite recursion.

View File

@ -1,2 +0,0 @@
Use ``GetCurrentProcessId`` on Windows when ``getpid`` is unavailable. Patch by
Max Bachmann.

View File

@ -1 +0,0 @@
Fix deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock. Patch by Kumar Aditya.

View File

@ -1 +0,0 @@
Fixed a segfault occurring when the interpreter calls a ``__bool__`` method that raises.

View File

@ -1 +0,0 @@
Cleanup Windows 7 specific special handling. Patch by Max Bachmann.

View File

@ -1,2 +0,0 @@
Fix a bug that caused a crash when deallocating deeply nested filter
objects. Patch by Marta Gómez Macías.

View File

@ -1 +0,0 @@
Do not memoize incorrectly automatically generated loop rules in the parser. Patch by Pablo Galindo.

View File

@ -1 +0,0 @@
Fix regression in semantics of normalisation in ``PyErr_SetObject``.

View File

@ -1,2 +0,0 @@
Fix :meth:`asyncio.Task.print_stack` description for ``file=None``.
Patch by Oleg Iarygin.

View File

@ -1 +0,0 @@
Update :mod:`cmath` documentation to clarify behaviour on branch cuts.

View File

@ -1,6 +0,0 @@
Fix segfaults when creating :class:`lzma.LZMADecompressor` and
:class:`bz2.BZ2Decompressor` objects without calling ``__init__()``, and fix
leakage of locks and internal buffers when calling the ``__init__()``
methods of :class:`lzma.LZMADecompressor`, :class:`lzma.LZMACompressor`,
:class:`bz2.BZ2Compressor`, and :class:`bz2.BZ2Decompressor` objects
multiple times.

View File

@ -1,2 +0,0 @@
Correctly preserve "extra" fields in ``zipfile`` regardless of their
ordering relative to a zip64 "extra."

View File

@ -1 +0,0 @@
:func:`asyncio.wait_for` now uses :func:`asyncio.timeout` as its underlying implementation. Patch by Kumar Aditya.

View File

@ -1 +0,0 @@
Apply :pep:`687` to :mod:`zoneinfo`. Patch by Erlend E. Aasland.

View File

@ -1,3 +0,0 @@
Fix handling of drive-relative paths (like 'C:' and 'C:foo') in
:meth:`pathlib.Path.absolute`. This method now uses the OS API
to retrieve the correct current working directory for the drive.

View File

@ -1,2 +0,0 @@
Remove global state from :mod:`itertools` module (:pep:`687`). Patches by
Erlend E. Aasland.

View File

@ -1,3 +0,0 @@
Fix anchor matching in :meth:`pathlib.PureWindowsPath.match`. Path and
pattern anchors are now matched with :mod:`fnmatch`, just like other path
parts. This allows patterns such as ``"*:/Users/*"`` to be matched.

View File

@ -1 +0,0 @@
Set exit code when :mod:`tabnanny` CLI exits on error.

View File

@ -1 +0,0 @@
Add a new decorator :func:`typing.override`. See :pep:`698` for details. Patch by Steven Troxler.

View File

@ -1,4 +0,0 @@
Refactored the implementation of :func:`pty.fork` to use :func:`os.login_tty`.
A :exc:`DeprecationWarning` is now raised by ``pty.master_open()`` and ``pty.slave_open()``. They were
undocumented and deprecated long long ago in the docstring in favor of :func:`pty.openpty`.

View File

@ -1,2 +0,0 @@
Speed up :class:`pathlib.Path` construction by running the path flavour
compatibility check only when pathlib is imported.

View File

@ -1,2 +0,0 @@
Speed up :class:`pathlib.PurePath` construction by calling
:func:`os.path.join` only when two or more arguments are given.

View File

@ -1,4 +0,0 @@
Speed up :class:`pathlib.PurePath` construction by handling arguments more
uniformly. When a :class:`pathlib.Path` argument is supplied,
we use its string representation rather than joining its parts
with :func:`os.path.join`.

View File

@ -1,2 +0,0 @@
Change repr of :class:`collections.OrderedDict` to use regular dictionary
formating instead of pairs of keys and values.

View File

@ -1,6 +0,0 @@
In :meth:`sqlite3.Cursor.execute`, :exc:`DeprecationWarning` is now emitted
when :ref:`named placeholders <sqlite3-placeholders>` are used together with
parameters supplied as a :term:`sequence` instead of as a :class:`dict`.
Starting from Python 3.14, using named placeholders with parameters supplied
as a sequence will raise a :exc:`~sqlite3.ProgrammingError`.
Patch by Erlend E. Aasland.

View File

@ -1,2 +0,0 @@
Optimize :class:`fractions.Fraction` for small components. The private argument
``_normalize`` of the :class:`fractions.Fraction` constructor has been removed.

View File

@ -1 +0,0 @@
Fixed bug where :mod:`bdb` looks up the source line with :mod:`linecache` with a ``lineno=None``, which causes it to fail with an unhandled exception.

View File

@ -1,2 +0,0 @@
Fix potential undefined behaviour in corner cases of floating-point-to-time
conversions.

View File

@ -1 +0,0 @@
Remove locking behavior from :func:`functools.cached_property`.

View File

@ -1,3 +0,0 @@
Callable iterators no longer raise :class:`SystemError` when the
callable object exhausts the iterator but forgets to either return a
sentinel value or raise :class:`StopIteration`.

View File

@ -1,3 +0,0 @@
The built-in extension modules for :mod:`hashlib` SHA2 algorithms, used when
OpenSSL does not provide them, now live in a single internal ``_sha2`` module
instead of separate ``_sha256`` and ``_sha512`` modules.

View File

@ -1 +0,0 @@
Upgrade pip wheel bundled with ensurepip (pip 23.0.1)

View File

@ -1,4 +0,0 @@
Apply changes from `importlib_resources 5.12
<https://importlib-resources.readthedocs.io/en/latest/history.html#v5-12-0>`_,
including fix for ``MultiplexedPath`` to support directories in multiple
namespaces (python/importlib_resources#265).

View File

@ -1,4 +0,0 @@
In zipfile, sync Path with `zipp 3.14
<https://zipp.readthedocs.io/en/latest/history.html#v3-14-0>`_, including
fix for extractall on the underlying zipfile after being wrapped in
``Path``.

View File

@ -1,2 +0,0 @@
The default value of ``fp`` becomes :class:`io.BytesIO` if :exc:`~urllib.error.HTTPError`
is initialized without a designated ``fp`` parameter. Patch by Long Vo.

View File

@ -1,2 +0,0 @@
For the binary mode, :func:`fileinput.hookcompressed` doesn't set the ``encoding`` value
even if the value is ``None``. Patch by Gihwan Kim.

View File

@ -1 +0,0 @@
Fix :func:`os.dup2` error message for negative fds.

View File

@ -1,2 +0,0 @@
Add :data:`mmap.MAP_ALIGNED_SUPER` FreeBSD and :data:`mmap.MAP_CONCEAL`
OpenBSD constants to :mod:`mmap`. Patch by Yeojin Kim.

View File

@ -1 +0,0 @@
:meth:`platform.platform` now has boolean default arguments.

View File

@ -1,2 +0,0 @@
Fix a bug where parentheses in the ``metavar`` argument to :meth:`argparse.ArgumentParser.add_argument` were
dropped. Patch by Yeojin Kim.

View File

@ -1 +0,0 @@
Micro-optimise hashing of :class:`inspect.Parameter`, reducing the time it takes to hash an instance by around 40%.

View File

@ -1,3 +0,0 @@
:class:`subprocess.Popen` now uses a safer approach to find
``cmd.exe`` when launching with ``shell=True``. Patch by Eryk Sun,
based on a patch by Oleg Iarygin.

View File

@ -1,4 +0,0 @@
Replace the builtin :mod:`hashlib` implementations of SHA2-384 and SHA2-512
originally from LibTomCrypt with formally verified, side-channel resistant
code from the `HACL* <https://github.com/hacl-star/hacl-star/>`_ project.
The builtins remain a fallback only used when OpenSSL does not provide them.

View File

@ -1,4 +0,0 @@
Updated the OpenSSL version used in Windows and macOS binary release builds
to 1.1.1t to address CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 per
`the OpenSSL 2023-02-07 security advisory
<https://www.openssl.org/news/secadv/20230207.txt>`_.

View File

@ -1,2 +0,0 @@
Replace builtin hashlib implementations of MD5 and SHA1 with verified ones
from the HACL* project.

View File

@ -1,4 +0,0 @@
``test_tools`` now copies up to 10x less source data to a temporary directory
during the ``freeze`` test by ignoring git metadata and other artifacts. It
also limits its python build parallelism based on os.cpu_count instead of hard
coding it as 8 cores.

View File

@ -1 +0,0 @@
Utilize new "winsize" functions from termios in pty tests.

View File

@ -1,2 +0,0 @@
Fix deadlock on shutdown if ``test_current_{exception,frames}`` fails. Patch
by Jacob Bower.

View File

@ -1,3 +0,0 @@
The functions ``os.path.isdir``, ``os.path.isfile``, ``os.path.islink`` and
``os.path.exists`` are now 13% to 28% faster on Windows, by making fewer Win32
API calls.

View File

@ -1 +0,0 @@
Correctly handle extensions built against debug binaries that reference ``python3_d.dll``.

View File

@ -1 +0,0 @@
Update Windows installer to SQLite 3.40.1.

View File

@ -1 +0,0 @@
Updates copy of libffi bundled with Windows installs to 3.4.4.

View File

@ -1 +0,0 @@
Ensures installer will correctly upgrade existing ``py.exe`` launcher installs.

View File

@ -1 +0,0 @@
Add support for the os.get_blocking() and os.set_blocking() functions on Windows.

View File

@ -1 +0,0 @@
Handle read and write operations on non-blocking pipes properly on Windows.

View File

@ -1,2 +0,0 @@
Implement ``winreg.QueryValue`` using ``QueryValueEx`` and
``winreg.SetValue`` using ``SetValueEx``. Patch by Max Bachmann.

View File

@ -1 +0,0 @@
Update macOS installer to SQLite 3.40.1.

View File

@ -1,4 +1,4 @@
This is Python version 3.12.0 alpha 5
This is Python version 3.12.0 alpha 6
=====================================
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg