Misc/NEWS.d/3.14.0a4.rst
.. 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.