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