mirror of
https://github.com/python/cpython.git
synced 2026-05-06 04:37:33 -04:00
1594 lines
37 KiB
ReStructuredText
1594 lines
37 KiB
ReStructuredText
.. date: 2026-03-14-17-31-39
|
|
.. gh-issue: 145986
|
|
.. nonce: ifSSr8
|
|
.. release date: 2026-04-07
|
|
.. section: Security
|
|
|
|
:mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C recursion when
|
|
converting deeply nested XML content models with
|
|
:meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler`. This addresses
|
|
:cve:`2026-4224`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-06-17-03-38
|
|
.. gh-issue: 145599
|
|
.. nonce: kchwZV
|
|
.. section: Security
|
|
|
|
Reject control characters in :class:`http.cookies.Morsel`
|
|
:meth:`~http.cookies.Morsel.update` and
|
|
:meth:`~http.cookies.BaseCookie.js_output`. This addresses :cve:`2026-3644`.
|
|
|
|
..
|
|
|
|
.. date: 2026-01-16-12-04-49
|
|
.. gh-issue: 143930
|
|
.. nonce: zYC5x3
|
|
.. section: Security
|
|
|
|
Reject leading dashes in URLs passed to :func:`webbrowser.open`.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-06-11-15-46
|
|
.. gh-issue: 148157
|
|
.. nonce: JFnZDn
|
|
.. section: Core and Builtins
|
|
|
|
Fix an unlikely crash when parsing an invalid type comments for function
|
|
parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-06-00-00-00
|
|
.. gh-issue: 100239
|
|
.. nonce: binopxt
|
|
.. section: Core and Builtins
|
|
|
|
Propagate result type and uniqueness information through
|
|
``_BINARY_OP_EXTEND`` in the tier 2 optimizer, enabling elimination of
|
|
downstream type guards and selection of inplace float operations.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-05-15-20-00
|
|
.. gh-issue: 148144
|
|
.. nonce: f7qA0x
|
|
.. section: Core and Builtins
|
|
|
|
Initialize ``_PyInterpreterFrame.visited`` when copying interpreter frames
|
|
so incremental GC does not read an uninitialized byte from generator and
|
|
frame-object copies.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-05-00-00-00
|
|
.. gh-issue: 148072
|
|
.. nonce: xid9Pe
|
|
.. section: Core and Builtins
|
|
|
|
Cache ``pickle.dumps`` and ``pickle.loads`` per interpreter in the XIData
|
|
framework, avoiding repeated module lookups on every cross-interpreter data
|
|
transfer. This speeds up
|
|
:class:`~concurrent.futures.InterpreterPoolExecutor` for mutable types
|
|
(``list``, ``dict``) by 1.7x--3.3x.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-04-22-20-00
|
|
.. gh-issue: 148110
|
|
.. nonce: cL5x2Q
|
|
.. section: Core and Builtins
|
|
|
|
Fix :func:`sys.set_lazy_imports_filter` so relative lazy imports pass the
|
|
resolved imported module name to the filter callback. Patch by Pablo
|
|
Galindo.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-04-20-59-12
|
|
.. gh-issue: 148083
|
|
.. nonce: 9ZHNBN
|
|
.. section: Core and Builtins
|
|
|
|
Constant-fold ``_CONTAINS_OP_SET`` for :class:`frozenset`. Patch by Donghee
|
|
Na.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-01-12-52-31
|
|
.. gh-issue: 144319
|
|
.. nonce: iZk4hs
|
|
.. section: Core and Builtins
|
|
|
|
Fix a bug that could cause applications with specific allocation patterns to
|
|
leak memory via Huge Pages if compiled with Huge Page support. Patch by
|
|
Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2026-04-01-12-35-55
|
|
.. gh-issue: 147985
|
|
.. nonce: YVirHJ
|
|
.. section: Core and Builtins
|
|
|
|
Make :c:func:`PySet_Contains` attempt a lock-free lookup, similar to
|
|
:meth:`!set.__contains__`. This avoids acquiring the set object mutex in
|
|
the normal case.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-31-18-07-53
|
|
.. gh-issue: 147856
|
|
.. nonce: 62Dwee
|
|
.. section: Core and Builtins
|
|
|
|
Allow the *count* argument of :meth:`bytes.replace` to be a keyword.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-31-01-06-35
|
|
.. gh-issue: 146615
|
|
.. nonce: fix-method-get
|
|
.. section: Core and Builtins
|
|
|
|
Fix a crash in :meth:`~object.__get__` for :c:expr:`METH_METHOD` descriptors
|
|
when an invalid (non-type) object is passed as the second argument. Patch by
|
|
Steven Sun.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-30-20-00-00
|
|
.. gh-issue: 146306
|
|
.. nonce: C45609
|
|
.. section: Core and Builtins
|
|
|
|
Optimize compact integer arithmetic in the JIT by mutating
|
|
uniquely-referenced operands in place, avoiding allocation of a new int
|
|
object. Speeds up the pyperformance ``spectral_norm`` benchmark by ~10%.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-29-11-39-05
|
|
.. gh-issue: 146587
|
|
.. nonce: YJicXt
|
|
.. section: Core and Builtins
|
|
|
|
Fix type slot assignment incase of multiple slots for same name in type
|
|
object implementation. Patch by Kumar Aditya.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-27-17-14-18
|
|
.. gh-issue: 126910
|
|
.. nonce: hooVFQ
|
|
.. section: Core and Builtins
|
|
|
|
Set frame pointers in ``aarch64-unknown-linux-gnu`` JIT code, allowing most
|
|
native profilers and debuggers to unwind through them. Patch by Diego Russo
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-11-18-45
|
|
.. gh-issue: 146388
|
|
.. nonce: O0u1c3
|
|
.. section: Core and Builtins
|
|
|
|
Adds a null check to handle when the JIT optimizer runs out of space when
|
|
dealing with contradictions in ``make_bottom``.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-24-13-06-52
|
|
.. gh-issue: 146369
|
|
.. nonce: 6wDI6S
|
|
.. section: Core and Builtins
|
|
|
|
Ensure ``-X lazy_imports=none``` and ``PYTHON_LAZY_IMPORTS=none``` override
|
|
``__lazy_modules__``. Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-22-19-30-00
|
|
.. gh-issue: 146308
|
|
.. nonce: AxnRVA
|
|
.. section: Core and Builtins
|
|
|
|
Fixed multiple error handling issues in the :mod:`!_remote_debugging` module
|
|
including a double-free in code object caching, memory leaks on allocation
|
|
failure, missing exception checks in binary format varint decoding,
|
|
reference leaks on error paths in frame chain processing, and inconsistent
|
|
thread status error reporting across platforms. Patch by Pablo Galindo.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-22-12-00-00
|
|
.. gh-issue: 146306
|
|
.. nonce: 870ef4
|
|
.. section: Core and Builtins
|
|
|
|
Optimize float arithmetic in the JIT by mutating uniquely-referenced
|
|
operands in place, avoiding allocation of a new float object. Speeds up the
|
|
pyperformance ``nbody`` benchmark by ~19%.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-15-05-14
|
|
.. gh-issue: 146128
|
|
.. nonce: DG1Hfa
|
|
.. section: Core and Builtins
|
|
|
|
Fix a bug which could cause constant values to be partially corrupted in
|
|
AArch64 JIT code. This issue is theoretical, and hasn't actually been
|
|
observed in unmodified Python interpreters.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-11-55-16
|
|
.. gh-issue: 146250
|
|
.. nonce: ahl3O2
|
|
.. section: Core and Builtins
|
|
|
|
Fixed a memory leak in :exc:`SyntaxError` when re-initializing it.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-08-48-25
|
|
.. gh-issue: 146245
|
|
.. nonce: cqM3_4
|
|
.. section: Core and Builtins
|
|
|
|
Fixed reference leaks in :mod:`socket` when audit hooks raise exceptions in
|
|
:func:`socket.getaddrinfo` and :meth:`!socket.sendto`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-08-11-58
|
|
.. gh-issue: 146151
|
|
.. nonce: 4-lhim
|
|
.. section: Core and Builtins
|
|
|
|
:class:`memoryview` now supports the :c:expr:`float complex` and
|
|
:c:expr:`double complex` C types: formatting characters ``'F'`` and ``'D'``
|
|
respectively. Patch by Sergey B Kirpichev.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-13-55-14
|
|
.. gh-issue: 146196
|
|
.. nonce: Zg70Kb
|
|
.. section: Core and Builtins
|
|
|
|
Fix potential Undefined Behavior in :c:func:`PyUnicodeWriter_WriteASCII` by
|
|
adding a zero-length check. Patch by Shamil Abdulaev.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-13-07-33
|
|
.. gh-issue: 146227
|
|
.. nonce: MqBPEo
|
|
.. section: Core and Builtins
|
|
|
|
Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 atomics backend
|
|
(``pyatomic_std.h``), which used a 32-bit atomic load instead of 16-bit.
|
|
Found by Mohammed Zuhaib.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-12-52-55
|
|
.. gh-issue: 146205
|
|
.. nonce: M4yKdf
|
|
.. section: Core and Builtins
|
|
|
|
Fixed a bug where :meth:`select.epoll.close`, :meth:`select.kqueue.close`,
|
|
and :meth:`select.devpoll.close` silently ignored errors.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-12-26-24
|
|
.. gh-issue: 146199
|
|
.. nonce: vV8V9s
|
|
.. section: Core and Builtins
|
|
|
|
Comparison of code objects now handles errors correctly.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-11-34-17
|
|
.. gh-issue: 145667
|
|
.. nonce: _Agp9o
|
|
.. section: Core and Builtins
|
|
|
|
Remove the ``GET_ITER_YIELD_FROM`` instruction, modifying ``SEND`` to pair
|
|
with ``GET_ITER`` when compiling ``yield from`` expressions.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-00-39-25
|
|
.. gh-issue: 146192
|
|
.. nonce: 8aQ6sC
|
|
.. section: Core and Builtins
|
|
|
|
Add Base32 support to :mod:`binascii` and improve the performance of the
|
|
Base32 converters in :mod:`base64`. Patch by James Seo.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-19-16-16-40
|
|
.. gh-issue: 135871
|
|
.. nonce: jSExZ3
|
|
.. section: Core and Builtins
|
|
|
|
Improve multithreaded scaling of PyMutex in low-contention scenarios by
|
|
reloading the lock's internal state, without slowing down high-contention
|
|
scenarios.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-19-01-19-34
|
|
.. gh-issue: 146096
|
|
.. nonce: R9tkJX
|
|
.. section: Core and Builtins
|
|
|
|
Fixed segmentation fault when called repr for BaseExceptionGroup with empty
|
|
or 1-size tuple args.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-18-18-52-00
|
|
.. gh-issue: 146056
|
|
.. nonce: r1tVSo
|
|
.. section: Core and Builtins
|
|
|
|
Fix :func:`repr` for lists and tuples containing ``NULL``\ s.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-14-20-56
|
|
.. gh-issue: 145059
|
|
.. nonce: aB3xKm
|
|
.. section: Core and Builtins
|
|
|
|
Fixed ``sys.lazy_modules`` to include lazy modules without submodules. Patch
|
|
by Bartosz Sławecki.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-00-00-00
|
|
.. gh-issue: 146041
|
|
.. nonce: 7799bb
|
|
.. section: Core and Builtins
|
|
|
|
Fix free-threading scaling bottleneck in :func:`sys.intern` and
|
|
:c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when the
|
|
string is already interned and immortalized.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-21-45-35
|
|
.. gh-issue: 145990
|
|
.. nonce: tmXwRB
|
|
.. section: Core and Builtins
|
|
|
|
``python --help-env`` sections are now sorted by environment variable name.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-20-47-34
|
|
.. gh-issue: 145990
|
|
.. nonce: 14BUzw
|
|
.. section: Core and Builtins
|
|
|
|
``python --help-xoptions`` is now sorted by ``-X`` option name.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-13-12-24-17
|
|
.. gh-issue: 145876
|
|
.. nonce: LWFO2K
|
|
.. section: Core and Builtins
|
|
|
|
:exc:`AttributeError`\ s and :exc:`KeyError`\ s raised in :meth:`!keys` or
|
|
:meth:`!__getitem__` during dictionary unpacking (``{**mymapping}`` or
|
|
``func(**mymapping)``) are no longer masked by :exc:`TypeError`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-13-09-48-57
|
|
.. gh-issue: 127958
|
|
.. nonce: U-znTv
|
|
.. section: Core and Builtins
|
|
|
|
Support tracing from function entrypoints in the JIT. Patch by Ken Jin.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-11-21-27-28
|
|
.. gh-issue: 145376
|
|
.. nonce: LfDvyw
|
|
.. section: Core and Builtins
|
|
|
|
Fix GC tracking in ``structseq.__replace__()``.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-11-19-09-47
|
|
.. gh-issue: 145792
|
|
.. nonce: X5KUhc
|
|
.. section: Core and Builtins
|
|
|
|
Fix out-of-bounds access when invoking faulthandler on a CPython build
|
|
compiled without support for VLAs.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-11-00-13-59
|
|
.. gh-issue: 142183
|
|
.. nonce: 2iVhJH
|
|
.. section: Core and Builtins
|
|
|
|
Avoid a pathological case where repeated calls at a specific stack depth
|
|
could be significantly slower.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-22-38-40
|
|
.. gh-issue: 145779
|
|
.. nonce: 5375381d80
|
|
.. section: Core and Builtins
|
|
|
|
Improve scaling of :func:`classmethod` and :func:`staticmethod` calls in the
|
|
free-threaded build by avoiding the descriptor ``__get__`` call.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-19-00-39
|
|
.. gh-issue: 145783
|
|
.. nonce: dS5TM9
|
|
.. section: Core and Builtins
|
|
|
|
Fix an unlikely crash in the parser when certain errors were erroneously not
|
|
propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-12-52-06
|
|
.. gh-issue: 145685
|
|
.. nonce: 80B7gK
|
|
.. section: Core and Builtins
|
|
|
|
Improve scaling of type attribute lookups in the :term:`free-threaded build`
|
|
by avoiding contention on the internal type lock.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-09-00-00-00
|
|
.. gh-issue: 145713
|
|
.. nonce: KR6azvzI
|
|
.. section: Core and Builtins
|
|
|
|
Make :meth:`bytearray.resize` thread-safe in the free-threaded build by
|
|
using a critical section and calling the lock-held variant of the resize
|
|
function.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-28-18-42-36
|
|
.. gh-issue: 145036
|
|
.. nonce: 70Kbfz
|
|
.. section: Core and Builtins
|
|
|
|
In free-threaded build, fix race condition when calling :meth:`!__sizeof__`
|
|
on a :class:`list`
|
|
|
|
..
|
|
|
|
.. date: 2026-02-14-15-51-16
|
|
.. gh-issue: 134584
|
|
.. nonce: 6WFSuB
|
|
.. section: Core and Builtins
|
|
|
|
Eliminate redundant refcounting for ``MATCH_CLASS`` in the JIT.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-14-13-07-08
|
|
.. gh-issue: 69605
|
|
.. nonce: 4aL4hn
|
|
.. section: Core and Builtins
|
|
|
|
Add :mod:`math.integer` to :term:`REPL` auto-completion of imports.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-08-01-19-50
|
|
.. gh-issue: 131798
|
|
.. nonce: PaWDNH
|
|
.. section: Core and Builtins
|
|
|
|
Optimize ``_ITER_CHECK_RANGE`` and ``_ITER_CHECK_LIST`` in the JIT
|
|
|
|
..
|
|
|
|
.. date: 2026-01-31-15-15-43
|
|
.. gh-issue: 143414
|
|
.. nonce: Jgl4xu
|
|
.. section: Core and Builtins
|
|
|
|
Add tracking to the JIT optimizer to determine whether a reference is
|
|
uniquely owned or shared
|
|
|
|
..
|
|
|
|
.. date: 2026-01-10-12-59-58
|
|
.. gh-issue: 143636
|
|
.. nonce: dzr26e
|
|
.. section: Core and Builtins
|
|
|
|
Fix a crash when calling :class:`SimpleNamespace.__replace__()
|
|
<types.SimpleNamespace>` on non-namespace instances. Patch by Bénédikt Tran.
|
|
|
|
..
|
|
|
|
.. date: 2026-01-07-23-07-17
|
|
.. gh-issue: 126910
|
|
.. nonce: d8zdm-
|
|
.. section: Core and Builtins
|
|
|
|
Set frame pointers in ``x86_64-unknown-linux-gnu`` JIT code, allowing most
|
|
native profilers and debuggers to unwind through them.
|
|
|
|
..
|
|
|
|
.. date: 2025-11-02-16-23-17
|
|
.. gh-issue: 140594
|
|
.. nonce: YIWUpl
|
|
.. section: Core and Builtins
|
|
|
|
Fix an out of bounds read when a single NUL character is read from the
|
|
standard input. Patch by Shamil Abdulaev.
|
|
|
|
..
|
|
|
|
.. date: 2025-11-01-01-49-52
|
|
.. gh-issue: 140870
|
|
.. nonce: iknc12
|
|
.. section: Core and Builtins
|
|
|
|
Add support for module attributes in the :term:`REPL` auto-completion of
|
|
imports.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-07-01-04-00
|
|
.. gh-issue: 144503
|
|
.. nonce: argvfs
|
|
.. section: Library
|
|
|
|
Fix a regression introduced in 3.14.3 and 3.13.12 where the
|
|
:mod:`multiprocessing` ``forkserver`` start method would fail with
|
|
:exc:`BrokenPipeError` when the parent process had a very large
|
|
:data:`sys.argv`. The argv is now passed to the forkserver as separate
|
|
command-line arguments rather than being embedded in the ``-c`` command
|
|
string, avoiding the operating system's per-argument length limit.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-06-11-20-24
|
|
.. gh-issue: 148153
|
|
.. nonce: ZtsuTl
|
|
.. section: Library
|
|
|
|
:func:`base64.b32encode` now always raises :exc:`ValueError` instead of
|
|
:exc:`AssertionError` for the value of *map01* with invalid length.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-01-18-17-55
|
|
.. gh-issue: 73613
|
|
.. nonce: PLEebm
|
|
.. section: Library
|
|
|
|
Add the *padded* parameter in functions related to Base32 and Base64 codecs
|
|
in the :mod:`binascii` and :mod:`base64` modules. In the encoding functions
|
|
it controls whether the pad character can be added in the output, in the
|
|
decoding functions it controls whether padding is required in input. Padding
|
|
of input no longer required in :func:`base64.urlsafe_b64decode` by default.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-01-11-05-36
|
|
.. gh-issue: 146613
|
|
.. nonce: GzjUFK
|
|
.. section: Library
|
|
|
|
:mod:`itertools`: Fix a crash in :func:`itertools.groupby` when the grouper
|
|
iterator is concurrently mutated.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-31-19-54-32
|
|
.. gh-issue: 147944
|
|
.. nonce: 3dn8GZ
|
|
.. section: Library
|
|
|
|
Accepted range for the *bytes_per_sep* argument of :meth:`bytes.hex`,
|
|
:meth:`bytearray.hex`, :meth:`memoryview.hex`, and :func:`binascii.b2a_hex`
|
|
is now increased, so passing ``sys.maxsize`` and ``-sys.maxsize`` is now
|
|
valid.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-28-13-19-20
|
|
.. gh-issue: 146080
|
|
.. nonce: srN12a
|
|
.. section: Library
|
|
|
|
:mod:`ssl`: fix a crash when an SNI callback tries to use an SSL object that
|
|
has already been garbage-collected. Patch by Bénédikt Tran.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-28-12-20-19
|
|
.. gh-issue: 146556
|
|
.. nonce: Y8Eson
|
|
.. section: Library
|
|
|
|
Fix :func:`annotationlib.get_annotations` hanging indefinitely when called
|
|
with ``eval_str=True`` on a callable that has a circular ``__wrapped__``
|
|
chain (e.g. ``f.__wrapped__ = f``). Cycle detection using an id-based
|
|
visited set now stops the traversal and falls back to the globals found so
|
|
far, mirroring the approach of :func:`inspect.unwrap`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-28-12-05-34
|
|
.. gh-issue: 146090
|
|
.. nonce: wf9_ef
|
|
.. section: Library
|
|
|
|
:mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection.create_collation`
|
|
fails with `SQLITE_BUSY <https://sqlite.org/rescode.html#busy>`__. Patch by
|
|
Bénédikt Tran.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-28-12-01-48
|
|
.. gh-issue: 146090
|
|
.. nonce: wh1qJR
|
|
.. section: Library
|
|
|
|
:mod:`sqlite3`: properly raise :exc:`MemoryError` instead of
|
|
:exc:`SystemError` when a context callback fails to be allocated. Patch by
|
|
Bénédikt Tran.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-27-12-00-00
|
|
.. gh-issue: 146507
|
|
.. nonce: 1D95A7
|
|
.. section: Library
|
|
|
|
Make :meth:`asyncio.SelectorEventLoop` stream transport's
|
|
:meth:`~asyncio.WriteTransport.get_write_buffer_size` O(1) by maintaining a
|
|
running byte counter instead of iterating the buffer on every call.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-14-51-55
|
|
.. gh-issue: 145056
|
|
.. nonce: QS-6l1
|
|
.. section: Library
|
|
|
|
Fix merging of :class:`collections.OrderedDict` and :class:`frozendict`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-14-44-07
|
|
.. gh-issue: 145056
|
|
.. nonce: L9KPC3
|
|
.. section: Library
|
|
|
|
Add support for merging :class:`collections.UserDict` and
|
|
:class:`frozendict`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-11-04-42
|
|
.. gh-issue: 145633
|
|
.. nonce: RWjlaX
|
|
.. section: Library
|
|
|
|
Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` to raise
|
|
:exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-02-06-52
|
|
.. gh-issue: 146440
|
|
.. nonce: HXjhQO
|
|
.. section: Library
|
|
|
|
:mod:`json`: Add the *array_hook* parameter to :func:`~json.load` and
|
|
:func:`~json.loads` functions: allow a callback for JSON literal array types
|
|
to customize Python lists in the resulting decoded object. Passing combined
|
|
:class:`frozendict` to *object_pairs_hook* param and :class:`tuple` to
|
|
``array_hook`` will yield a deeply nested immutable Python structure
|
|
representing the JSON data.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-25-21-08-51
|
|
.. gh-issue: 146431
|
|
.. nonce: zERPwe
|
|
.. section: Library
|
|
|
|
Add the *wrapcol* parameter to :mod:`base64` functions
|
|
:func:`~base64.b16encode`, :func:`~base64.b32encode`,
|
|
:func:`~base64.b32hexencode`, :func:`~base64.b85encode` and
|
|
:func:`~base64.z85encode`, and :mod:`binascii` functions
|
|
:func:`~binascii.b2a_base32` and :func:`~binascii.b2a_base85`. Add the
|
|
*ignorechars* parameter to :mod:`base64` functions
|
|
:func:`~base64.b16decode`, :func:`~base64.b32decode`,
|
|
:func:`~base64.b32hexdecode`, :func:`~base64.b85decode` and
|
|
:func:`~base64.z85decode`, and :mod:`binascii` functions
|
|
:func:`~binascii.a2b_hex`, :func:`~binascii.unhexlify`,
|
|
:func:`~binascii.a2b_base32` and :func:`~binascii.a2b_base85`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-24-03-49-50
|
|
.. gh-issue: 146310
|
|
.. nonce: WhlDir
|
|
.. section: Library
|
|
|
|
The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` wheel packages
|
|
in the current directory.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-16-03-16
|
|
.. gh-issue: 141510
|
|
.. nonce: tKptA7
|
|
.. section: Library
|
|
|
|
Support :class:`frozendict` in :mod:`plistlib`, for serialization only.
|
|
Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-10-02-20
|
|
.. gh-issue: 146238
|
|
.. nonce: 2WpMOj
|
|
.. section: Library
|
|
|
|
Support half-floats (type code ``'e'`` of the :mod:`struct` module) in the
|
|
:mod:`array` module. Patch by Sergey B Kirpichev.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-08-23-26
|
|
.. gh-issue: 140947
|
|
.. nonce: owZ4r_
|
|
.. section: Library
|
|
|
|
Fix incorrect contextvars handling in server tasks created by
|
|
:mod:`asyncio`. Patch by Kumar Aditya.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-21-06-21-38
|
|
.. gh-issue: 146151
|
|
.. nonce: yNpgml
|
|
.. section: Library
|
|
|
|
Support the :c:expr:`float complex` and :c:expr:`double complex` C types in
|
|
the :mod:`array` module: formatting characters ``'F'`` and ``'D'``
|
|
respectively. Patch by Sergey B Kirpichev.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-16-17-31
|
|
.. gh-issue: 143387
|
|
.. nonce: 9Waopa
|
|
.. section: Library
|
|
|
|
In importlib.metadata, when a distribution file is corrupt and there is no
|
|
metadata file, calls to ``Distribution.metadata()`` (including implicit
|
|
calls from other properties like ``.name`` and ``.requires``) will now raise
|
|
a ``MetadataNotFound`` Exception. This allows callers to distinguish between
|
|
missing metadata and a degenerate (empty) metadata. Previously, if the file
|
|
was missing, an empty ``PackageMetadata`` would be returned and would be
|
|
indistinguishable from the presence of an empty file.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-14-53-00
|
|
.. gh-issue: 146228
|
|
.. nonce: OJVEDL
|
|
.. section: Library
|
|
|
|
Cached FastPath objects in importlib.metadata are now cleared on fork,
|
|
avoiding broken references to zip files during fork.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-20-00-28-00
|
|
.. gh-issue: 146171
|
|
.. nonce: P5Jk2R7v
|
|
.. section: Library
|
|
|
|
Nested :exc:`AttributeError` suggestions now include property-backed
|
|
attributes on nested objects without executing the property getter.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-18-23-54-36
|
|
.. gh-issue: 145410
|
|
.. nonce: NvLWj5
|
|
.. section: Library
|
|
|
|
On Windows, :func:`sysconfig.get_platform` now gets the platform from the
|
|
``_sysconfig`` module instead of parsing :data:`sys.version` string. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-18-16-58-17
|
|
.. gh-issue: 146091
|
|
.. nonce: lBbo1L
|
|
.. section: Library
|
|
|
|
Fix a bug in :func:`termios.tcsetwinsize` where passing a sequence that
|
|
raises an exception in ``__getitem__`` would cause a :exc:`SystemError`
|
|
instead of propagating the original exception.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-20-52-24
|
|
.. gh-issue: 146083
|
|
.. nonce: NxZa_c
|
|
.. section: Library
|
|
|
|
Update bundled `libexpat <https://libexpat.github.io/>`_ to version 2.7.5.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-20-41-27
|
|
.. gh-issue: 146076
|
|
.. nonce: yoBNnB
|
|
.. section: Library
|
|
|
|
:mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` from a
|
|
:class:`zoneinfo.ZoneInfo` subclass.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-19-51-05
|
|
.. gh-issue: 123471
|
|
.. nonce: oY4UR5
|
|
.. section: Library
|
|
|
|
Make concurrent iteration over :class:`itertools.zip_longest` safe under
|
|
free-threading.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-19-30-45
|
|
.. gh-issue: 146075
|
|
.. nonce: 85sCSh
|
|
.. section: Library
|
|
|
|
Errors when calling :func:`functools.partial` with a malformed keyword will
|
|
no longer crash the interpreter.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-17-11-46-20
|
|
.. gh-issue: 146054
|
|
.. nonce: udYcqn
|
|
.. section: Library
|
|
|
|
Limit the size of :func:`encodings.search_function` cache. Found by OSS Fuzz
|
|
in :oss-fuzz:`493449985`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-16-00-00-00
|
|
.. gh-issue: 146004
|
|
.. nonce: xOptProp
|
|
.. section: Library
|
|
|
|
All :option:`-X` options from the Python command line are now propagated to
|
|
child processes spawned by :mod:`multiprocessing`, not just a hard-coded
|
|
subset. This makes the behavior consistent between default "spawn" and
|
|
"forkserver" start methods and the old "fork" start method. The options
|
|
that were previously not propagated are: ``context_aware_warnings``,
|
|
``cpu_count``, ``disable-remote-debug``, ``int_max_str_digits``,
|
|
``lazy_imports``, ``no_debug_ranges``, ``pathconfig_warnings``, ``perf``,
|
|
``perf_jit``, ``presite``, ``pycache_prefix``, ``thread_inherit_context``,
|
|
and ``warn_default_encoding``.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-16-38-48
|
|
.. gh-issue: 145980
|
|
.. nonce: mRze5H
|
|
.. section: Library
|
|
|
|
Added the *alphabet* parameter in :func:`~binascii.b2a_base64`,
|
|
:func:`~binascii.a2b_base64`, :func:`~binascii.b2a_base85` and
|
|
:func:`~binascii.a2b_base85` and a number of ``*_ALPHABET`` constants in the
|
|
:mod:`binascii` module. Removed :func:`!b2a_z85` and :func:`!a2b_z85`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-10-17-51
|
|
.. gh-issue: 145968
|
|
.. nonce: gZexry
|
|
.. section: Library
|
|
|
|
Fix translation in :func:`base64.b64decode` when altchars overlaps with the
|
|
standard ones.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-00-00-00
|
|
.. gh-issue: 145966
|
|
.. nonce: tCI0uD4I
|
|
.. section: Library
|
|
|
|
Non-:exc:`AttributeError` exceptions raised during dialect attribute lookup
|
|
in :mod:`csv` are no longer silently suppressed.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-12-21-01-48
|
|
.. gh-issue: 145883
|
|
.. nonce: lUvXcc
|
|
.. section: Library
|
|
|
|
:mod:`zoneinfo`: Fix heap buffer overflow reads from malformed TZif data.
|
|
Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:`492230068`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-12-12-17-39
|
|
.. gh-issue: 145850
|
|
.. nonce: uW3stt
|
|
.. section: Library
|
|
|
|
Changed some implementation details in :class:`struct.Struct`: calling it
|
|
with non-ASCII string format will now raise a :exc:`ValueError` instead of
|
|
:exc:`UnicodeEncodeError`, calling it with non-ASCII bytes format will now
|
|
raise a :exc:`ValueError` instead of :exc:`struct.error`, getting the
|
|
:attr:`!format` attribute of uninitialized object will now raise an
|
|
:exc:`AttributeError` instead of :exc:`RuntimeError`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-11-10-25-32
|
|
.. gh-issue: 123720
|
|
.. nonce: TauFRx
|
|
.. section: Library
|
|
|
|
asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown regression. Since
|
|
3.12, cancelling ``serve_forever()`` could hang waiting for a handler
|
|
blocked on a read from a client that never closed (effectively requiring two
|
|
interrupts to stop); the shutdown sequence now ensures client streams are
|
|
closed so ``serve_forever()`` exits promptly and handlers observe EOF.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-19-50-59
|
|
.. gh-issue: 138122
|
|
.. nonce: CsoBEo
|
|
.. section: Library
|
|
|
|
The ``profiling.sampling`` module now supports differential flamegraph
|
|
visualization via ``--diff-flamegraph`` to compare two profiling runs.
|
|
Functions are colored red (regressions), blue (improvements), gray
|
|
(neutral), or purple (new). Elided stacks show code paths that disappeared
|
|
between runs.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-14-57-15
|
|
.. gh-issue: 145754
|
|
.. nonce: YBL5Ko
|
|
.. section: Library
|
|
|
|
Request signature during mock autospec with ``FORWARDREF`` annotation
|
|
format. This prevents runtime errors when an annotation uses a name that is
|
|
not defined at runtime.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-14-13-12
|
|
.. gh-issue: 145750
|
|
.. nonce: iQsTeX
|
|
.. section: Library
|
|
|
|
Avoid undefined behaviour from signed integer overflow when parsing format
|
|
strings in the :mod:`struct` module. Found by OSS Fuzz in
|
|
:oss-fuzz:`488466741`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-01-54-34
|
|
.. gh-issue: 145719
|
|
.. nonce: okJRoK
|
|
.. section: Library
|
|
|
|
Add ``application/efi`` MIME type to :mod:`mimetypes`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-01-48-12
|
|
.. gh-issue: 145717
|
|
.. nonce: dPc0Rt
|
|
.. section: Library
|
|
|
|
Add a few Microsoft-specific MIME types.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-09-19-59-05
|
|
.. gh-issue: 145703
|
|
.. nonce: 4EEP7J
|
|
.. section: Library
|
|
|
|
:mod:`asyncio`: Make sure that :meth:`loop.call_at <asyncio.loop.call_at>`
|
|
and :meth:`loop.call_later <asyncio.loop.call_later>` trigger scheduled
|
|
events on time when the clock resolution becomes too small.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-09-18-33-16
|
|
.. gh-issue: 145697
|
|
.. nonce: d6hFmm
|
|
.. section: Library
|
|
|
|
Add ``application/sql`` and ``application/vnd.sqlite3`` into ``mimetypes``.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-09-00-00-00
|
|
.. gh-issue: 145492
|
|
.. nonce: 457Afc
|
|
.. section: Library
|
|
|
|
Fix infinite recursion in :class:`collections.defaultdict` ``__repr__`` when
|
|
a ``defaultdict`` contains itself. Based on analysis by KowalskiThomas in
|
|
:gh:`145492`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-08-00-00-00
|
|
.. gh-issue: 145650
|
|
.. nonce: LgRepr
|
|
.. section: Library
|
|
|
|
Add :meth:`~object.__repr__` support to :class:`logging.Formatter` and
|
|
:class:`logging.Filter`, showing the format string and filter name
|
|
respectively.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-07-14-34-39
|
|
.. gh-issue: 145587
|
|
.. nonce: flFQ5-
|
|
.. section: Library
|
|
|
|
Resolved a performance regression in ``multiprocessing.connection.wait`` on
|
|
Windows that caused infinite busy loops when called with no objects. The
|
|
function now properly yields control to the OS to conserve CPU resources.
|
|
Patch By Shrey Naithani
|
|
|
|
..
|
|
|
|
.. date: 2026-03-07-02-44-52
|
|
.. gh-issue: 145616
|
|
.. nonce: x8Mf23
|
|
.. section: Library
|
|
|
|
Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM
|
|
kernel
|
|
|
|
..
|
|
|
|
.. date: 2026-03-05-14-13-10
|
|
.. gh-issue: 145546
|
|
.. nonce: 3tnlxx
|
|
.. section: Library
|
|
|
|
Fix ``unittest.util.sorted_list_difference()`` to deduplicate remaining
|
|
elements when one input list is exhausted before the other.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-03-23-21-40
|
|
.. gh-issue: 145446
|
|
.. nonce: 0c-TJX
|
|
.. section: Library
|
|
|
|
Now :mod:`functools` is safer in free-threaded build when using keywords in
|
|
:func:`functools.partial`
|
|
|
|
..
|
|
|
|
.. date: 2026-02-26-20-13-16
|
|
.. gh-issue: 145264
|
|
.. nonce: 4pggX_
|
|
.. section: Library
|
|
|
|
Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64.b64decode`,
|
|
etc) no longer ignores excess data after the first padded quad in non-strict
|
|
(default) mode. Instead, in conformance with :rfc:`4648`, section 3.3, it
|
|
now ignores the pad character, "=", if it is present before the end of the
|
|
encoded data.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-23-21-28-12
|
|
.. gh-issue: 145035
|
|
.. nonce: J5UjS6
|
|
.. section: Library
|
|
|
|
Allows omitting the internal library ``_pyrepl`` with limited loss of
|
|
functionality. This allows complete removal of the modern REPL, which is an
|
|
unsupported configuration, but still desirable for some distributions.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-19-16-34-18
|
|
.. gh-issue: 144270
|
|
.. nonce: wJRtSr
|
|
.. section: Library
|
|
|
|
Made the *tag* parameter of :class:`xml.etree.ElementTree.Element` and the
|
|
*parent* and *tag* parameters of :func:`xml.etree.ElementTree.SubElement`
|
|
positional-only, matching the behavior of the C accelerator.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-19-12-00-00
|
|
.. gh-issue: 144984
|
|
.. nonce: b93995c982
|
|
.. section: Library
|
|
|
|
Fix crash in :meth:`xml.parsers.expat.xmlparser.ExternalEntityParserCreate`
|
|
when an allocation fails. The error paths could dereference NULL
|
|
``handlers`` and double-decrement the parent parser's reference count.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-18-21-45-00
|
|
.. gh-issue: 144975
|
|
.. nonce: Ab3XyZ
|
|
.. section: Library
|
|
|
|
:meth:`wave.Wave_write.setframerate` now validates the frame rate after
|
|
rounding to an integer, preventing values like ``0.5`` from being accepted
|
|
and causing confusing errors later. Patch by Michiel Beijen.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-17-03-43-07
|
|
.. gh-issue: 140715
|
|
.. nonce: twmcM_
|
|
.. section: Library
|
|
|
|
Add ``%n`` and ``%t`` support to :meth:`~datetime.datetime.strptime`.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-11-21-01-30
|
|
.. gh-issue: 144259
|
|
.. nonce: OAhOR8
|
|
.. section: Library
|
|
|
|
Fix inconsistent display of long multiline pasted content in the REPL.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-08-22-04-06
|
|
.. gh-issue: 140814
|
|
.. nonce: frzSpn
|
|
.. section: Library
|
|
|
|
:func:`multiprocessing.freeze_support` no longer sets the default start
|
|
method as a side effect, which previously caused a subsequent
|
|
:func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-04-20-30-59
|
|
.. gh-issue: 123471
|
|
.. nonce: 1dnPvs
|
|
.. section: Library
|
|
|
|
Make concurrent iteration over :class:`itertools.accumulate` safe under
|
|
free-threading.
|
|
|
|
..
|
|
|
|
.. date: 2026-01-10-16-23-21
|
|
.. gh-issue: 143715
|
|
.. nonce: HZrfSA
|
|
.. section: Library
|
|
|
|
Calling the ``Struct.__new__()`` without required argument now is
|
|
deprecated. Calling :meth:`~object.__init__` method on initialized
|
|
:class:`~struct.Struct` objects is deprecated.
|
|
|
|
..
|
|
|
|
.. date: 2025-12-18-00-00-00
|
|
.. gh-issue: 142763
|
|
.. nonce: AJpZPVG5
|
|
.. section: Library
|
|
|
|
Fix a race condition between :class:`zoneinfo.ZoneInfo` creation and
|
|
:func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:`KeyError`.
|
|
|
|
..
|
|
|
|
.. date: 2025-11-18-06-35-53
|
|
.. gh-issue: 141707
|
|
.. nonce: DBmQIy
|
|
.. section: Library
|
|
|
|
Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` to ``DIRTYPE``
|
|
when parsing GNU long name or link headers.
|
|
|
|
..
|
|
|
|
.. date: 2025-11-15-23-14-30
|
|
.. gh-issue: 138577
|
|
.. nonce: KbShrt
|
|
.. section: Library
|
|
|
|
:func:`getpass.getpass` with non-empty ``echo_char`` now handles keyboard
|
|
shortcuts including Ctrl+A/E (cursor movement), Ctrl+K/U (kill line), Ctrl+W
|
|
(erase word), and Ctrl+V (literal next) by reading the terminal's control
|
|
character settings and processing them appropriately in non-canonical mode.
|
|
Patch by Sanyam Khurana.
|
|
|
|
..
|
|
|
|
.. date: 2025-10-13-16-43-36
|
|
.. gh-issue: 140049
|
|
.. nonce: VvmAzN
|
|
.. section: Library
|
|
|
|
:func:`traceback.format_exception_only` now colorizes exception notes.
|
|
|
|
..
|
|
|
|
.. date: 2025-10-11-11-50-59
|
|
.. gh-issue: 139933
|
|
.. nonce: 05MHlx
|
|
.. section: Library
|
|
|
|
Improve :exc:`AttributeError` suggestions for classes with a custom
|
|
:meth:`~object.__dir__` method returning a list of unsortable values. Patch
|
|
by Bénédikt Tran.
|
|
|
|
..
|
|
|
|
.. date: 2025-10-05-15-38-02
|
|
.. gh-issue: 139633
|
|
.. nonce: l3P839
|
|
.. section: Library
|
|
|
|
The :mod:`netrc` security check is now run once per parse rather than once
|
|
per entry.
|
|
|
|
..
|
|
|
|
.. date: 2025-09-19-13-54-54
|
|
.. gh-issue: 130472
|
|
.. nonce: LODfdk
|
|
.. section: Library
|
|
|
|
Add fancycompleter and enable it by default when using pyrepl. This gives
|
|
colored tab completion.
|
|
|
|
..
|
|
|
|
.. date: 2025-02-07-00-48-07
|
|
.. gh-issue: 112632
|
|
.. nonce: 95MM0C
|
|
.. section: Library
|
|
|
|
Add an *expand* keyword argument for :func:`pprint.pprint`,
|
|
:func:`pprint.pformat`, :func:`pprint.pp` by passing on all *kwargs* and
|
|
:class:`pprint.PrettyPrinter`. Contributed by Stefan Todoran and Semyon
|
|
Moroz.
|
|
|
|
..
|
|
|
|
.. date: 2024-09-25-12-47-50
|
|
.. gh-issue: 66419
|
|
.. nonce: DVSukU
|
|
.. section: Library
|
|
|
|
Optional argument with :ref:`nargs` equals to ``argparse.REMAINDER`` now
|
|
consumes all remaining arguments including ``'--'``.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-10-13-10-06
|
|
.. gh-issue: 60729
|
|
.. nonce: KCCHTe
|
|
.. section: Library
|
|
|
|
Add support for floating point audio wave files in :mod:`wave`.
|
|
|
|
..
|
|
|
|
.. bpo: 36461
|
|
.. date: 2019-04-25-21-11-37
|
|
.. nonce: TO5YyP
|
|
.. section: Library
|
|
|
|
Make the target time of :meth:`timeit.Timer.autorange` configurable and add
|
|
``--target-time`` option to the command-line interface of :mod:`timeit`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-25-00-00-00
|
|
.. gh-issue: 126676
|
|
.. nonce: 052336
|
|
.. section: Documentation
|
|
|
|
Expand :mod:`argparse` documentation for ``type=bool`` with a demonstration
|
|
of the surprising behavior and pointers to common alternatives.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-09-00-00-00
|
|
.. gh-issue: 145649
|
|
.. nonce: 8BcbAB
|
|
.. section: Documentation
|
|
|
|
Fix text wrapping and formatting of ``-X`` option descriptions in the
|
|
:manpage:`python(1)` man page by using proper roff markup.
|
|
|
|
..
|
|
|
|
.. date: 2026-04-03-21-37-18
|
|
.. gh-issue: 144418
|
|
.. nonce: PusC0S
|
|
.. section: Tests
|
|
|
|
The Android testbed's emulator RAM has been increased from 2 GB to 4 GB.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-24-00-15-58
|
|
.. gh-issue: 146202
|
|
.. nonce: LgH6Bj
|
|
.. section: Tests
|
|
|
|
Fix a race condition in regrtest: make sure that the temporary directory is
|
|
created in the worker process. Previously, temp_cwd() could fail on Windows
|
|
if the "build" directory was not created. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-28-02-48-51
|
|
.. gh-issue: 146541
|
|
.. nonce: k-zlM6
|
|
.. section: Build
|
|
|
|
The Android testbed can now be built for 32-bit ARM and x86 targets.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-27-06-55-10
|
|
.. gh-issue: 146498
|
|
.. nonce: uOiCab
|
|
.. section: Build
|
|
|
|
The iOS XCframework build script now ensures libpython isn't included in
|
|
installed app content, and is more robust in identifying standard library
|
|
binary content that requires processing.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-14-35-29
|
|
.. gh-issue: 146450
|
|
.. nonce: 9Kmp5Q
|
|
.. section: Build
|
|
|
|
The Android build script was modified to improve parity with other platform
|
|
build scripts.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-12-48-42
|
|
.. gh-issue: 146446
|
|
.. nonce: 0GyMu4
|
|
.. section: Build
|
|
|
|
The clean target for the Apple/iOS XCframework build script is now more
|
|
selective when targeting a single architecture.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-26-12-27-42
|
|
.. gh-issue: 146444
|
|
.. nonce: JKJuEa
|
|
.. section: Build
|
|
|
|
The Apple/iOS build script has been moved to the Platforms directory.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-23-20-06-35
|
|
.. gh-issue: 146210
|
|
.. nonce: C01Rmq
|
|
.. section: Build
|
|
|
|
Fix building the jit stencils on Windows when the interpreter is built with
|
|
a different clang version. Patch by Chris Eibl.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-12-12-30-24
|
|
.. gh-issue: 145844
|
|
.. nonce: VOPeCU
|
|
.. section: Build
|
|
|
|
Update to WASI SDK 32.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-11-11-58-42
|
|
.. gh-issue: 145801
|
|
.. nonce: iCXa3v
|
|
.. section: Build
|
|
|
|
When Python build is optimized with GCC using PGO, use
|
|
``-fprofile-update=atomic`` option to use atomic operations when updating
|
|
profile information. This option reduces the risk of gcov Data Files (.gcda)
|
|
corruption which can cause random GCC crashes. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-10-16-58-55
|
|
.. gh-issue: 138850
|
|
.. nonce: CkqTw6
|
|
.. section: Build
|
|
|
|
Add :option:`--disable-epoll` to ``configure``
|
|
|
|
..
|
|
|
|
.. date: 2026-03-08-06-18-26
|
|
.. gh-issue: 145633
|
|
.. nonce: Ogu-RF
|
|
.. section: Build
|
|
|
|
Remove support for ancient ARM platforms (ARMv4L and ARMv5L OABI boards),
|
|
using mixed-endian representation for doubles. Patch by Sergey B Kirpichev.
|
|
|
|
..
|
|
|
|
.. date: 2026-01-08-22-27-07
|
|
.. gh-issue: 85277
|
|
.. nonce: TotySi
|
|
.. section: Build
|
|
|
|
Fix building without ``stropts.h`` or empty ``stropts.h``
|
|
|
|
..
|
|
|
|
.. date: 2025-10-19-23-44-46
|
|
.. gh-issue: 140131
|
|
.. nonce: AABF2k
|
|
.. section: Windows
|
|
|
|
Fix REPL cursor position on Windows when module completion suggestion line
|
|
hits console width.
|
|
|
|
..
|
|
|
|
.. date: 2025-10-17-01-07-03
|
|
.. gh-issue: 137586
|
|
.. nonce: kVzxvp
|
|
.. section: macOS
|
|
|
|
Invoke :program:`osascript` with absolute path in :mod:`webbrowser` and
|
|
:mod:`!turtledemo`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-22-00-00-00
|
|
.. gh-issue: 135953
|
|
.. nonce: IptOwg
|
|
.. section: Tools/Demos
|
|
|
|
Properly identify the main thread in the Gecko profiler collector by using a
|
|
status flag from the interpreter state instead of relying on
|
|
:func:`threading.main_thread` in the collector process.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-20-59-29
|
|
.. gh-issue: 145976
|
|
.. nonce: rEdUI-
|
|
.. section: Tools/Demos
|
|
|
|
Remove :file:`Misc/indent.pro`, a configuration file for GNU
|
|
:manpage:`indent(1)`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-15-11-32-35
|
|
.. gh-issue: 145976
|
|
.. nonce: mqhzmB
|
|
.. section: Tools/Demos
|
|
|
|
Remove :file:`Misc/vgrindefs` and :file:`Misc/Porting`.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-31-13-33-41
|
|
.. gh-issue: 146636
|
|
.. nonce: 5do3wt
|
|
.. section: C API
|
|
|
|
The :c:data:`Py_mod_abi` slot is now mandatory for modules created from a
|
|
slots array (using :c:func:`PyModule_FromSlotsAndSpec` or the
|
|
:c:func:`PyModExport_* <PyModExport_modulename>` export hook).
|
|
|
|
..
|
|
|
|
.. date: 2026-03-19-16-50-27
|
|
.. gh-issue: 146175
|
|
.. nonce: pISQGX
|
|
.. section: C API
|
|
|
|
The following macros are :term:`soft deprecated`: :c:macro:`Py_ALIGNED`,
|
|
:c:macro:`PY_FORMAT_SIZE_T`, :c:macro:`Py_LL`, :c:macro:`Py_ULL`,
|
|
:c:macro:`PY_LONG_LONG`, :c:macro:`PY_LLONG_MIN`, :c:macro:`PY_LLONG_MAX`,
|
|
:c:macro:`PY_ULLONG_MAX`, :c:macro:`PY_INT32_T`, :c:macro:`PY_UINT32_T`,
|
|
:c:macro:`PY_INT64_T`, :c:macro:`PY_UINT64_T`, :c:macro:`PY_SIZE_MAX`,
|
|
:c:macro:`Py_UNICODE_SIZE`, :c:macro:`Py_VA_COPY`.
|
|
|
|
The macro :c:macro:`Py_UNICODE_WIDE`, which was scheduled for removal, is
|
|
:term:`soft deprecated` instead.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-18-23-44-29
|
|
.. gh-issue: 146143
|
|
.. nonce: pwIrJq
|
|
.. section: C API
|
|
|
|
:c:func:`PyUnicodeWriter_WriteUCS4` now accepts a pointer to a constant
|
|
buffer of ``Py_UCS4``.
|
|
|
|
..
|
|
|
|
.. date: 2026-03-18-20-18-59
|
|
.. gh-issue: 146056
|
|
.. nonce: nnZIgp
|
|
.. section: C API
|
|
|
|
:c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` argument.
|
|
|
|
..
|
|
|
|
.. date: 2026-02-19-18-39-11
|
|
.. gh-issue: 145010
|
|
.. nonce: mKzjci
|
|
.. section: C API
|
|
|
|
Use GCC dialect alternatives for inline assembly in ``object.h`` so that the
|
|
Python headers compile correctly with ``-masm=intel``.
|