Back to Cpython

3.14.0a4

Misc/NEWS.d/3.14.0a4.rst

3.15.0a819.1 KB
Original Source

.. date: 2024-12-22-08-54-30 .. gh-issue: 127592 .. nonce: iyuFCC .. release date: 2025-01-14 .. section: macOS

Usage of the unified Apple System Log APIs was disabled when the minimum macOS version is earlier than 10.12.

..

.. date: 2025-01-03-23-51-07 .. gh-issue: 128152 .. nonce: IhzElS .. section: Tools/Demos

Fix a bug where Argument Clinic's C pre-processor parser tried to parse pre-processor directives inside C comments. Patch by Erlend Aasland.

..

.. date: 2025-01-13-01-29-08 .. gh-issue: 128690 .. nonce: cPFVDb .. section: Tests

Temporarily do not use test_embed in PGO profile builds until the problem with test_init_pyvenv_cfg failing in some configurations is resolved.

..

.. date: 2025-01-11-13-40-12 .. gh-issue: 128731 .. nonce: qpKlai .. section: Library

Fix :exc:ResourceWarning in :meth:urllib.robotparser.RobotFileParser.read.

..

.. date: 2025-01-10-15-06-45 .. gh-issue: 71339 .. nonce: EKnpzw .. section: Library

Add new assertion methods for :mod:unittest: :meth:~unittest.TestCase.assertHasAttr, :meth:~unittest.TestCase.assertNotHasAttr, :meth:~unittest.TestCase.assertIsSubclass, :meth:~unittest.TestCase.assertNotIsSubclass :meth:~unittest.TestCase.assertStartsWith, :meth:~unittest.TestCase.assertNotStartsWith, :meth:~unittest.TestCase.assertEndsWith and :meth:~unittest.TestCase.assertNotEndsWith.

..

.. date: 2025-01-10-13-34-33 .. gh-issue: 118761 .. nonce: qRB8nS .. section: Library

Improve import time of :mod:pickle by 25% by removing an unnecessary regular expression. As such, :mod:re is no more implicitly available as pickle.re. Patch by Bénédikt Tran.

..

.. date: 2025-01-09-12-06-52 .. gh-issue: 128661 .. nonce: ixx_0z .. section: Library

Fixes :func:typing.evaluate_forward_ref not showing deprecation when type_params arg is not passed.

..

.. date: 2025-01-08-03-09-29 .. gh-issue: 128562 .. nonce: Mlv-yO .. section: Library

Fix possible conflicts in generated :mod:tkinter widget names if the widget class name ends with a digit.

..

.. date: 2025-01-06-21-35-00 .. gh-issue: 128559 .. nonce: 6fxcDM .. section: Library

Improved import time of :mod:asyncio.

..

.. date: 2025-01-06-18-41-08 .. gh-issue: 128552 .. nonce: fV-f8j .. section: Library

Fix cyclic garbage introduced by :meth:asyncio.loop.create_task and :meth:asyncio.TaskGroup.create_task holding a reference to the created task if it is eager.

..

.. date: 2025-01-05-11-46-14 .. gh-issue: 128340 .. nonce: gKI0uU .. section: Library

Add internal thread safe handle to be used in :meth:asyncio.loop.call_soon_threadsafe for thread safe cancellation.

..

.. date: 2025-01-04-11-32-46 .. gh-issue: 128182 .. nonce: SJ2Zsa .. section: Library

Fix crash when using :mod:ctypes pointers concurrently on the :term:free threaded <free threading> build.

..

.. date: 2025-01-02-15-20-17 .. gh-issue: 128400 .. nonce: UMiG4f .. section: Library

Only show the current thread in :mod:faulthandler on the :term:free threaded <free threading> build to prevent races.

..

.. date: 2025-01-02-13-05-16 .. gh-issue: 128400 .. nonce: 5N43fF .. section: Library

Fix crash when using :func:faulthandler.dump_traceback while other threads are active on the :term:free threaded <free threading> build.

..

.. date: 2025-01-01-19-24-43 .. gh-issue: 128388 .. nonce: 8UdMz_ .. section: Library

Fix PyREPL on Windows to support more keybindings, like the :kbd:Control-← and :kbd:Control-→ word-skipping keybindings and those with meta (i.e. :kbd:Alt), e.g. :kbd:Alt-d to kill-word or :kbd:Alt-Backspace backward-kill-word.

..

