Back to Cpython

3.15.0a5

Misc/NEWS.d/3.15.0a5.rst

3.15.0a820.5 KB
Original Source

.. 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.