.. 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 ` 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" `_. 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 ` 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 `. .. .. 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__ ` 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__ ` 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 ` 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__ ` 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 `, 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.