.. date: 2024-12-30-20-48-28 .. gh-issue: 88834 .. nonce: RIvgwc .. section: Library

Unify the instance check for :class:typing.Union and :class:types.UnionType: :class:!Union now uses the instance checks against its parameters instead of the subclass checks.

..

.. date: 2024-12-29-13-49-46 .. gh-issue: 128302 .. nonce: psRpPN .. section: Library

Fix :meth:!xml.dom.xmlbuilder.DOMEntityResolver.resolveEntity, which was broken by the Python 3.0 transition.

..

.. date: 2024-12-29-00-33-34 .. gh-issue: 128317 .. nonce: WgFina .. section: Library

Highlight today in colour in :mod:calendar's CLI output. Patch by Hugo van Kemenade.

..

.. date: 2024-12-27-16-28-57 .. gh-issue: 128302 .. nonce: 2GMvyl .. section: Library

Allow :meth:!xml.dom.xmlbuilder.DOMParser.parse to correctly handle :class:!xml.dom.xmlbuilder.DOMInputSource instances that only have a :attr:!systemId attribute set.

..

.. date: 2024-12-21-11-12-50 .. gh-issue: 128151 .. nonce: aq7vpG .. section: Library

Improve generation of :class:~uuid.UUID objects version 3, 4, 5, and 8 via their dedicated functions by 30%. Patch by Bénédikt Tran.

..

.. date: 2024-12-20-10-57-10 .. gh-issue: 128118 .. nonce: mYak8i .. section: Library

Improve performance of :func:copy.copy by 30% via a fast path for atomic types and container types.

..

.. date: 2024-12-19-20-46-01 .. gh-issue: 127946 .. nonce: 4lM3Op .. section: Library

Fix crash when modifying :class:ctypes._CFuncPtr objects concurrently on the :term:free threaded <free threading> build.

..

.. date: 2024-12-18-10-18-55 .. gh-issue: 128062 .. nonce: E9oU7- .. section: Library

Revert the font of :mod:turtledemo's menu bar to its default value and display the shortcut keys in the correct position.

..

.. date: 2024-12-18-00-07-50 .. gh-issue: 128014 .. nonce: F3aUbz .. section: Library

Fix resetting the default window icon by passing default='' to the :mod:tkinter method :meth:!wm_iconbitmap.

..

.. date: 2024-12-17-15-23-40 .. gh-issue: 41872 .. nonce: 31LjKY .. section: Library

Fix quick extraction of module docstrings from a file in :mod:pydoc. It now supports docstrings with single quotes, escape sequences, raw string literals, and other Python syntax.

..

.. date: 2024-12-17-13-21-52 .. gh-issue: 127060 .. nonce: mv2bX6 .. section: Library

Set TERM environment variable to "dumb" to disable traceback colors in IDLE, since IDLE doesn't understand ANSI escape sequences. Patch by Victor Stinner.

..

.. date: 2024-12-17-12-41-07 .. gh-issue: 126742 .. nonce: l07qvT .. section: Library

Fix support of localized error messages reported by :manpage:dlerror(3) and :manpage:gdbm_strerror <gdbm(3)> in :mod:ctypes and :mod:dbm.gnu functions respectively. Patch by Bénédikt Tran.

..

.. date: 2024-12-13-14-21-04 .. gh-issue: 122548 .. nonce: hq3Vud .. section: Library

Adds two new local events to sys.monitoring, BRANCH_LEFT and BRANCH_RIGHT. This allows the two arms of the branch to be disabled independently, which should hugely improve performance of branch-level coverage tools. The old branch event, BRANCH is now deprecated.

..

.. date: 2024-12-12-07-27-51 .. gh-issue: 127847 .. nonce: ksfNKM .. section: Library

Fix the position when doing interleaved seeks and reads in uncompressed, unencrypted zip files returned by :meth:zipfile.ZipFile.open.

..

.. date: 2024-12-06-21-03-11 .. gh-issue: 127688 .. nonce: NJqtc- .. section: Library

Add the :data:~os.SCHED_DEADLINE and :data:~os.SCHED_NORMAL constants to the :mod:os module.

..

.. date: 2024-12-04-10-39-29 .. gh-issue: 83662 .. nonce: CG1s3m .. section: Library

Add missing __class_getitem__ method to the Python implementation of :func:functools.partial, to make it compatible with the C version. This is mainly relevant for alternative Python implementations like PyPy and GraalPy, because CPython will usually use the C-implementation of that function.

