cpython/Misc/NEWS.d/3.13.4.rst

951 lines
21 KiB
ReStructuredText

.. date: 2025-05-20-21-43-20
.. gh-issue: 130727
.. nonce: -69t4D
.. release date: 2025-06-03
.. section: Windows
Fix a race in internal calls into WMI that can result in an "invalid handle"
exception under high load. Patch by Chris Eibl.
..
.. date: 2025-05-19-03-02-04
.. gh-issue: 76023
.. nonce: vHOf6M
.. section: Windows
Make :func:`os.path.realpath` ignore Windows error 1005 when in non-strict
mode.
..
.. date: 2025-05-08-19-07-26
.. gh-issue: 133626
.. nonce: yFTKYK
.. section: Windows
Ensures packages are not accidentally bundled into the traditional
installer.
..
.. date: 2025-05-06-14-09-19
.. gh-issue: 133512
.. nonce: bh-D-g
.. section: Windows
Add warnings to :ref:`launcher` about use of subcommands belonging to the
Python install manager.
..
.. date: 2025-05-09-14-54-48
.. gh-issue: 133744
.. nonce: LCquu0
.. section: Tests
Fix multiprocessing interrupt test. Add an event to synchronize the parent
process with the child process: wait until the child process starts
sleeping. Patch by Victor Stinner.
..
.. date: 2025-05-08-15-06-01
.. gh-issue: 133639
.. nonce: 50-kbV
.. section: Tests
Fix ``TestPyReplAutoindent.test_auto_indent_default()`` doesn't run
``input_code``.
..
.. date: 2025-04-29-14-56-37
.. gh-issue: 133131
.. nonce: 1pchjl
.. section: Tests
The iOS testbed will now select the most recently released "SE-class" device
for testing if a device isn't explicitly specified.
..
.. date: 2025-04-23-02-23-37
.. gh-issue: 109981
.. nonce: IX3k8p
.. section: Tests
The test helper that counts the list of open file descriptors now uses the
optimised ``/dev/fd`` approach on all Apple platforms, not just macOS. This
avoids crashes caused by guarded file descriptors.
..
.. date: 2025-06-02-11-32-23
.. gh-issue: 135034
.. nonce: RLGjbp
.. section: Security
Fixes multiple issues that allowed ``tarfile`` extraction filters
(``filter="data"`` and ``filter="tar"``) to be bypassed using crafted
symlinks and hard links.
Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and
:cve:`2025-4517`.
..
.. date: 2025-05-09-20-22-54
.. gh-issue: 133767
.. nonce: kN2i3Q
.. section: Security
Fix use-after-free in the "unicode-escape" decoder with a non-"strict" error
handler.
..
.. date: 2025-01-14-11-19-07
.. gh-issue: 128840
.. nonce: M1doZW
.. section: Security
Short-circuit the processing of long IPv6 addresses early in
:mod:`ipaddress` to prevent excessive memory consumption and a minor
denial-of-service.
..
.. date: 2025-05-30-13-07-29
.. gh-issue: 134718
.. nonce: 9Qvhxn
.. section: Library
:func:`ast.dump` now only omits ``None`` and ``[]`` values if they are
default values.
..
.. date: 2025-05-28-15-53-27
.. gh-issue: 128840
.. nonce: Nur2pB
.. section: Library
Fix parsing long IPv6 addresses with embedded IPv4 address.
..
.. date: 2025-05-26-14-04-39
.. gh-issue: 134696
.. nonce: P04xUa
.. section: Library
Built-in HACL* and OpenSSL implementations of hash function constructors now
correctly accept the same *documented* named arguments. For instance,
:func:`~hashlib.md5` could be previously invoked as ``md5(data=data)`` or
``md5(string=string)`` depending on the underlying implementation but these
calls were not compatible. Patch by Bénédikt Tran.
..
.. date: 2025-05-24-13-10-35
.. gh-issue: 134210
.. nonce: 0IuMY2
.. section: Library
:func:`curses.window.getch` now correctly handles signals. Patch by Bénédikt
Tran.
..
.. date: 2025-05-24-03-10-36
.. gh-issue: 80334
.. nonce: z21cMa
.. section: Library
:func:`multiprocessing.freeze_support` now checks for work on any "spawn"
start method platform rather than only on Windows.
..
.. date: 2025-05-22-13-10-32
.. gh-issue: 114177
.. nonce: 3TYUJ3
.. section: Library
Fix :mod:`asyncio` to not close subprocess pipes which would otherwise error
out when the event loop is already closed.
..
.. date: 2025-05-19-10-32-11
.. gh-issue: 134152
.. nonce: INJC2j
.. section: Library
Fixed :exc:`UnboundLocalError` that could occur during :mod:`email` header
parsing if an expected trailing delimiter is missing in some contexts.
..
.. date: 2025-05-18-12-48-39
.. gh-issue: 62184
.. nonce: y11l10
.. section: Library
Remove import of C implementation of :class:`io.FileIO` from Python
implementation which has its own implementation
..
.. date: 2025-05-17-20-23-57
.. gh-issue: 133982
.. nonce: smS7au
.. section: Library
Emit :exc:`RuntimeWarning` in the Python implementation of :mod:`io` when
the :term:`file-like object <file object>` is not closed explicitly in the
presence of multiple I/O layers.
..
.. date: 2025-05-17-18-08-35
.. gh-issue: 133890
.. nonce: onn9_X
.. section: Library
The :mod:`tarfile` module now handles :exc:`UnicodeEncodeError` in the same
way as :exc:`OSError` when cannot extract a member.
..
.. date: 2025-05-17-13-46-20
.. gh-issue: 134097
.. nonce: fgkjE1
.. section: Library
Fix interaction of the new :term:`REPL` and :option:`-X showrefcount <-X>`
command line option.
..
.. date: 2025-05-17-12-40-12
.. gh-issue: 133889
.. nonce: Eh-zO4
.. section: Library
The generated directory listing page in
:class:`http.server.SimpleHTTPRequestHandler` now only shows the decoded
path component of the requested URL, and not the query and fragment.
..
.. date: 2025-05-16-20-10-25
.. gh-issue: 134098
.. nonce: YyTkKr
.. section: Library
Fix handling paths that end with a percent-encoded slash (``%2f`` or
``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`.
..
.. date: 2025-05-15-14-27-01
.. gh-issue: 134062
.. nonce: fRbJet
.. section: Library
:mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` for
:class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` objects.
..
.. date: 2025-05-14-08-13-08
.. gh-issue: 133745
.. nonce: rjgJkH
.. section: Library
In 3.13.3 we accidentally changed the signature of the asyncio
``create_task()`` family of methods and how it calls a custom task factory
in a backwards incompatible way. Since some 3rd party libraries have already
made changes to work around the issue that might break if we simply reverted
the changes, we're instead changing things to be backwards compatible with
3.13.2 while still supporting those workarounds for 3.13.3. In particular,
the special-casing of ``name`` and ``context`` is back (until 3.14) and
consequently eager tasks may still find that their name hasn't been set
before they execute their first yielding await.
..
.. date: 2025-05-13-18-21-59
.. gh-issue: 71253
.. nonce: -3Sf_K
.. section: Library
Raise :exc:`ValueError` in :func:`open` if *opener* returns a negative
file-descriptor in the Python implementation of :mod:`io` to match the C
implementation.
..
.. date: 2025-05-09-15-50-00
.. gh-issue: 77057
.. nonce: fV8SU-
.. section: Library
Fix handling of invalid markup declarations in
:class:`html.parser.HTMLParser`.
..
.. date: 2025-05-08-13-43-19
.. gh-issue: 133489
.. nonce: 9eGS1Z
.. section: Library
:func:`random.getrandbits` can now generate more that 2\ :sup:`31` bits.
:func:`random.randbytes` can now generate more that 256 MiB.
..
.. date: 2025-05-02-13-16-44
.. gh-issue: 133290
.. nonce: R5WrLM
.. section: Library
Fix attribute caching issue when setting :attr:`ctypes._Pointer._type_` in
the undocumented and deprecated :func:`!ctypes.SetPointerType` function and
the undocumented :meth:`!set_type` method.
..
.. date: 2025-04-29-11-48-46
.. gh-issue: 132876
.. nonce: lyTQGZ
.. section: Library
``ldexp()`` on Windows doesn't round subnormal results before Windows 11,
but should. Python's :func:`math.ldexp` wrapper now does round them, so
results may change slightly, in rare cases of very small results, on Windows
versions before 11.
..
.. date: 2025-04-29-02-23-04
.. gh-issue: 133089
.. nonce: 8Jy1ZS
.. section: Library
Use original timeout value for :exc:`subprocess.TimeoutExpired` when the
func :meth:`subprocess.run` is called with a timeout instead of sometimes a
confusing partial remaining time out value used internally on the final
``wait()``.
..
.. date: 2025-04-26-15-50-12
.. gh-issue: 133009
.. nonce: etBuz5
.. section: Library
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.__deepcopy__
<object.__deepcopy__>` when the element is concurrently mutated. Patch by
Bénédikt Tran.
..
.. date: 2025-04-26-10-54-38
.. gh-issue: 132995
.. nonce: JuDF9p
.. section: Library
Bump the version of pip bundled in ensurepip to version 25.1.1
..
.. date: 2025-04-25-10-51-00
.. gh-issue: 132017
.. nonce: SIGCONT1
.. section: Library
Fix error when ``pyrepl`` is suspended, then resumed and terminated.
..
.. date: 2025-04-18-12-45-18
.. gh-issue: 132673
.. nonce: P7Z3F1
.. section: Library
Fix a crash when using ``_align_ = 0`` and ``_fields_ = []`` in a
:class:`ctypes.Structure`.
..
.. date: 2025-04-14-23-00-00
.. gh-issue: 132527
.. nonce: kTi8T7
.. section: Library
Include the valid typecode 'w' in the error message when an invalid typecode
is passed to :class:`array.array`.
..
.. date: 2025-04-12-16-29-42
.. gh-issue: 132439
.. nonce: 3twrU6
.. section: Library
Fix ``PyREPL`` on Windows: characters entered via AltGr are swallowed. Patch
by Chris Eibl.
..
.. date: 2025-04-12-12-59-51
.. gh-issue: 132429
.. nonce: OEIdlW
.. section: Library
Fix support of Bluetooth sockets on NetBSD and DragonFly BSD.
..
.. date: 2025-04-12-09-30-24
.. gh-issue: 132106
.. nonce: OxUds3
.. section: Library
:meth:`QueueListener.start <logging.handlers.QueueListener.start>` now
raises a :exc:`RuntimeError` if the listener is already started.
..
.. date: 2025-04-11-21-48-49
.. gh-issue: 132417
.. nonce: uILGdS
.. section: Library
Fix a ``NULL`` pointer dereference when a C function called using
:mod:`ctypes` with ``restype`` :class:`~ctypes.py_object` returns ``NULL``.
..
.. date: 2025-04-11-12-41-47
.. gh-issue: 132385
.. nonce: 86HoA7
.. section: Library
Fix instance error suggestions trigger potential exceptions in
:meth:`object.__getattr__` in :mod:`traceback`.
..
.. date: 2025-04-10-13-06-42
.. gh-issue: 132308
.. nonce: 1js5SI
.. section: Library
A :class:`traceback.TracebackException` now correctly renders the
``__context__`` and ``__cause__`` attributes from :ref:`falsey <truth>`
:class:`Exception`, and the ``exceptions`` attribute from falsey
:class:`ExceptionGroup`.
..
.. date: 2025-04-08-01-55-11
.. gh-issue: 132250
.. nonce: APBFCw
.. section: Library
Fixed the :exc:`SystemError` in :mod:`cProfile` when locating the actual C
function of a method raises an exception.
..
.. date: 2025-04-05-15-05-09
.. gh-issue: 132063
.. nonce: KHnslU
.. section: Library
Prevent exceptions that evaluate as falsey (namely, when their ``__bool__``
method returns ``False`` or their ``__len__`` method returns 0) from being
ignored by :class:`concurrent.futures.ProcessPoolExecutor` and
:class:`concurrent.futures.ThreadPoolExecutor`.
..
.. date: 2025-04-03-17-19-42
.. gh-issue: 119605
.. nonce: c7QXAA
.. section: Library
Respect ``follow_wrapped`` for :meth:`!__init__` and :meth:`!__new__`
methods when getting the class signature for a class with
:func:`inspect.signature`. Preserve class signature after wrapping with
:func:`warnings.deprecated`. Patch by Xuehai Pan.
..
.. date: 2025-03-30-16-42-38
.. gh-issue: 91555
.. nonce: ShVtwW
.. section: Library
Ignore log messages generated during handling of log messages, to avoid
deadlock or infinite recursion. [NOTE: This change has since been reverted.]
..
.. date: 2025-03-21-21-24-36
.. gh-issue: 131434
.. nonce: BPkyyh
.. section: Library
Improve error reporting for incorrect format in :func:`time.strptime`.
..
.. date: 2025-03-11-21-08-46
.. gh-issue: 131127
.. nonce: whcVdY
.. section: Library
Systems using LibreSSL now successfully build.
..
.. date: 2025-03-09-03-13-41
.. gh-issue: 130999
.. nonce: tBRBVB
.. section: Library
Avoid exiting the new REPL and offer suggestions even if there are
non-string candidates when errors occur.
..
.. date: 2025-03-07-17-47-32
.. gh-issue: 130941
.. nonce: 7_GvhW
.. section: Library
Fix :class:`configparser.ConfigParser` parsing empty interpolation with
``allow_no_value`` set to ``True``.
..
.. date: 2025-03-01-12-37-08
.. gh-issue: 129098
.. nonce: eJ2-6L
.. section: Library
Fix REPL traceback reporting when using :func:`compile` with an inexisting
file. Patch by Bénédikt Tran.
..
.. date: 2025-02-27-14-25-01
.. gh-issue: 130631
.. nonce: dmZcZM
.. section: Library
:func:`!http.cookiejar.join_header_words` is now more similar to the
original Perl version. It now quotes the same set of characters and always
quote values that end with ``"\n"``.
..
.. date: 2025-02-06-11-23-51
.. gh-issue: 129719
.. nonce: Of6rvb
.. section: Library
Fix missing :data:`!socket.CAN_RAW_ERR_FILTER` constant in the socket module
on Linux systems. It was missing since Python 3.11.
..
.. date: 2024-09-16-17-03-52
.. gh-issue: 124096
.. nonce: znin0O
.. section: Library
Turn on virtual terminal mode and enable bracketed paste in REPL on Windows
console. (If the terminal does not support bracketed paste, enabling it does
nothing.)
..
.. date: 2024-08-02-20-01-36
.. gh-issue: 122559
.. nonce: 2JlJr3
.. section: Library
Remove :meth:`!__reduce__` and :meth:`!__reduce_ex__` methods that always
raise :exc:`TypeError` in the C implementation of :class:`io.FileIO`,
:class:`io.BufferedReader`, :class:`io.BufferedWriter` and
:class:`io.BufferedRandom` and replace them with default
:meth:`!__getstate__` methods that raise :exc:`!TypeError`. This restores
fine details of behavior of Python 3.11 and older versions.
..
.. date: 2024-07-23-17-08-41
.. gh-issue: 122179
.. nonce: 0jZm9h
.. section: Library
:func:`hashlib.file_digest` now raises :exc:`BlockingIOError` when no data
is available during non-blocking I/O. Before, it added spurious null bytes
to the digest.
..
.. date: 2023-02-13-21-41-34
.. gh-issue: 86155
.. nonce: ppIGSC
.. section: Library
:meth:`html.parser.HTMLParser.close` no longer loses data when the
``<script>`` tag is not closed. Patch by Waylan Limberg.
..
.. date: 2022-07-24-20-56-32
.. gh-issue: 69426
.. nonce: unccw7
.. section: Library
Fix :class:`html.parser.HTMLParser` to not unescape character entities in
attribute values if they are followed by an ASCII alphanumeric or an equals
sign.
..
.. bpo: 44172
.. date: 2021-05-18-19-12-58
.. nonce: rJ_-CI
.. section: Library
Keep a reference to original :mod:`curses` windows in subwindows so that the
original window does not get deleted before subwindows.
..
.. date: 2024-11-08-18-07-13
.. gh-issue: 112936
.. nonce: 1Q2RcP
.. section: IDLE
fix IDLE: no Shell menu item in single-process mode.
..
.. date: 2025-03-28-18-25-43
.. gh-issue: 107006
.. nonce: BxFijD
.. section: Documentation
Move documentation and example code for :class:`threading.local` from its
docstring to the official docs.
..
.. date: 2025-05-30-15-56-19
.. gh-issue: 134908
.. nonce: 3a7PxM
.. section: Library
Fix crash when iterating over lines in a text file on the :term:`free
threaded <free threading>` build.
..
.. date: 2025-05-27-09-19-21
.. gh-issue: 127682
.. nonce: 9WwFrM
.. section: Core and Builtins
No longer call ``__iter__`` twice in list comprehensions. This brings the
behavior of list comprehensions in line with other forms of iteration
..
.. date: 2025-05-22-14-48-19
.. gh-issue: 134381
.. nonce: 2BXhth
.. section: Library
Fix :exc:`RuntimeError` when using a not-started :class:`threading.Thread`
after calling :func:`os.fork`
..
.. date: 2025-05-20-14-41-50
.. gh-issue: 128066
.. nonce: qzzGfv
.. section: Core and Builtins
Fixes an edge case where PyREPL improperly threw an error when Python is
invoked on a read only filesystem while trying to write history file
entries.
..
.. date: 2025-05-16-17-25-52
.. gh-issue: 134100
.. nonce: 5-FbLK
.. section: Core and Builtins
Fix a use-after-free bug that occurs when an imported module isn't in
:data:`sys.modules` after its initial import. Patch by Nico-Posada.
..
.. date: 2025-05-10-17-12-27
.. gh-issue: 133703
.. nonce: bVM-re
.. section: Core and Builtins
Fix hashtable in dict can be bigger than intended in some situations.
..
.. date: 2025-05-08-19-01-32
.. gh-issue: 132869
.. nonce: lqIOhZ
.. section: Core and Builtins
Fix crash in the :term:`free threading` build when accessing an object
attribute that may be concurrently inserted or deleted.
..
.. date: 2025-05-08-13-48-02
.. gh-issue: 132762
.. nonce: tKbygC
.. section: Core and Builtins
:meth:`~dict.fromkeys` no longer loops forever when adding a small set of
keys to a large base dict. Patch by Angela Liss.
..
.. date: 2025-05-07-10-48-31
.. gh-issue: 133543
.. nonce: 4jcszP
.. section: Core and Builtins
Fix a possible memory leak that could occur when directly accessing instance
dictionaries (``__dict__``) that later become part of a reference cycle.
..
.. date: 2025-05-06-15-01-41
.. gh-issue: 133516
.. nonce: RqWVf2
.. section: Core and Builtins
Raise :exc:`ValueError` when constants ``True``, ``False`` or ``None`` are
used as an identifier after NFKC normalization.
..
.. date: 2025-05-05-17-02-08
.. gh-issue: 133441
.. nonce: EpjHD4
.. section: Core and Builtins
Fix crash upon setting an attribute with a :class:`dict` subclass. Patch by
Victor Stinner.
..
.. date: 2025-04-26-17-50-47
.. gh-issue: 132942
.. nonce: aEEZvZ
.. section: Core and Builtins
Fix two races in the type lookup cache. This affected the free-threaded
build and could cause crashes (apparently quite difficult to trigger).
..
.. date: 2025-04-22-16-38-43
.. gh-issue: 132713
.. nonce: mBWTSZ
.. section: Core and Builtins
Fix ``repr(list)`` race condition: hold a strong reference to the item while
calling ``repr(item)``. Patch by Victor Stinner.
..
.. date: 2025-04-21-07-39-59
.. gh-issue: 132747
.. nonce: L-cnej
.. section: Core and Builtins
Fix a crash when calling :meth:`~object.__get__` of a :term:`method` with a
:const:`None` second argument.
..
.. date: 2025-04-19-17-16-46
.. gh-issue: 132542
.. nonce: 7T_TY_
.. section: Core and Builtins
Update :attr:`Thread.native_id <threading.Thread.native_id>` after
:manpage:`fork(2)` to ensure accuracy. Patch by Noam Cohen.
..
.. date: 2025-04-13-17-18-01
.. gh-issue: 124476
.. nonce: fvGfQ7
.. section: Core and Builtins
Fix decoding from the locale encoding in the C.UTF-8 locale.
..
.. date: 2025-04-13-10-34-27
.. gh-issue: 131927
.. nonce: otp80n
.. section: Core and Builtins
Compiler warnings originating from the same module and line number are now
only emitted once, matching the behaviour of warnings emitted from user
code. This can also be configured with :mod:`warnings` filters.
..
.. date: 2025-04-10-10-29-45
.. gh-issue: 127682
.. nonce: X0HoGz
.. section: Core and Builtins
No longer call ``__iter__`` twice when creating and executing a generator
expression. Creating a generator expression from a non-interable will raise
only when the generator expression is executed. This brings the behavior of
generator expressions in line with other generators.
..
.. date: 2025-03-30-19-58-14
.. gh-issue: 131878
.. nonce: uxM26H
.. section: Core and Builtins
Handle uncaught exceptions in the main input loop for the new REPL.
..
.. date: 2025-03-30-19-49-00
.. gh-issue: 131878
.. nonce: J8_cHB
.. section: Core and Builtins
Fix support of unicode characters with two or more codepoints on Windows in
the new REPL.
..
.. date: 2025-03-10-21-46-37
.. gh-issue: 130804
.. nonce: 0PpcTx
.. section: Core and Builtins
Fix support of unicode characters on Windows in the new REPL.
..
.. date: 2025-02-13-05-09-31
.. gh-issue: 130070
.. nonce: C8c9gK
.. section: Core and Builtins
Fixed an assertion error for :func:`exec` passed a string ``source`` and a
non-``None`` ``closure``. Patch by Bartosz Sławecki.
..
.. date: 2025-02-13-00-14-24
.. gh-issue: 129958
.. nonce: Uj7lyY
.. section: Core and Builtins
Fix a bug that was allowing newlines inconsitently in format specifiers for
single-quoted f-strings. Patch by Pablo Galindo.
..
.. date: 2025-04-25-11-39-24
.. gh-issue: 132909
.. nonce: JC3n_l
.. section: C API
Fix an overflow when handling the :ref:`K <capi-py-buildvalue-format-K>`
format in :c:func:`Py_BuildValue`. Patch by Bénédikt Tran.
..
.. date: 2025-05-30-11-02-30
.. gh-issue: 134923
.. nonce: gBkRg4
.. section: Build
Windows builds with profile-guided optimization enabled now use
``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:``
options.
..
.. date: 2025-04-30-11-07-53
.. gh-issue: 133183
.. nonce: zCKUeQ
.. section: Build
iOS compiler shims now include ``IPHONEOS_DEPLOYMENT_TARGET`` in target
triples, ensuring that SDK version minimums are honored.
..
.. date: 2025-04-30-10-23-18
.. gh-issue: 133167
.. nonce: E0jrYJ
.. section: Build
Fix compilation process with ``--enable-optimizations`` and
``--without-docstrings``.
..
.. date: 2025-04-17-19-10-15
.. gh-issue: 132649
.. nonce: DZqGoq
.. section: Build
The :file:`PC\layout` script now allows passing ``--include-tcltk`` on
Windows ARM64.
..
.. date: 2025-04-16-09-38-48
.. gh-issue: 117088
.. nonce: EFt_5c
.. section: Build
AIX linker don't support -h option, so avoid it through platform check
..
.. date: 2025-04-02-21-08-36
.. gh-issue: 132026
.. nonce: ptnR7T
.. section: Build
Fix use of undefined identifiers in platform triplet detection on MIPS Linux
platforms.