blob: 85b733b6d196088ebc17d3cca97f036642a21afc [file]
.. date: 2025-12-25-00-38-20
.. gh-issue: 143082
.. nonce: CYUeux
.. release date: 2026-01-14
.. section: Windows
Fix :mod:`pdb` arrow key history not working when ``stdin`` is
``sys.stdin``.
..
.. date: 2025-09-14-13-35-44
.. gh-issue: 128067
.. nonce: BGdP_A
.. section: Windows
Fix a bug in PyREPL on Windows where output without a trailing newline was
overwritten by the next prompt.
..
.. date: 2026-01-02-11-44-56
.. gh-issue: 142095
.. nonce: 4ssgnM
.. section: Tools/Demos
Make gdb 'py-bt' command use frame from thread local state when available.
Patch by Sam Gross and Victor Stinner.
..
.. date: 2026-01-09-13-52-10
.. gh-issue: 143460
.. nonce: _nW2jt
.. section: Tests
Skip tests relying on infinite recusion if stack size is unlimited.
..
.. date: 2026-01-08-11-50-06
.. gh-issue: 143553
.. nonce: KyyNTt
.. section: Tests
Add support for parametrized resources, such as ``-u xpickle=2.7``.
..
.. bpo: 31391
.. date: 2020-09-29-23-14-01
.. nonce: IZr2P8
.. section: Tests
Forward-port test_xpickle from Python 2 to Python 3 and add the resource
back to test's command line.
..
.. date: 2026-01-12-07-17-38
.. gh-issue: 143706
.. nonce: sysArgv
.. section: Library
Fix :mod:`multiprocessing` forkserver so that :data:`sys.argv` is correctly
set before ``__main__`` is preloaded. Previously, :data:`sys.argv` was empty
during main module import in forkserver child processes. This fixes a
regression introduced in 3.13.8 and 3.14.1. Root caused by Aaron Wieczorek,
test provided by Thomas Watson, thanks!
..
.. date: 2026-01-10-16-42-47
.. gh-issue: 143638
.. nonce: du5G7d
.. section: Library
Forbid reentrant calls of the :class:`pickle.Pickler` and
:class:`pickle.Unpickler` methods for the C implementation. Previously, this
could cause crash or data corruption, now concurrent calls of methods of the
same object raise :exc:`RuntimeError`.
..
.. date: 2026-01-10-15-40-57
.. gh-issue: 143658
.. nonce: Ox6pE5
.. section: Library
:mod:`importlib.metadata`: Use :meth:`str.translate` to improve performance
of :meth:`!importlib.metadata.Prepared.normalize`. Patch by Hugo van
Kemenade and Henry Schreiner.
..
.. date: 2026-01-10-10-04-08
.. gh-issue: 78724
.. nonce: xkXfxX
.. section: Library
Raise :exc:`RuntimeError`'s when user attempts to call methods on
half-initialized :class:`~struct.Struct` objects, For example, created by
``Struct.__new__(Struct)``. Patch by Sergey B Kirpichev.
..
.. date: 2026-01-09-17-50-26
.. gh-issue: 143196
.. nonce: WxKxzU
.. section: Library
Fix crash when the internal encoder object returned by undocumented function
:func:`!json.encoder.c_make_encoder` was called with non-zero second
(*_current_indent_level*) argument.
..
.. date: 2026-01-09-13-07-22
.. gh-issue: 143191
.. nonce: PPR_vW
.. section: Library
:func:`_thread.stack_size` now raises :exc:`ValueError` if the stack size is
too small. Patch by Victor Stinner.
..
.. date: 2026-01-08-14-53-46
.. gh-issue: 143547
.. nonce: wHBVlr
.. section: Library
Fix :func:`sys.unraisablehook` when the hook raises an exception and changes
:func:`sys.unraisablehook`: hold a strong reference to the old hook. Patch
by Victor Stinner.
..
.. date: 2026-01-08-13-41-58
.. gh-issue: 139686
.. nonce: S_nzkl
.. section: Library
Revert 0a97941245f1dda6d838f9aaf0512104e5253929 and
57db12514ac686f0a752ec8fe1c08b6daa0c6219 which made importlib.reload a no-op
for lazy modules; caused Buildbot failures.
..
.. date: 2026-01-07-15-49-06
.. gh-issue: 143517
.. nonce: FP5KgL
.. section: Library
:func:`annotationlib.get_annotations` no longer raises a :exc:`SyntaxError`
when evaluating a stringified starred annotation that starts with one or
more whitespace characters followed by a ``*``. Patch by Bartosz Sławecki.
..
.. date: 2026-01-06-12-00-00
.. gh-issue: 143474
.. nonce: cQM4VA
.. section: Library
Add :data:`os.RWF_ATOMIC` constant for Linux 6.11+.
..
.. date: 2026-01-05-12-20-42
.. gh-issue: 143445
.. nonce: rgxnbL
.. section: Library
Speed up :func:`copy.deepcopy` by 1.04x.
..
.. date: 2026-01-03-19-41-36
.. gh-issue: 143378
.. nonce: 29AvE7
.. section: Library
Fix use-after-free crashes when a :class:`~io.BytesIO` object is
concurrently mutated during :meth:`~io.RawIOBase.write` or
:meth:`~io.IOBase.writelines`.
..
.. date: 2026-01-02-17-26-33
.. gh-issue: 143368
.. nonce: m3EF9E
.. section: Library
Fix endless retry loop in :mod:`profiling.sampling` blocking mode when
threads cannot be seized due to ``EPERM``. Such threads are now skipped
instead of causing repeated error messages. Patch by Pablo Galindo.
..
.. date: 2026-01-02-12-55-52
.. gh-issue: 143346
.. nonce: iTekce
.. section: Library
Fix incorrect wrapping of the Base64 data in :class:`!plistlib._PlistWriter`
when the indent contains a mix of tabs and spaces.
..
.. date: 2026-01-02-09-32-43
.. gh-issue: 140025
.. nonce: zOX58_
.. section: Library
:mod:`queue`: Fix :meth:`!SimpleQueue.__sizeof__` computation.
..
.. date: 2026-01-01-11-21-57
.. gh-issue: 143310
.. nonce: 8rxtH3
.. section: Library
:mod:`tkinter`: fix a crash when a Python :class:`list` is mutated during
the conversion to a Tcl object (e.g., when setting a Tcl variable). Patch by
Bénédikt Tran.
..
.. date: 2025-12-31-20-43-02
.. gh-issue: 143309
.. nonce: cdFxdH
.. section: Library
Fix a crash in :func:`os.execve` on non-Windows platforms when given a
custom environment mapping which is then mutated during parsing. Patch by
Bénédikt Tran.
..
.. date: 2025-12-31-17-38-33
.. gh-issue: 143308
.. nonce: lY8UCR
.. section: Library
:mod:`pickle`: fix use-after-free crashes when a
:class:`~pickle.PickleBuffer` is concurrently mutated by a custom buffer
callback during pickling. Patch by Bénédikt Tran and Aaron Wieczorek.
..
.. date: 2025-12-29-21-12-12
.. gh-issue: 142939
.. nonce: OyQQr5
.. section: Library
Performance optimisations for :func:`difflib.get_close_matches`
..
.. date: 2025-12-29-00-42-26
.. gh-issue: 124951
.. nonce: OsC5K4
.. section: Library
The base64 implementation behind the :mod:`binascii`, :mod:`base64`, and
related codec has been optimized for modern pipelined CPU architectures and
now performs 2-3x faster across all platforms.
..
.. date: 2025-12-28-20-28-05
.. gh-issue: 143237
.. nonce: q1ymuA
.. section: Library
Fix support of named pipes in the rotating :mod:`logging` handlers.
..
.. date: 2025-12-28-14-41-02
.. gh-issue: 143249
.. nonce: K4vEp4
.. section: Library
Fix possible buffer leaks in Windows overlapped I/O on error handling.
..
.. date: 2025-12-28-13-49-06
.. gh-issue: 143241
.. nonce: 5H4b8d
.. section: Library
:mod:`zoneinfo`: fix infinite loop in :meth:`ZoneInfo.from_file
<zoneinfo.ZoneInfo.from_file>` when parsing a malformed TZif file. Patch by
Fatih Celik.
..
.. date: 2025-12-28-13-12-40
.. gh-issue: 142830
.. nonce: uEyd6r
.. section: Library
:mod:`sqlite3`: fix use-after-free crashes when the connection's callbacks
are mutated during a callback execution. Patch by Bénédikt Tran.
..
.. date: 2025-12-27-15-41-27
.. gh-issue: 143200
.. nonce: 2hEUAl
.. section: Library
:mod:`xml.etree.ElementTree`: fix use-after-free crashes in
:meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods of
:class:`~xml.etree.ElementTree.Element` when the element is concurrently
mutated. Patch by Bénédikt Tran.
..
.. date: 2025-12-27-13-47-59
.. gh-issue: 143214
.. nonce: gf6nZK
.. section: Library
Add the *wrapcol* parameter in :func:`binascii.b2a_base64` and
:func:`base64.b64encode`.
..
.. date: 2025-12-27-00-14-56
.. gh-issue: 142195
.. nonce: UgBEo5
.. section: Library
Updated timeout evaluation logic in :mod:`subprocess` to be compatible with
deterministic environments like Shadow where time moves exactly as
requested.
..
.. date: 2025-12-26-14-51-50
.. gh-issue: 140739
.. nonce: BAbZTo
.. section: Library
Fix several crashes due to reading invalid memory in the new Tachyon
sampling profiler. Patch by Pablo Galindo.
..
.. date: 2025-12-25-08-58-55
.. gh-issue: 142164
.. nonce: XrFztf
.. section: Library
Fix the ctypes bitfield overflow error message to report the correct offset
and size calculation.
..
.. date: 2025-12-24-14-18-52
.. gh-issue: 143145
.. nonce: eXLw8D
.. section: Library
Fixed a possible reference leak in ctypes when constructing results with
multiple output parameters on error.
..
.. date: 2025-12-23-17-07-22
.. gh-issue: 143103
.. nonce: LRjXEW
.. section: Library
Add padding support to :func:`base64.z85encode` via the ``pad`` parameter.
..
.. date: 2025-12-23-11-43-05
.. gh-issue: 130796
.. nonce: TkzUGx
.. section: Library
Undeprecate the :func:`locale.getdefaultlocale` function. Patch by Victor
Stinner.
..
.. date: 2025-12-22-18-25-54
.. gh-issue: 74902
.. nonce: HqrWUV
.. section: Library
Add the :func:`~unicodedata.iter_graphemes` function in the
:mod:`unicodedata` module to iterate over grapheme clusters according to
rules defined in `Unicode Standard Annex #29, "Unicode Text Segmentation"
<https://www.unicode.org/reports/tr29/>`_. Add
:func:`~unicodedata.grapheme_cluster_break`,
:func:`~unicodedata.indic_conjunct_break` and
:func:`~unicodedata.extended_pictographic` functions to get the properties
of the character which are related to the above algorithm.
..
.. date: 2025-12-22-00-00-00
.. gh-issue: 143004
.. nonce: uaf-counter
.. section: Library
Fix a potential use-after-free in :meth:`collections.Counter.update` when
user code mutates the Counter during an update.
..
.. date: 2025-12-21-17-24-29
.. gh-issue: 140648
.. nonce: i8dca6
.. section: Library
The :mod:`asyncio` REPL now respects the :option:`-I` flag (isolated mode).
Previously, it would load and execute :envvar:`PYTHONSTARTUP` even if the
flag was set. Contributed by Bartosz Sławecki.
..
.. date: 2025-12-20-10-21-23
.. gh-issue: 142991
.. nonce: jYHD9E
.. section: Library
Fixed socket operations such as recvfrom() and sendto() for FreeBSD
divert(4) socket.
..
.. date: 2025-12-19-12-38-01
.. gh-issue: 116738
.. nonce: iMt3Ol
.. section: Library
Make the attributes in :mod:`lzma` thread-safe on the :term:`free threaded
<free threading>` build.
..
.. date: 2025-12-18-22-58-46
.. gh-issue: 142950
.. nonce: EJ8w-T
.. section: Library
Fix regression in :mod:`argparse` where format specifiers in help strings
raised :exc:`ValueError`.
..
.. date: 2025-12-17-20-18-17
.. gh-issue: 142881
.. nonce: 5IizIQ
.. section: Library
Fix concurrent and reentrant call of :func:`atexit.unregister`.
..
.. date: 2025-12-12-08-51-29
.. gh-issue: 142615
.. nonce: GoJ6el
.. section: Library
Fix possible crashes when initializing :class:`asyncio.Task` or
:class:`asyncio.Future` multiple times. These classes can now be initialized
only once and any subsequent initialization attempt will raise a
RuntimeError. Patch by Kumar Aditya.
..
.. date: 2025-12-10-10-00-06
.. gh-issue: 142517
.. nonce: fG4hbe
.. section: Library
The non-``compat32`` :mod:`email` policies now correctly handle refolding
encoded words that contain bytes that can not be decoded in their specified
character set. Previously this resulted in an encoding exception during
folding.
..
.. date: 2025-12-06-19-49-20
.. gh-issue: 138122
.. nonce: m3EF9E
.. section: Library
The Tachyon profiler's live TUI now integrates with the experimental
:mod:`!_colorize` theming system. Users can customize colors via
:func:`!_colorize.set_theme` (experimental API, subject to change). A
:class:`!LiveProfilerLight` theme is provided for light terminal
backgrounds. Patch by Pablo Galindo.
..
.. date: 2025-12-05-17-22-25
.. gh-issue: 142306
.. nonce: Gj3_1m
.. section: Library
Improve errors for :meth:`Element.remove
<xml.etree.ElementTree.Element.remove>`.
..
.. date: 2025-10-04-20-48-02
.. gh-issue: 63016
.. nonce: EC9QN_
.. section: Library
Add a ``flags`` parameter to :meth:`mmap.mmap.flush` to control
synchronization behavior.
..
.. date: 2025-09-23-16-41-21
.. gh-issue: 139262
.. nonce: RO0E98
.. section: Library
Some keystrokes can be swallowed in the new ``PyREPL`` on Windows,
especially when used together with the ALT key. Fix by Chris Eibl.
..
.. date: 2025-09-14-22-26-50
.. gh-issue: 138897
.. nonce: vnUb_L
.. section: Library
Improved :data:`license`/:data:`copyright`/:data:`credits` display in the
:term:`REPL`: now uses a pager.
..
.. date: 2025-08-17-00-28-50
.. gh-issue: 135852
.. nonce: lQqOjQ
.. section: Library
Add :func:`!_winapi.RegisterEventSource`,
:func:`!_winapi.DeregisterEventSource` and :func:`!_winapi.ReportEvent`.
Using these functions in :class:`~logging.handlers.NTEventLogHandler` to
replace :mod:`!pywin32`.
..
.. date: 2025-06-22-18-57-19
.. gh-issue: 109263
.. nonce: f92V95
.. section: Library
Starting a process from spawn context in :mod:`multiprocessing` no longer
sets the start method globally.
..
.. date: 2025-04-19-17-34-11
.. gh-issue: 132715
.. nonce: XXl47F
.. section: Library
Skip writing objects during marshalling once a failure has occurred.
..
.. date: 2025-10-30-19-28-42
.. gh-issue: 140806
.. nonce: RBT9YH
.. section: Documentation
Add documentation for :func:`enum.bin`.
..
.. date: 2026-01-12-22-49-36
.. gh-issue: 134584
.. nonce: guDlsj
.. section: Core and Builtins
Eliminate redundant refcounting from ``_CONTAINS_OP``, ``_CONTAINS_OP_SET``
and ``_CONTAINS_OP_DICT``.
..
.. date: 2026-01-10-17-13-04
.. gh-issue: 143604
.. nonce: BygbVT
.. section: Core and Builtins
Fix a reference counting issue in the JIT tracer where the current executor
could be prematurely freed during tracing.
..
.. date: 2026-01-06-12-30-03
.. gh-issue: 143469
.. nonce: vHVhEY
.. section: Core and Builtins
Enable :opcode:`!LOAD_ATTR_MODULE` specialization even if
:func:`!__getattr__` is defined in module.
..
.. date: 2026-01-04-23-53-42
.. gh-issue: 134584
.. nonce: CNrxI_
.. section: Core and Builtins
Eliminate redundant refcounting from ``TO_BOOL_STR``.
..
.. date: 2026-01-04-16-56-17
.. gh-issue: 143377
.. nonce: YJqMCa
.. section: Core and Builtins
Fix a crash in :func:`!_interpreters.capture_exception` when the exception
is incorrectly formatted. Patch by Bénédikt Tran.
..
.. date: 2026-01-04-11-08-20
.. gh-issue: 139757
.. nonce: AR6LG0
.. section: Core and Builtins
Add ``BINARY_OP_SUBSCR_USTR_INT`` to specialize reading an ASCII character
from any string. Patch by Chris Eibl.
..
.. date: 2026-01-03-15-44-51
.. gh-issue: 141504
.. nonce: sbnJlM
.. section: Core and Builtins
Factor out tracing and optimization heuristics into a single object. Patch
by Donghee Na.
..
.. date: 2026-01-03-14-47-49
.. gh-issue: 142982
.. nonce: 0lAtc7
.. section: Core and Builtins
Specialize :opcode:`CALL_FUNCTION_EX` for Python and non-Python callables.
..
.. date: 2026-01-03-14-02-11
.. gh-issue: 136924
.. nonce: UMgdPn
.. section: Core and Builtins
The interactive help mode in the :term:`REPL` no longer incorrectly syntax
highlights text input as Python code. Contributed by Olga Matoula.
..
.. date: 2026-01-02-22-35-12
.. gh-issue: 139757
.. nonce: v5LRew
.. section: Core and Builtins
Fix unintended bytecode specialization for non-ascii string. Patch by
Donghee Na, Ken Jin and Chris Eibl.
..
.. date: 2026-01-02-17-11-16
.. gh-issue: 143361
.. nonce: YDnvdC
.. section: Core and Builtins
Add ``PY_VECTORCALL_ARGUMENTS_OFFSET`` to
``_Py_CallBuiltinClass_StackRefSteal`` to avoid redundant allocations
..
.. date: 2026-01-01-23-41-50
.. gh-issue: 131798
.. nonce: QUqDdK
.. section: Core and Builtins
The JIT optimizer now understands more generator instructions.
..
.. date: 2026-01-01-17-01-24
.. gh-issue: 134584
.. nonce: nis8LC
.. section: Core and Builtins
Eliminate redundant refcounting from ``_LOAD_ATTR_SLOT``.
..
.. date: 2025-12-30-06-48-48
.. gh-issue: 143189
.. nonce: in_sv2
.. section: Core and Builtins
Fix crash when inserting a non-:class:`str` key into a split table
dictionary when the key matches an existing key in the split table but has
no corresponding value in the dict.
..
.. date: 2025-12-27-23-57-43
.. gh-issue: 143228
.. nonce: m3EF9E
.. section: Core and Builtins
Fix use-after-free in perf trampoline when toggling profiling while threads
are running or during interpreter finalization with daemon threads active.
The fix uses reference counting to ensure trampolines are not freed while
any code object could still reference them. Pach by Pablo Galindo
..
.. date: 2025-12-27-13-18-12
.. gh-issue: 142664
.. nonce: peeEDV
.. section: Core and Builtins
Fix a use-after-free crash in :meth:`memoryview.__hash__ <object.__hash__>`
when the ``__hash__`` method of the referenced object mutates that object or
the view. Patch by Bénédikt Tran.
..
.. date: 2025-12-27-12-25-06
.. gh-issue: 142557
.. nonce: KWOc8b
.. section: Core and Builtins
Fix a use-after-free crash in :ref:`bytearray.__mod__ <bytes-formatting>`
when the :class:`!bytearray` is mutated while formatting the ``%``-style
arguments. Patch by Bénédikt Tran.
..
.. date: 2025-12-27-10-14-26
.. gh-issue: 143195
.. nonce: MNldfr
.. section: Core and Builtins
Fix use-after-free crashes in :meth:`bytearray.hex` and
:meth:`memoryview.hex` when the separator's :meth:`~object.__len__` mutates
the original object. Patch by Bénédikt Tran.
..
.. date: 2025-12-26-11-00-44
.. gh-issue: 143183
.. nonce: rhxzZr
.. section: Core and Builtins
Fix a bug in the JIT when dealing with unsupported control-flow or
operations.
..
.. date: 2025-12-24-13-44-24
.. gh-issue: 142975
.. nonce: 8C4vIP
.. section: Core and Builtins
Fix crash after unfreezing all objects tracked by the garbage collector on
the :term:`free threaded <free threading>` build.
..
.. date: 2025-12-24-11-39-59
.. gh-issue: 143135
.. nonce: 3d5ovx
.. section: Core and Builtins
Set :data:`sys.flags.inspect` to ``1`` when :envvar:`PYTHONINSPECT` is
``0``. Previously, it was set to ``0`` in this case.
..
.. date: 2025-12-23-23-36-41
.. gh-issue: 143123
.. nonce: -51gt_
.. section: Core and Builtins
Protect the JIT against recursive tracing.
..
.. date: 2025-12-23-23-06-11
.. gh-issue: 143092
.. nonce: 6MISbb
.. section: Core and Builtins
Fix a crash in the JIT when dealing with ``list.append(x)`` style code.
..
.. date: 2025-12-23-00-13-02
.. gh-issue: 143003
.. nonce: 92g5qW
.. section: Core and Builtins
Fix an overflow of the shared empty buffer in :meth:`bytearray.extend` when
``__length_hint__()`` returns 0 for non-empty iterator.
..
.. date: 2025-12-22-22-37-53
.. gh-issue: 143006
.. nonce: ZBQwbN
.. section: Core and Builtins
Fix a possible assertion error when comparing negative non-integer ``float``
and ``int`` with the same number of bits in the integer part.
..
.. date: 2025-12-22-16-22-02
.. gh-issue: 116738
.. nonce: caQuq_
.. section: Core and Builtins
Fix thread safety of :func:`contextvars.Context.run`.
..
.. date: 2025-12-17-19-45-10
.. gh-issue: 142829
.. nonce: ICtLXy
.. section: Core and Builtins
Fix a use-after-free crash in :class:`contextvars.Context` comparison when a
custom ``__eq__`` method modifies the context via
:meth:`~contextvars.ContextVar.set`.
..
.. date: 2025-12-17-10-12-09
.. gh-issue: 142863
.. nonce: ZW2ZF8
.. section: Core and Builtins
Generate optimized bytecode when calling :class:`list` or :class:`set` with
generator expression.
..
.. date: 2025-11-19-20-42-21
.. gh-issue: 41779
.. nonce: Psz9Vo
.. section: Core and Builtins
Allowed defining any :ref:`__slots__ <slots>` for a class derived from
:class:`tuple` (including classes created by
:func:`collections.namedtuple`).
..
.. date: 2025-09-30-21-59-56
.. gh-issue: 69605
.. nonce: qcmGF3
.. section: Core and Builtins
Fix edge-cases around already imported modules in the :term:`REPL`
auto-completion of imports.
..
.. date: 2025-09-06-08-29-08
.. gh-issue: 138568
.. nonce: iZlalC
.. section: Core and Builtins
Adjusted the built-in :func:`help` function so that empty inputs are ignored
in interactive mode.
..
.. date: 2025-08-10-12-46-36
.. gh-issue: 131798
.. nonce: 5ys0H_
.. section: Core and Builtins
Remove bounds check when indexing into tuples with a constant index.
..
.. date: 2025-06-23-20-54-15
.. gh-issue: 134584
.. nonce: ZNcziF
.. section: Core and Builtins
Eliminate redundant refcounting from ``_CALL_TYPE_1``. Patch by Tomas Roun
..
.. date: 2025-04-04-20-38-29
.. gh-issue: 132108
.. nonce: UwZIQy
.. section: Core and Builtins
Speed up :meth:`int.from_bytes` when passed object supports :ref:`buffer
protocol <bufferobjects>`, like :class:`bytearray` by ~1.2x.
..
.. date: 2024-12-29-21-33-08
.. gh-issue: 128334
.. nonce: 3c5Nou
.. section: Core and Builtins
Make the :class:`slice` class subscriptable at runtime to be consistent with
typing implementation.
..
.. date: 2025-11-17-17-46-16
.. gh-issue: 141671
.. nonce: cVXNW5
.. section: C API
:c:macro:`PyMODINIT_FUNC` (and the new :c:macro:`PyMODEXPORT_FUNC`) now adds
a linkage declaration (``__declspec(dllexport)``) on Windows.