..

.. date: 2024-12-03-20-28-08 .. gh-issue: 127586 .. nonce: zgotYF .. section: Library

:class:multiprocessing.pool.Pool now properly restores blocked signal handlers of the parent thread when creating processes via either spawn or forkserver.

..

.. date: 2024-12-03-14-45-16 .. gh-issue: 98188 .. nonce: GX9i2b .. section: Library

Fix an issue in :meth:email.message.Message.get_payload where data cannot be decoded if the Content Transfer Encoding mechanism contains trailing whitespaces or additional junk text. Patch by Hui Liu.

..

.. date: 2024-12-02-19-13-19 .. gh-issue: 127529 .. nonce: Pj1Xtf .. section: Library

Correct behavior of :func:!asyncio.selector_events.BaseSelectorEventLoop._accept_connection in handling :exc:ConnectionAbortedError in a loop. This improves performance on OpenBSD.

..

.. date: 2024-11-28-14-24-12 .. gh-issue: 127360 .. nonce: HVKt-c .. section: Library

When a descriptive error message cannot be provided for an :exc:ssl.SSLError, the "unknown error" message now shows the internal error code (as retrieved by ERR_get_error and similar OpenSSL functions).

..

.. date: 2024-11-24-14-53-35 .. gh-issue: 127196 .. nonce: 8CBkUa .. section: Library

Fix crash when dict with keys in invalid encoding were passed to several functions in _interpreters module.

..

.. date: 2024-11-19-10-46-57 .. gh-issue: 124130 .. nonce: OZ_vR5 .. section: Library

Fix a bug in matching regular expression \B in empty input string. Now it is always the opposite of \b. To get an old behavior, use (?!\A\Z)\B. To get a new behavior in old Python versions, use (?!\b).

..

.. date: 2024-11-11-07-56-03 .. gh-issue: 126639 .. nonce: AmVSt- .. section: Library

:class:tempfile.NamedTemporaryFile will now issue a :exc:ResourceWarning when it is finalized by the garbage collector without being explicitly closed.

..

.. date: 2024-11-09-15-59-51 .. gh-issue: 126624 .. nonce: bN53Va .. section: Library

Expose error code :data:~xml.parsers.expat.errors.XML_ERROR_NOT_STARTED of Expat >=2.6.4 in :mod:xml.parsers.expat.errors.

..

.. date: 2024-10-31-14-31-36 .. gh-issue: 126225 .. nonce: vTxGXm .. section: Library

:mod:getopt and :mod:optparse are no longer marked as deprecated. There are legitimate reasons to use one of these modules in preference to :mod:argparse, and none of these modules are at risk of being removed from the standard library. Of the three, argparse remains the recommended default choice, unless one of the concerns noted at the top of the optparse module documentation applies.

..

.. date: 2024-10-04-09-56-45 .. gh-issue: 124761 .. nonce: N4pSD6 .. section: Library

Add :data:~socket.SO_REUSEPORT_LB constant to :mod:socket for FreeBSD.

..

.. date: 2024-09-04-14-13-14 .. gh-issue: 121720 .. nonce: z9hhXQ .. section: Library

:class:enum.EnumDict can now be used without resorting to private API.

..

.. date: 2024-08-28-16-10-37 .. gh-issue: 123424 .. nonce: u96_i6 .. section: Library

Add :meth:zipfile.ZipInfo._for_archive setting default properties on :class:~zipfile.ZipInfo objects. Patch by Bénédikt Tran and Jason R. Coombs.

..

.. date: 2024-07-13-13-25-31 .. gh-issue: 121676 .. nonce: KDLS11 .. section: Library

Deprecate calling the Python implementation of :meth:functools.reduce with a function or sequence as a :term:keyword argument. This will be forbidden in Python 3.16 in order to match the C implementation.

..

.. date: 2023-11-12-21-53-40 .. gh-issue: 112015 .. nonce: 2WPRxE .. section: Library

:func:ctypes.memoryview_at now exists to create a :class:memoryview object that refers to the supplied pointer and length. This works like :func:ctypes.string_at except it avoids a buffer copy, and is typically useful when implementing pure Python callback functions that are passed dynamically-sized buffers.

..

.. date: 2022-07-28-12-32-59 .. gh-issue: 95371 .. nonce: F24IFC .. section: Library

Added support for other image formats (PNG, PGM, and PPM) to the turtle module. Patch by Shin-myoung-serp.

..

.. date: 2025-01-13-12-48-30 .. gh-issue: 128078 .. nonce: qOsl9B .. section: Core and Builtins

Fix a :exc:SystemError when using :func:anext with a default tuple value. Patch by Bénédikt Tran.

..

.. date: 2025-01-11-12-39-17 .. gh-issue: 128717 .. nonce: i65d06 .. section: Core and Builtins

Fix a crash when setting the recursion limit while other threads are active on the :term:free threaded <free threading> build.

..

.. date: 2025-01-09-11-46-57 .. gh-issue: 124483 .. nonce: KRtBeQ .. section: Core and Builtins

Treat Py_DECREF and variants as escaping when generating opcode and uop metadata. This prevents the possibility of a __del__ method causing the JIT to behave incorrectly.

..

.. date: 2025-01-07-19-48-56 .. gh-issue: 126703 .. nonce: 0ISs-7 .. section: Core and Builtins

Improve performance of class methods by using a freelist.

..

.. date: 2024-12-24-01-40-12 .. gh-issue: 128137 .. nonce: gsTwr_ .. section: Core and Builtins

Update :c:type:PyASCIIObject layout to handle interned field with the atomic operation. Patch by Donghee Na.

..

.. date: 2024-12-23-11-14-07 .. gh-issue: 128192 .. nonce: 02mEhD .. section: Library

Upgrade HTTP digest authentication algorithm for :mod:urllib.request by supporting SHA-256 digest authentication as specified in :rfc:7616.

..

.. date: 2024-12-22-15-47-44 .. gh-issue: 126868 .. nonce: RpjKez .. section: Core and Builtins

Increase usage of freelist for :class:int allocation.

..

.. date: 2024-12-20-23-07-33 .. gh-issue: 114203 .. nonce: 84NgoW .. section: Core and Builtins

Optimize Py_BEGIN_CRITICAL_SECTION for simple recursive calls.

..

.. date: 2024-12-20-12-25-16 .. gh-issue: 127705 .. nonce: WmCz1z .. section: Core and Builtins

Adds stackref debugging when Py_STACKREF_DEBUG is set. Finds all double-closes and leaks, logging the origin and last borrow.

Inspired by HPy's debug mode. https://docs.hpyproject.org/en/latest/debug-mode.html

..

.. date: 2024-12-18-14-22-48 .. gh-issue: 128079 .. nonce: SUD5le .. section: Core and Builtins

Fix a bug where :keyword:except* <except_star> does not properly check the return value of an :exc:ExceptionGroup's :meth:~BaseExceptionGroup.split function, leading to a crash in some cases. Now when :meth:~BaseExceptionGroup.split returns an invalid object, :keyword:except* <except_star> raises a :exc:TypeError with the original raised :exc:ExceptionGroup object chained to it.

..

.. date: 2024-12-17-22-28-15 .. gh-issue: 128030 .. nonce: H1ptOD .. section: Core and Builtins

Avoid error from calling PyModule_GetFilenameObject on a non-module object when importing a non-existent symbol from a non-module object.

..

.. date: 2024-12-17-18-20-37 .. gh-issue: 128035 .. nonce: JwqHdB .. section: Library

Indicate through :data:ssl.HAS_PHA whether the :mod:ssl module supports TLSv1.3 post-handshake client authentication (PHA). Patch by Will Childs-Klein.

..

.. date: 2024-12-17-13-45-33 .. gh-issue: 127274 .. nonce: deNxNC .. section: Core and Builtins

Add a new flag, CO_METHOD, to :attr:~codeobject.co_flags that indicates whether the code object belongs to a function defined in class scope.

..

.. date: 2024-12-15-21-11-26 .. gh-issue: 66409 .. nonce: wv109z .. section: Core and Builtins

During the :ref:path initialization <sys-path-init>, we now check if base_exec_prefix is the same as base_prefix before falling back to searching the Python interpreter directory.

..

.. date: 2024-12-15-19-51-54 .. gh-issue: 127970 .. nonce: vdUp-y .. section: Core and Builtins

We now use the location of the libpython runtime library used in the current process to determine :data:sys.base_prefix on all platforms implementing the dladdr <https://pubs.opengroup.org/onlinepubs/9799919799/functions/dladdr.html>_ function defined by the UNIX standard — this includes Linux, Android, macOS, iOS, FreeBSD, etc. This was already the case on Windows and macOS Framework builds.

..

.. date: 2024-12-13-15-21-45 .. gh-issue: 127773 .. nonce: E-DZR4 .. section: Core and Builtins

Do not use the type attribute cache for types with incompatible :term:MRO.

..

.. date: 2024-12-13-14-17-24 .. gh-issue: 127903 .. nonce: vemHSl .. section: Core and Builtins

Objects/unicodeobject.c: fix a crash on DEBUG builds in _copy_characters when there is nothing to copy.

..

.. date: 2024-12-11-14-32-22 .. gh-issue: 127809 .. nonce: 0W8khe .. section: Core and Builtins

Fix an issue where the experimental JIT may infer an incorrect result type for exponentiation (** and **=), leading to bugs or crashes.

..

.. date: 2024-12-02-18-15-37 .. gh-issue: 126862 .. nonce: fdIK7T .. section: Core and Builtins

Fix a possible overflow when a class inherits from an absurd number of super-classes. Reported by Valery Fedorenko. Patch by Bénédikt Tran.

..

.. date: 2025-01-12-12-19-51 .. gh-issue: 128400 .. nonce: OwoIDw .. section: C API

:c:func:Py_FatalError no longer shows all threads on the :term:free threaded <free threading> build to prevent crashes.

..

.. date: 2025-01-08-13-13-18 .. gh-issue: 128629 .. nonce: gSmzyl .. section: C API

Add macros :c:func:Py_PACK_VERSION and :c:func:Py_PACK_FULL_VERSION for bit-packing Python version numbers.

..

.. date: 2024-12-16-21-59-06 .. gh-issue: 128008 .. nonce: fa9Jt0 .. section: C API

Add :c:func:PyWeakref_IsDead function, which tests if a weak reference is dead.

..

.. date: 2024-12-11-13-01-26 .. gh-issue: 127350 .. nonce: uEBZZ4 .. section: C API

Add :c:func:Py_fopen function to open a file. Similar to the :c:func:!fopen function, but the path parameter is a Python object and an exception is set on error. Add also :c:func:Py_fclose function to close a file, function needed for Windows support. Patch by Victor Stinner.

..

.. date: 2025-01-09-19-44-00 .. gh-issue: 128627 .. nonce: mHzsEd .. section: Build

For Emscripten builds the function pointer cast call trampoline now uses the wasm-gc ref.test instruction if it's available instead of Wasm JS type reflection.

..

.. date: 2025-01-04-22-39-10 .. gh-issue: 128472 .. nonce: Wt5E6M .. section: Build

Skip BOLT optimization of functions using computed gotos, fixing errors on build with LLVM 19.

..

.. date: 2025-01-02-12-50-46 .. gh-issue: 115765 .. nonce: jko7Fg .. section: Build

GNU Autoconf 2.72 is now required to generate :file:configure. Patch by Erlend Aasland.

..

.. date: 2025-01-02-11-02-45 .. gh-issue: 123925 .. nonce: TLlyUi .. section: Build

Fix building the :mod:curses module on platforms with libncurses but without libncursesw.

..

.. date: 2024-12-31-17-09-37 .. gh-issue: 90905 .. nonce: PjLNai .. section: Build

Add support for cross-compiling to x86_64 on aarch64/arm64 macOS.

..

.. date: 2024-12-28-21-05-19 .. gh-issue: 128321 .. nonce: 0UvbXw .. section: Build

Set LIBS instead of LDFLAGS when checking if :mod:sqlite3 library functions are available. This fixes the ordering of linked libraries during checks, which was incorrect when using a statically linked libsqlite3.

..

.. date: 2024-12-21-09-56-37 .. gh-issue: 100384 .. nonce: Ib-XrN .. section: Build

Error on unguarded-availability in macOS builds, preventing invalid use of symbols that are not available in older versions of the OS.

..

.. date: 2024-12-20-09-03-22 .. gh-issue: 128104 .. nonce: m_SoVx .. section: Build

Remove Py_STRFTIME_C99_SUPPORT conditions in favor of requiring C99 :manpage:strftime(3) specifier support at build time. When cross-compiling, there is no build time check and support is assumed.

..

.. date: 2024-12-16-16-16-35 .. gh-issue: 127951 .. nonce: lpE13- .. section: Build

Add option --pystats to the Windows build to enable performance statistics collection.