blob: f6c78879890fad77fc2642bed59fdb0843070952 [file]
.. date: 2025-10-14-00-17-48
.. gh-issue: 115119
.. nonce: 470I1N
.. release date: 2025-10-14
.. section: macOS
Update macOS installer to use libmpdecimal 4.0.1.
..
.. date: 2025-10-14-00-08-16
.. gh-issue: 124111
.. nonce: 7-j-DQ
.. section: macOS
Update macOS installer to use Tcl/Tk 9.0.2.
..
.. date: 2025-10-13-23-46-12
.. gh-issue: 132339
.. nonce: kAp603
.. section: macOS
Update macOS installer version of OpenSSL to 3.5.4.
..
.. date: 2025-08-06-06-29-12
.. gh-issue: 137450
.. nonce: JZypb7
.. section: macOS
macOS installer shell path management improvements: separate the installer
``Shell profile updater`` postinstall script from the ``Update Shell
Profile.command`` to enable more robust error handling.
..
.. date: 2025-07-27-02-17-40
.. gh-issue: 137134
.. nonce: pjgITs
.. section: macOS
Update macOS installer to ship with SQLite version 3.50.4.
..
.. date: 2025-10-08-22-54-38
.. gh-issue: 139810
.. nonce: LAaemi
.. section: Windows
Installing with ``py install 3[.x]-dev`` will now select final versions as
well as prereleases.
..
.. date: 2025-10-04-12-18-45
.. gh-issue: 139573
.. nonce: EO9kVB
.. section: Windows
Updated bundled version of OpenSSL to 3.0.18.
..
.. date: 2025-09-15-15-34-29
.. gh-issue: 138896
.. nonce: lkiF_7
.. section: Windows
Fix error installing C runtime on non-updated Windows machines
..
.. date: 2025-09-03-01-07-44
.. gh-issue: 138314
.. nonce: IeWQ2i
.. section: Windows
Add :func:`winreg.DeleteTree`.
..
.. date: 2025-07-27-14-25-11
.. gh-issue: 137136
.. nonce: xNthFT
.. section: Windows
Suppress build warnings when build on Windows with
``--experimental-jit-interpreter``.
..
.. date: 2025-07-27-02-16-53
.. gh-issue: 137134
.. nonce: W0WpDF
.. section: Windows
Update Windows installer to ship with SQLite 3.50.4.
..
.. date: 2025-06-03-18-26-54
.. gh-issue: 135099
.. nonce: Q9usKm
.. section: Windows
Fix a crash that could occur on Windows when a background thread waits on a
:c:type:`PyMutex` while the main thread is shutting down the interpreter.
..
.. date: 2025-05-20-21-43-20
.. gh-issue: 130727
.. nonce: -69t4D
.. section: Windows
Fix a race in internal calls into WMI that can result in an "invalid handle"
exception under high load. Patch by Chris Eibl.
..
.. date: 2025-05-19-03-02-04
.. gh-issue: 76023
.. nonce: vHOf6M
.. section: Windows
Make :func:`os.path.realpath` ignore Windows error 1005 when in non-strict
mode.
..
.. date: 2025-05-13-13-25-27
.. gh-issue: 133779
.. nonce: -YcTBz
.. section: Windows
Reverts the change to generate different :file:`pyconfig.h` files based on
compiler settings, as it was frequently causing extension builds to break.
In particular, the ``Py_GIL_DISABLED`` preprocessor variable must now always
be defined explicitly when compiling for the experimental free-threaded
runtime. The :func:`sysconfig.get_config_var` function can be used to
determine whether the current runtime was compiled with that flag or not.
..
.. date: 2025-05-08-19-07-26
.. gh-issue: 133626
.. nonce: yFTKYK
.. section: Windows
Ensures packages are not accidentally bundled into the traditional
installer.
..
.. date: 2025-05-07-13-04-22
.. gh-issue: 133580
.. nonce: jBMujJ
.. section: Windows
Fix :func:`sys.getwindowsversion` failing without setting an exception when
called on some WinAPI partitions.
..
.. date: 2025-05-07-11-45-30
.. gh-issue: 133572
.. nonce: Xc2zxH
.. section: Windows
Avoid LsaNtStatus to WinError conversion on unsupported WinAPI partitions.
..
.. date: 2025-05-07-11-25-29
.. gh-issue: 133568
.. nonce: oYV0d8
.. section: Windows
Fix compile error when using a WinAPI partition that doesn't support the RPC
runtime library.
..
.. date: 2025-05-07-09-02-19
.. gh-issue: 133562
.. nonce: lqqNW1
.. section: Windows
Disable handling of security descriptors by :func:`os.mkdir` with mode
``0o700`` on WinAPI partitions that do not support it. This only affects
custom builds for specialized targets.
..
.. date: 2025-05-07-08-19-15
.. gh-issue: 133537
.. nonce: yzf963
.. section: Windows
Avoid using console I/O in WinAPI partitions that don’t support it
..
.. date: 2025-03-31-15-37-57
.. gh-issue: 131942
.. nonce: jip_aL
.. section: Windows
Use the Python-specific :c:macro:`Py_DEBUG` macro rather than
:c:macro:`!_DEBUG` in Windows-related C code. Patch by Xuehai Pan.
..
.. date: 2025-09-25-10-31-02
.. gh-issue: 139330
.. nonce: 5WWkY0
.. section: Tools/Demos
SBOM generation tool didn't cross-check the version and checksum values
against the ``Modules/expat/refresh.sh`` script, leading to the values
becoming out-of-date during routine updates.
..
.. date: 2025-08-28-06-22-26
.. gh-issue: 132006
.. nonce: eZQmc6
.. section: Tools/Demos
XCframeworks now include privacy manifests to satisfy Apple App Store
submission requirements.
..
.. date: 2025-08-27-11-14-53
.. gh-issue: 138171
.. nonce: Suz8ob
.. section: Tools/Demos
A script for building an iOS XCframework was added. As part of this change,
the top level ``iOS`` folder has been moved to be a subdirectory of the
``Apple`` folder.
..
.. date: 2025-08-21-14-04-50
.. gh-issue: 137873
.. nonce: qxffLt
.. section: Tools/Demos
The iOS test runner has been simplified, resolving some issues that have
been observed using the runner in GitHub Actions and Azure Pipelines test
environments.
..
.. date: 2025-08-06-11-54-55
.. gh-issue: 137484
.. nonce: 8iFAQs
.. section: Tools/Demos
Have ``Tools/wasm/wasi`` put the build Python into a directory named after
the build triple instead of "build".
..
.. date: 2025-08-01-13-27-43
.. gh-issue: 137025
.. nonce: ubuhQC
.. section: Tools/Demos
The ``wasm_build.py`` script has been removed. ``Tools/wasm/emscripten``
and ``Tools/wasm/wasi`` should be used instead, as described in the `Dev
Guide <https://devguide.python.org/contrib/workflows/compile/>`__.
..
.. date: 2025-07-30-11-15-47
.. gh-issue: 137248
.. nonce: 8IxwY3
.. section: Tools/Demos
Add a ``--logdir`` option to ``Tools/wasm/wasi`` for specifying where to
write log files.
..
.. date: 2025-07-30-10-28-35
.. gh-issue: 137243
.. nonce: NkdUqH
.. section: Tools/Demos
Have Tools/wasm/wasi detect a WASI SDK install in /opt when it was directly
extracted from a release tarball.
..
.. date: 2025-07-05-15-10-42
.. gh-issue: 136251
.. nonce: GRM6o8
.. section: Tools/Demos
Fixes and usability improvements for ``Tools/wasm/emscripten/web_example``
..
.. date: 2025-06-26-15-58-13
.. gh-issue: 135968
.. nonce: C4v_-W
.. section: Tools/Demos
Stubs for ``strip`` are now provided as part of an iOS install.
..
.. date: 2025-06-11-12-14-06
.. gh-issue: 135379
.. nonce: 25ttXq
.. section: Tools/Demos
The cases generator no longer accepts type annotations on stack items.
Conversions to non-default types are now done explicitly in bytecodes.c and
optimizer_bytecodes.c. This will simplify code generation for top-of-stack
caching and other future features.
..
.. date: 2025-05-19-14-57-46
.. gh-issue: 134215
.. nonce: sbdDK6
.. section: Tools/Demos
:term:`REPL` import autocomplete only suggests private modules when
explicitly specified.
..
.. date: 2025-09-22-15-40-09
.. gh-issue: 139208
.. nonce: Tc13dl
.. section: Tests
Fix regrtest ``--fast-ci --verbose``: don't ignore the ``--verbose`` option
anymore. Patch by Victor Stinner.
..
.. date: 2025-09-21-16-00-30
.. gh-issue: 138313
.. nonce: lBx2en
.. section: Tests
Restore skipped test and add janky workaround to prevent select buildbots
from failing with a ResourceWarning.
..
.. date: 2025-06-26-15-15-35
.. gh-issue: 135966
.. nonce: EBpF8Y
.. section: Tests
The iOS testbed now handles the ``app_packages`` folder as a site directory.
..
.. date: 2025-06-19-15-29-38
.. gh-issue: 135494
.. nonce: FVl9a0
.. section: Tests
Fix regrtest to support excluding tests from ``--pgo`` tests. Patch by
Victor Stinner.
..
.. date: 2025-06-17-08-48-08
.. gh-issue: 132815
.. nonce: CY1Esu
.. section: Tests
Fix test__opcode: add ``JUMP_BACKWARD`` to specialization stats.
..
.. date: 2025-06-14-13-20-17
.. gh-issue: 135489
.. nonce: Uh0yVO
.. section: Tests
Show verbose output for failing tests during PGO profiling step with
--enable-optimizations.
..
.. date: 2025-06-11-16-52-49
.. gh-issue: 135401
.. nonce: ccMXmL
.. section: Tests
Add a new GitHub CI job to test the :mod:`ssl` module with `AWS-LC
<https://github.com/aws/aws-lc>`_ as the backing cryptography and TLS
library.
..
.. date: 2025-06-04-13-07-44
.. gh-issue: 135120
.. nonce: NapnZT
.. section: Tests
Add :func:`!test.support.subTests`.
..
.. date: 2025-05-23-09-19-52
.. gh-issue: 134567
.. nonce: hwEIMb
.. section: Tests
Expose log formatter to users in TestCase.assertLogs.
:func:`unittest.TestCase.assertLogs` will now optionally accept a formatter
that will be used to format the strings in output if provided.
..
.. date: 2025-05-09-14-54-48
.. gh-issue: 133744
.. nonce: LCquu0
.. section: Tests
Fix multiprocessing interrupt test. Add an event to synchronize the parent
process with the child process: wait until the child process starts
sleeping. Patch by Victor Stinner.
..
.. date: 2025-05-09-04-11-06
.. gh-issue: 133682
.. nonce: -_lwo3
.. section: Tests
Fixed test case ``test.test_annotationlib.TestStringFormat.test_displays``
which ensures proper handling of complex data structures (lists, sets,
dictionaries, and tuples) in string annotations.
..
.. date: 2025-05-08-15-06-01
.. gh-issue: 133639
.. nonce: 50-kbV
.. section: Tests
Fix ``TestPyReplAutoindent.test_auto_indent_default()`` doesn't run
``input_code``.
..
.. date: 2025-10-07-19-31-34
.. gh-issue: 139700
.. nonce: vNHU1O
.. section: Security
Check consistency of the zip64 end of central directory record. Support
records with "zip64 extensible data" if there are no bytes prepended to the
ZIP file.
..
.. date: 2025-09-29-00-01-28
.. gh-issue: 139400
.. nonce: X2T-jO
.. section: Security
:mod:`xml.parsers.expat`: Make sure that parent Expat parsers are only
garbage-collected once they are no longer referenced by subparsers created
by :meth:`~xml.parsers.expat.xmlparser.ExternalEntityParserCreate`. Patch by
Sebastian Pipping.
..
.. date: 2025-09-24-13-39-56
.. gh-issue: 139283
.. nonce: jODz_q
.. section: Security
:mod:`sqlite3`: correctly handle maximum number of rows to fetch in
:meth:`Cursor.fetchmany <sqlite3.Cursor.fetchmany>` and reject negative
values for :attr:`Cursor.arraysize <sqlite3.Cursor.arraysize>`. Patch by
Bénédikt Tran.
..
.. date: 2025-06-27-21-23-19
.. gh-issue: 136053
.. nonce: QZxcee
.. section: Security
:mod:`marshal`: fix a possible crash when deserializing :class:`slice`
objects.
..
.. date: 2025-06-25-14-13-39
.. gh-issue: 135661
.. nonce: idjQ0B
.. section: Security
Fix parsing start and end tags in :class:`html.parser.HTMLParser` according
to the HTML5 standard.
* Whitespaces no longer accepted between ``</`` and the tag name.
E.g. ``</ script>`` does not end the script section.
* Vertical tabulation (``\v``) and non-ASCII whitespaces no longer recognized
as whitespaces. The only whitespaces are ``\t\n\r\f`` and space.
* Null character (U+0000) no longer ends the tag name.
* Attributes and slashes after the tag name in end tags are now ignored,
instead of terminating after the first ``>`` in quoted attribute value.
E.g. ``</script/foo=">"/>``.
* Multiple slashes and whitespaces between the last attribute and closing ``>``
are now ignored in both start and end tags. E.g. ``<a foo=bar/ //>``.
* Multiple ``=`` between attribute name and value are no longer collapsed.
E.g. ``<a foo==bar>`` produces attribute "foo" with value "=bar".
..
.. date: 2025-06-18-13-34-55
.. gh-issue: 135661
.. nonce: NZlpWf
.. section: Security
Fix CDATA section parsing in :class:`html.parser.HTMLParser` according to
the HTML5 standard: ``] ]>`` and ``]] >`` no longer end the CDATA section.
Add private method ``_set_support_cdata()`` which can be used to specify how
to parse ``<[CDATA[`` --- as a CDATA section in foreign content (SVG or
MathML) or as a bogus comment in the HTML namespace.
..
.. date: 2025-06-18-13-28-08
.. gh-issue: 102555
.. nonce: nADrzJ
.. section: Security
Fix comment parsing in :class:`html.parser.HTMLParser` according to the
HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no longer ends the
comment. Support abnormally ended empty comments ``<-->`` and ``<--->``.
..
.. date: 2025-06-13-15-55-22
.. gh-issue: 135462
.. nonce: KBeJpc
.. section: Security
Fix quadratic complexity in processing specially crafted input in
:class:`html.parser.HTMLParser`. End-of-file errors are now handled
according to the HTML5 specs -- comments and declarations are automatically
closed, tags are ignored.
..
.. date: 2025-06-09-20-38-25
.. gh-issue: 118350
.. nonce: KgWCcP
.. section: Security
Fix support of escapable raw text mode (elements "textarea" and "title") in
:class:`html.parser.HTMLParser`.
..
.. date: 2025-06-02-11-32-23
.. gh-issue: 135034
.. nonce: RLGjbp
.. section: Security
Fixes multiple issues that allowed ``tarfile`` extraction filters
(``filter="data"`` and ``filter="tar"``) to be bypassed using crafted
symlinks and hard links.
Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and
:cve:`2025-4517`.
..
.. date: 2025-05-09-20-22-54
.. gh-issue: 133767
.. nonce: kN2i3Q
.. section: Security
Fix use-after-free in the "unicode-escape" decoder with a non-"strict" error
handler.
..
.. date: 2025-05-07-22-49-27
.. gh-issue: 133623
.. nonce: fgWkBm
.. section: Security
Indicate through :data:`ssl.HAS_PSK_TLS13` whether the :mod:`ssl` module
supports "External PSKs" in TLSv1.3, as described in RFC 9258. Patch by Will
Childs-Klein.
..
.. date: 2025-01-14-11-19-07
.. gh-issue: 128840
.. nonce: M1doZW
.. section: Security
Short-circuit the processing of long IPv6 addresses early in
:mod:`ipaddress` to prevent excessive memory consumption and a minor
denial-of-service.
..
.. date: 2025-10-11-20-03-13
.. gh-issue: 139482
.. nonce: du2Stg
.. section: Library
Optimize :data:`os.environ.clear() <os.environ>` by calling
:manpage:`clearenv(3)` when this function is available. Patch by Victor
Stinner.
..
.. date: 2025-10-11-17-41-26
.. gh-issue: 139958
.. nonce: AnCakj
.. section: Library
The ``application/toml`` mime type is now supported by :mod:`mimetypes`.
Patch by Gil Forcada.
..
.. date: 2025-10-11-14-37-42
.. gh-issue: 139823
.. nonce: uGF4oh
.. section: Library
:mod:`ensurepip` now fails with a nicer error message when the :mod:`zlib`
module is not available.
..
.. date: 2025-10-11-10-02-56
.. gh-issue: 139905
.. nonce: UyJIR_
.. section: Library
Add suggestion to error message for :class:`typing.Generic` subclasses when
``cls.__parameters__`` is missing due to a parent class failing to call
:meth:`super().__init_subclass__() <object.__init_subclass__>` in its
``__init_subclass__``.
..
.. date: 2025-10-10-11-22-50
.. gh-issue: 139894
.. nonce: ECAXqj
.. section: Library
Fix incorrect sharing of current task with the child process while forking
in :mod:`asyncio`. Patch by Kumar Aditya.
..
.. date: 2025-10-09-21-37-20
.. gh-issue: 139845
.. nonce: dzx5UP
.. section: Library
Fix to not print KeyboardInterrupt twice in default asyncio REPL.
..
.. date: 2025-10-09-13-48-28
.. gh-issue: 139783
.. nonce: __NUgo
.. section: Library
Fix :func:`inspect.getsourcelines` for the case when a decorator is followed
by a comment or an empty line.
..
.. date: 2025-10-09-03-06-19
.. gh-issue: 139809
.. nonce: lzHJNu
.. section: Library
Prevent premature colorization of subparser ``prog`` in
:meth:`argparse.ArgumentParser.add_subparsers` to respect color environment
variable changes after parser creation.
..
.. date: 2025-10-08-00-06-30
.. gh-issue: 139736
.. nonce: baPeBd
.. section: Library
Fix excessive indentation in the default :mod:`argparse`
:class:`!HelpFormatter`. Patch by Alexander Edland.
..
.. date: 2025-10-02-17-40-10
.. gh-issue: 70765
.. nonce: zVlLZn
.. section: Library
:mod:`http.server`: fix default handling of HTTP/0.9 requests in
:class:`~http.server.BaseHTTPRequestHandler`. Previously,
:meth:`!BaseHTTPRequestHandler.parse_request` incorrectly waited for headers
in the request although those are not supported in HTTP/0.9. Patch by
Bénédikt Tran.
..
.. date: 2025-10-02-15-45-08
.. gh-issue: 139322
.. nonce: rouPGj
.. section: Library
Fix :func:`os.getlogin` error handling: fix the error number. Patch by
Victor Stinner.
..
.. date: 2025-10-01-20-30-03
.. gh-issue: 135953
.. nonce: NAofJl
.. section: Library
Add a Gecko format output to the tachyon profiler via ``--gecko``.
..
.. date: 2025-09-29-14-15-20
.. gh-issue: 139184
.. nonce: dNl9O4
.. section: Library
:func:`os.forkpty` does now make the returned file descriptor
non-inheritable.
..
.. date: 2025-09-28-16-34-11
.. gh-issue: 139391
.. nonce: nRFnmx
.. section: Library
Fix an issue when, on non-Windows platforms, it was not possible to
gracefully exit a ``python -m asyncio`` process suspended by Ctrl+Z and
later resumed by :manpage:`fg` other than with :manpage:`kill`.
..
.. date: 2025-09-27-08-26-31
.. gh-issue: 139374
.. nonce: hfh-dl
.. section: Library
:mod:`timeit`: Add color to error tracebacks.
..
.. date: 2025-09-26-18-04-28
.. gh-issue: 90949
.. nonce: YHjSzX
.. section: Library
Add
:meth:`~xml.parsers.expat.xmlparser.SetBillionLaughsAttackProtectionActivationThreshold`
and
:meth:`~xml.parsers.expat.xmlparser.SetBillionLaughsAttackProtectionMaximumAmplification`
to :ref:`xmlparser <xmlparser-objects>` objects to tune protections against
`billion laughs <https://en.wikipedia.org/wiki/Billion_laughs_attack>`_
attacks. Patch by Bénédikt Tran.
..
.. date: 2025-09-25-07-33-43
.. gh-issue: 139312
.. nonce: ygE8AC
.. section: Library
Upgrade bundled libexpat to 2.7.3
..
.. date: 2025-09-24-14-17-34
.. gh-issue: 139289
.. nonce: Vmk25k
.. section: Library
Do a real lazy-import on :mod:`rlcompleter` in :mod:`pdb` and restore the
existing completer after importing :mod:`rlcompleter`.
..
.. date: 2025-09-22-14-40-11
.. gh-issue: 90949
.. nonce: UM35nb
.. section: Library
Add :meth:`~xml.parsers.expat.xmlparser.SetAllocTrackerActivationThreshold`
and :meth:`~xml.parsers.expat.xmlparser.SetAllocTrackerMaximumAmplification`
to :ref:`xmlparser <xmlparser-objects>` objects to tune protections against
disproportional amounts of dynamic memory usage from within an Expat parser.
Patch by Bénédikt Tran.
..
.. date: 2025-09-22-11-30-45
.. gh-issue: 67795
.. nonce: fROoZt
.. section: Library
Functions that take timestamp or timeout arguments now accept any real
numbers (such as :class:`~decimal.Decimal` and
:class:`~fractions.Fraction`), not only integers or floats, although this
does not improve precision.
..
.. date: 2025-09-22-11-19-05
.. gh-issue: 95953
.. nonce: 7oLoag
.. section: Library
A CSS class, ``diff_changed``, was added to the changed lines in the
``make_table`` output of :class:`difflib.HtmlDiff`. Patch by Katie Gardner.
..
.. date: 2025-09-21-15-58-57
.. gh-issue: 139210
.. nonce: HGbMvz
.. section: Library
Fix use-after-free when reporting unknown event in
:func:`xml.etree.ElementTree.iterparse`. Patch by Ken Jin.
..
.. date: 2025-09-20-17-50-31
.. gh-issue: 138860
.. nonce: Y9JXap
.. section: Library
Lazy import :mod:`rlcompleter` in :mod:`pdb` to avoid deadlock in
subprocess.
..
.. date: 2025-09-19-09-36-42
.. gh-issue: 112729
.. nonce: mmty0_
.. section: Library
Fix crash when calling :func:`concurrent.interpreters.create` when the
process is out of memory.
..
.. date: 2025-09-19-07-41-52
.. gh-issue: 126016
.. nonce: Uz9W6h
.. section: Library
Fix an assertion failure when sending :exc:`KeyboardInterrupt` to a Python
process running a subinterpreter in a separate thread.
..
.. date: 2025-09-18-14-21-57
.. gh-issue: 118803
.. nonce: 2JPbto
.. section: Library
:class:`collections.abc.ByteString` has been removed from
``collections.abc.__all__``, and :class:`typing.ByteString` has been removed
from ``typing.__all__``. The former has been deprecated since Python 3.12,
and the latter has been deprecated since Python 3.9. Both classes are
scheduled for removal in Python 3.17.
Additionally, the following statements now cause ``DeprecationWarning``\ s
to be emitted at runtime: ``from collections.abc import ByteString``, ``from
typing import ByteString``, ``import collections.abc;
collections.abc.ByteString`` and ``import typing; typing.ByteString``. Both
classes already caused ``DeprecationWarning``\ s to be emitted if they were
subclassed or used as the second argument to ``isinstance()`` or
``issubclass()``, but they did not previously lead to
``DeprecationWarning``\ s if they were merely imported or accessed from
their respective modules.
..
.. date: 2025-09-18-05-32-18
.. gh-issue: 135729
.. nonce: 8AmMza
.. section: Library
Fix unraisable exception during finalization when using
:mod:`concurrent.interpreters` in the REPL.
..
.. date: 2025-09-17-21-54-53
.. gh-issue: 139076
.. nonce: 2eX9lG
.. section: Library
Fix a bug in the :mod:`pydoc` module that was hiding functions in a Python
module if they were implemented in an extension module and the module did
not have ``__all__``.
..
.. date: 2025-09-17-21-52-30
.. gh-issue: 139090
.. nonce: W7vbhF
.. section: Library
Add :data:`os.RWF_DONTCACHE` constant for Linux 6.14+.
..
.. date: 2025-09-17-19-08-34
.. gh-issue: 139065
.. nonce: Hu8fM5
.. section: Library
Fix trailing space before a wrapped long word if the line length is exactly
*width* in :mod:`textwrap`.
..
.. date: 2025-09-17-12-07-21
.. gh-issue: 139001
.. nonce: O6tseN
.. section: Library
Fix race condition in :class:`pathlib.Path` on the internal ``_raw_paths``
field.
..
.. date: 2025-09-17-08-32-43
.. gh-issue: 138813
.. nonce: LHkHjX
.. section: Library
:class:`!multiprocessing.BaseProcess` defaults ``kwargs`` to ``None``
instead of a shared dictionary.
..
.. date: 2025-09-16-19-05-29
.. gh-issue: 138998
.. nonce: URl0Y_
.. section: Library
Update bundled libexpat to 2.7.2
..
.. date: 2025-09-16-16-46-58
.. gh-issue: 138993
.. nonce: -8s8_T
.. section: Library
Dedent :data:`credits` text.
..
.. date: 2025-09-16-15-56-29
.. gh-issue: 118803
.. nonce: aOPtmL
.. section: Library
Add back :class:`collections.abc.ByteString` and :class:`typing.ByteString`.
Both had been removed in prior alpha, beta and release candidates for Python
3.14, but their removal has now been postponed to Python 3.17.
..
.. date: 2025-09-15-19-29-12
.. gh-issue: 130567
.. nonce: shDEnT
.. section: Library
Fix possible crash in :func:`locale.strxfrm` due to a platform bug on macOS.
..
.. date: 2025-09-15-13-09-19
.. gh-issue: 137226
.. nonce: HH3_ik
.. section: Library
Fix :func:`typing.get_type_hints` calls on generic :class:`typing.TypedDict`
classes defined with string annotations.
..
.. date: 2025-09-15-08-57-39
.. gh-issue: 138899
.. nonce: Uh6fvY
.. section: Library
Executing ``quit`` command in :mod:`pdb` will raise :exc:`bdb.BdbQuit` when
:mod:`pdb` is started from an asyncio console using :func:`breakpoint` or
:func:`pdb.set_trace`.
..
.. date: 2025-09-12-01-01-05
.. gh-issue: 138804
.. nonce: 46ZukT
.. section: Library
Raise :exc:`TypeError` instead of :exc:`AttributeError` when an argument of
incorrect type is passed to :func:`shlex.quote`. This restores the behavior
of the function prior to 3.14.
..
.. date: 2025-09-11-11-09-28
.. gh-issue: 138779
.. nonce: TNZnLr
.. section: Library
Support device numbers larger than ``2**63-1`` for the
:attr:`~os.stat_result.st_rdev` field of the :class:`os.stat_result`
structure.
..
.. date: 2025-09-10-13-32-25
.. gh-issue: 138682
.. nonce: iExqx1
.. section: Library
Added symmetric difference support to :class:`collections.Counter` objects.
..
.. date: 2025-09-10-10-11-59
.. gh-issue: 138712
.. nonce: avrPG5
.. section: Library
Add :const:`os.NODEV`.
..
.. date: 2025-09-10-10-02-59
.. gh-issue: 128636
.. nonce: ldRKGZ
.. section: Library
Fix crash in PyREPL when os.environ is overwritten with an invalid value for
mac
..
.. date: 2025-09-09-17-57-49
.. gh-issue: 138720
.. nonce: hAtsm-
.. section: Library
Fix an issue where :class:`io.BufferedWriter` and :class:`io.BufferedRandom`
had different definitions of "closed" for :meth:`~io.IOBase.close` and
:meth:`~io.IOBase.flush` which resulted in an exception when close called
flush but flush thought the file was already closed.
..
.. date: 2025-09-09-10-48-26
.. gh-issue: 138706
.. nonce: xB--LX
.. section: Library
Update :mod:`unicodedata` database to Unicode 17.0.0.
..
.. date: 2025-09-08-17-32-02
.. gh-issue: 76007
.. nonce: peEgcr
.. section: Library
Deprecate ``__version__`` from a number of standard library modules. Patch
by Hugo van Kemenade.
..
.. date: 2025-09-06-20-09-32
.. gh-issue: 138535
.. nonce: mlntEe
.. section: Library
Speed up :func:`os.stat` for files with reasonable timestamps. Contributed
by Jeffrey Bosboom.
..
.. date: 2025-09-06-14-56-40
.. gh-issue: 116946
.. nonce: GGIeyO
.. section: Library
:mod:`curses.panel`: the type of :func:`curses.panel.new_panel` is now
immutable. Patch by Bénédikt Tran.
..
.. date: 2025-09-06-14-54-01
.. gh-issue: 116946
.. nonce: hzQEWI
.. section: Library
:mod:`zlib`: the types of :func:`zlib.compressobj` and
:func:`zlib.decompressobj` are now immutable. Patch by Bénédikt Tran.
..
.. date: 2025-09-06-14-53-19
.. gh-issue: 116946
.. nonce: c-npxd
.. section: Library
:mod:`os`: the :class:`os.DirEntry` type and the type of :func:`os.scandir`
are now immutable. Patch by Bénédikt Tran.
..
.. date: 2025-09-06-14-47-23
.. gh-issue: 116946
.. nonce: hj_u1t
.. section: Library
:mod:`tkinter`: the types :class:`!_tkinter.Tcl_Obj` (wrapper for Tcl
objects), :class:`!_tkinter.tktimertoken` (obtained by calling
``createtimerhandler()`` on a :attr:`Tk <tkinter.Tk.tk>` application) and
:class:`!_tkinter.tkapp` (the runtime type of Tk applications) are now
immutable. Patch by Bénédikt Tran.
..
.. date: 2025-09-06-11-26-21
.. gh-issue: 138514
.. nonce: 66ltOb
.. section: Library
Raise :exc:`ValueError` when a multi-character string is passed to the
*echo_char* parameter of :func:`getpass.getpass`. Patch by Benjamin Johnson.
..
.. date: 2025-09-05-21-10-24
.. gh-issue: 137706
.. nonce: 0EztiJ
.. section: Library
Fix the partial evaluation of annotations that use ``typing.Annotated[T,
x]`` where ``T`` is a forward reference.
..
.. date: 2025-09-05-15-35-59
.. gh-issue: 88375
.. nonce: dC491a
.. section: Library
Fix normalization of the ``robots.txt`` rules and URLs in the
:mod:`urllib.robotparser` module. No longer ignore trailing ``?``.
Distinguish raw special characters ``?``, ``=`` and ``&`` from the
percent-encoded ones.
..
.. date: 2025-09-05-07-50-18
.. gh-issue: 138515
.. nonce: E3M-pu
.. section: Library
:mod:`email` is added to Emscripten build.
..
.. date: 2025-09-05-05-53-43
.. gh-issue: 99948
.. nonce: KMSlG6
.. section: Library
:func:`ctypes.util.find_library` now works in Emscripten build.
..
.. date: 2025-09-04-15-18-11
.. gh-issue: 111788
.. nonce: tuTEM5
.. section: Library
Fix parsing errors in the :mod:`urllib.robotparser` module. Don't fail
trying to parse weird paths. Don't fail trying to decode non-UTF-8
``robots.txt`` files.
..
.. date: 2025-09-03-15-20-10
.. gh-issue: 138432
.. nonce: RMc7UX
.. section: Library
:meth:`zoneinfo.reset_tzpath` will now convert any :class:`os.PathLike`
objects it receives into strings before adding them to ``TZPATH``. It will
raise ``TypeError`` if anything other than a string is found after this
conversion. If given an :class:`os.PathLike` object that represents a
relative path, it will now raise ``ValueError`` instead of ``TypeError``,
and present a more informative error message.
..
.. date: 2025-09-03-09-03-11
.. gh-issue: 132657
.. nonce: cbAIDh
.. section: Library
Improve the scaling of :func:`copy.copy` and :func:`copy.deepcopy` in the
free-threading build.
..
.. date: 2025-09-02-10-27-21
.. gh-issue: 116946
.. nonce: VxXNGD
.. section: Library
The types of :func:`select.poll` and :func:`select.epoll` objects are now
immutable. Patch by Bénédikt Tran.
..
.. date: 2025-09-02-10-23-09
.. gh-issue: 116946
.. nonce: U6RpwK
.. section: Library
The :class:`!_random.Random` C type is now immutable. Patch by Bénédikt
Tran.
..
.. date: 2025-08-31-22-10-22
.. gh-issue: 57911
.. nonce: N_Ixtv
.. section: Library
When extracting tar files on Windows, slashes in symlink targets will be
replaced by backslashes to prevent corrupted links.
..
.. date: 2025-08-31-12-34-02
.. gh-issue: 138205
.. nonce: iHXb1z
.. section: Library
Removed the :meth:`~mmap.mmap.resize` method on platforms that don't support
the underlying syscall, instead of raising a :exc:`SystemError`.
..
.. date: 2025-08-31-09-06-49
.. gh-issue: 138008
.. nonce: heOvsU
.. section: Library
Fix segmentation faults in the :mod:`ctypes` module due to invalid
:attr:`~ctypes._CFuncPtr.argtypes`. Patch by Dung Nguyen.
..
.. date: 2025-08-30-17-58-04
.. gh-issue: 138252
.. nonce: CDiEby
.. section: Library
:mod:`ssl`: :class:`~ssl.SSLContext` objects can now set client and server
TLS signature algorithms. If Python has been built with OpenSSL 3.5 or
later, :class:`~ssl.SSLSocket` objects can return the signature algorithms
selected on a connection.
..
.. date: 2025-08-30-10-58-15
.. gh-issue: 138253
.. nonce: 9Ehj-N
.. section: Library
Add the *block* parameter in the :meth:`!put` and :meth:`!get` methods of
the :mod:`concurrent.interpreters` queues for compatibility with the
:class:`queue.Queue` interface.
..
.. date: 2025-08-30-10-04-28
.. gh-issue: 60462
.. nonce: yh_vDc
.. section: Library
Fix :func:`locale.strxfrm` on Solaris (and possibly other platforms).
..
.. date: 2025-08-29-12-56-55
.. gh-issue: 138239
.. nonce: uthZFI
.. section: Library
The REPL now highlights :keyword:`type` as a soft keyword in :ref:`type
statements <type>`.
..
.. date: 2025-08-29-12-05-33
.. gh-issue: 78502
.. nonce: VpIMxg
.. section: Library
:class:`mmap.mmap` now has a *trackfd* parameter on Windows; if it is
``False``, the file handle corresponding to *fileno* will not be duplicated.
..
.. date: 2025-08-28-13-20-09
.. gh-issue: 138204
.. nonce: 8oLOud
.. section: Library
Forbid expansion of shared anonymous :mod:`memory maps <mmap>` on Linux,
which caused a bus error.
..
.. date: 2025-08-27-17-05-36
.. gh-issue: 138010
.. nonce: ZZJmPL
.. section: Library
Fix an issue where defining a class with a
:deco:`warnings.deprecated`-decorated base class may not invoke the correct
:meth:`~object.__init_subclass__` method in cases involving multiple
inheritance. Patch by Brian Schubert.
..
.. date: 2025-08-25-22-38-03
.. gh-issue: 134716
.. nonce: kyYKeX
.. section: Library
Add support of regular expressions in the :option:`-W` option and the
:envvar:`PYTHONWARNINGS` environment variable.
..
.. date: 2025-08-25-18-06-04
.. gh-issue: 138133
.. nonce: Zh9rGo
.. section: Library
Prevent infinite traceback loop when sending CTRL^C to Python through
``strace``.
..
.. date: 2025-08-25-16-22-32
.. gh-issue: 138122
.. nonce: eMNDZ1
.. section: Library
Implement :pep:`799` -- A dedicated profiling package for organizing Python
profiling tools. Patch by Pablo Galindo.
..
.. date: 2025-08-24-02-04-32
.. gh-issue: 138092
.. nonce: V4-wTO
.. section: Library
Fixed a bug in :meth:`mmap.mmap.flush` where calling with only an offset
parameter would fail.
..
.. date: 2025-08-22-12-48-14
.. gh-issue: 138044
.. nonce: lEQULC
.. section: Library
Remove compatibility shim for deprecated parameter *package* in
:func:`importlib.resources.files`. Patch by Semyon Moroz.
..
.. date: 2025-08-22-09-53-45
.. gh-issue: 86819
.. nonce: ECxvwx
.. section: Library
:mod:`socket`: Add missing constants for ISO-TP sockets.
..
.. date: 2025-08-19-00-12-57
.. gh-issue: 137884
.. nonce: 4faCA_
.. section: Library
Add :func:`threading.get_native_id` support for Illumos/Solaris. Patch by
Yüce Tekol.
..
.. date: 2025-08-18-16-02-51
.. gh-issue: 134869
.. nonce: GnAjnU
.. section: Library
Fix an issue where pressing Ctrl+C during tab completion in the REPL would
leave the autocompletion menu in a corrupted state.
..
.. date: 2025-08-18-07-10-55
.. gh-issue: 137840
.. nonce: 9b7AnG
.. section: Library
:class:`typing.TypedDict` now supports the ``closed`` and ``extra_items``
keyword arguments (as described in :pep:`728`) to control whether additional
non-required keys are allowed and to specify their value type.
..
.. date: 2025-08-17-10-22-31
.. gh-issue: 132947
.. nonce: XR4MJ8
.. section: Library
Applied changes to ``importlib.metadata`` from `importlib_metadata 8.7
<https://importlib-metadata.readthedocs.io/en/latest/history.html#v8-7-0>`_,
including ``dist`` now disallowed for ``EntryPoints.select``; deferred
imports for faster import times; added support for metadata with newlines
(python/cpython#119650); and ``metadata()`` function now returns ``None``
when a metadata directory is present but no metadata is present.
..
.. date: 2025-08-16-18-11-41
.. gh-issue: 90548
.. nonce: q3aJUK
.. section: Library
Fix ``musl`` detection for :func:`platform.libc_ver` on Alpine Linux if
compiled with --strip-all.
..
.. date: 2025-08-16-16-04-15
.. gh-issue: 137317
.. nonce: Dl13B5
.. section: Library
:func:`inspect.signature` now correctly handles classes that use a
descriptor on a wrapped :meth:`!__init__` or :meth:`!__new__` method.
Contributed by Yongyu Yan.
..
.. date: 2025-08-16-09-02-11
.. gh-issue: 137754
.. nonce: mCev1Y
.. section: Library
Fix import of the :mod:`zoneinfo` module if the C implementation of the
:mod:`datetime` module is not available.
..
.. date: 2025-08-14-10-27-07
.. gh-issue: 125854
.. nonce: vDzFcZ
.. section: Library
Improve error messages for invalid category in :func:`warnings.warn`.
..
.. date: 2025-08-14-00-00-12
.. gh-issue: 137729
.. nonce: i9NSKP
.. section: Library
:func:`locale.setlocale` now supports language codes with ``@``-modifiers.
``@``-modifier are no longer silently removed in :func:`locale.getlocale`,
but included in the language code.
..
.. date: 2025-08-13-10-50-22
.. gh-issue: 73487
.. nonce: DUHbBq
.. section: Library
Speedup processing arguments (up to 1.5x) in the :mod:`decimal` module
methods, that now using :c:macro:`METH_FASTCALL` calling convention. Patch
by Sergey B Kirpichev.
..
.. date: 2025-08-11-14-18-32
.. gh-issue: 137634
.. nonce: M7iBG6
.. section: Library
Calendar pages generated by the :class:`calendar.HTMLCalendar` class now
support dark mode and have been migrated to the HTML5 standard for improved
accessibility.
..
.. date: 2025-08-11-05-05-08
.. gh-issue: 137630
.. nonce: 9lmqyc
.. section: Library
The :mod:`!_interpreters` module now uses Argument Clinic to parse
arguments. Patch by Adam Turner.
..
.. date: 2025-08-09-08-53-32
.. gh-issue: 137583
.. nonce: s6OZud
.. section: Library
Fix a deadlock introduced in 3.13.6 when a call to :meth:`ssl.SSLSocket.recv
<socket.socket.recv>` was blocked in one thread, and then another method on
the object (such as :meth:`ssl.SSLSocket.send <socket.socket.send>`) was
subsequently called in another thread.
..
.. date: 2025-08-08-21-20-14
.. gh-issue: 92936
.. nonce: rOgG1S
.. section: Library
Update regex used by ``http.cookies.SimpleCookie`` to handle values
containing double quotes.
..
.. date: 2025-08-08-15-00-38
.. gh-issue: 137426
.. nonce: lW-Rk2
.. section: Library
Remove the code deprecation of ``importlib.abc.ResourceLoader``. It is
documented as deprecated, but left for backwards compatibility with other
classes in ``importlib.abc``.
..
.. date: 2025-08-07-17-18-57
.. gh-issue: 137490
.. nonce: s89ieZ
.. section: Library
Handle :data:`~errno.ECANCELED` in the same way as :data:`~errno.EINTR` in
:func:`signal.sigwaitinfo` on NetBSD.
..
.. date: 2025-08-07-15-07-44
.. gh-issue: 137512
.. nonce: j2or5h
.. section: Library
Add new constants in the :mod:`resource` module:
:data:`~resource.RLIMIT_NTHR`, :data:`~resource.RLIMIT_UMTXP`,
:data:`~resource.RLIMIT_PIPEBUF`, :data:`~resource.RLIMIT_THREADS`,
:data:`~resource.RLIM_SAVED_CUR`, and :data:`~resource.RLIM_SAVED_MAX`.
..
.. date: 2025-08-07-12-32-23
.. gh-issue: 137044
.. nonce: abNoIy
.. section: Library
:data:`resource.RLIM_INFINITY` is now always a positive integer. On all
supported platforms, it is larger than any limited resource value, which
simplifies comparison of the resource values. Previously, it could be
negative, such as -1 or -3, depending on platform.
..
.. date: 2025-08-06-23-16-42
.. gh-issue: 137477
.. nonce: bk6BDV
.. section: Library
Fix :func:`!inspect.getblock`, :func:`inspect.getsourcelines` and
:func:`inspect.getsource` for generator expressions.
..
.. date: 2025-08-06-16-54-22
.. gh-issue: 137481
.. nonce: eSTkK0
.. section: Library
Calendar uses the lengths of the locale's weekdays to decide if the width
requires abbreviation.
..
.. date: 2025-08-06-16-13-47
.. gh-issue: 137466
.. nonce: Whv0-A
.. section: Library
Remove undocumented :func:`!glob.glob0` and :func:`!glob.glob1` functions,
which have been deprecated since Python 3.13. Use :func:`glob.glob` and pass
a directory to its *root_dir* argument instead.
..
.. date: 2025-08-03-13-16-39
.. gh-issue: 137044
.. nonce: 0hPVL_
.. section: Library
Return large limit values as positive integers instead of negative integers
in :func:`resource.getrlimit`. Accept large values and reject negative
values (except :data:`~resource.RLIM_INFINITY`) for limits in
:func:`resource.setrlimit`.
..
.. date: 2025-08-03-00-36-57
.. gh-issue: 115766
.. nonce: nJCFkW
.. section: Library
Fix :attr:`!ipaddress.IPv4Interface.is_unspecified`.
..
.. date: 2025-08-01-23-52-49
.. gh-issue: 75989
.. nonce: 5aYXNJ
.. section: Library
:func:`tarfile.TarFile.extractall` and :func:`tarfile.TarFile.extract` now
overwrite symlinks when extracting hardlinks. (Contributed by Alexander
Enrique Urieles Nieto in :gh:`75989`.)
..
.. date: 2025-08-01-23-11-25
.. gh-issue: 137017
.. nonce: 0yGcNc
.. section: Library
Fix :obj:`threading.Thread.is_alive` to remain ``True`` until the underlying
OS thread is fully cleaned up. This avoids false negatives in edge cases
involving thread monitoring or premature :obj:`threading.Thread.is_alive`
calls.
..
.. date: 2025-08-01-15-07-59
.. gh-issue: 137273
.. nonce: 4V8Xmv
.. section: Library
Fix debug assertion failure in :func:`locale.setlocale` on Windows.
..
.. date: 2025-07-31-16-43-16
.. gh-issue: 137191
.. nonce: FIogE8
.. section: Library
Fix how type parameters are collected, when :class:`typing.Protocol` are
specified with explicit parameters. Now, :class:`typing.Generic` and
:class:`typing.Protocol` always dictate the parameter number and parameter
ordering of types. Previous behavior was a bug.
..
.. date: 2025-07-31-10-31-56
.. gh-issue: 137282
.. nonce: GOCwIC
.. section: Library
Fix tab completion and :func:`dir` on :mod:`concurrent.futures`.
..
.. date: 2025-07-30-18-07-33
.. gh-issue: 137257
.. nonce: XBtzf2
.. section: Library
Bump the version of pip bundled in ensurepip to version 25.2
..
.. date: 2025-07-30-17-42-36
.. gh-issue: 137239
.. nonce: qSpj32
.. section: Library
:mod:`heapq`: Update :data:`!heapq.__all__` with ``*_max`` functions.
..
.. date: 2025-07-30-11-12-22
.. gh-issue: 124503
.. nonce: d4hc7b
.. section: Library
:func:`ast.literal_eval` is 10-20% faster for small inputs.
..
.. date: 2025-07-29-21-18-31
.. gh-issue: 137226
.. nonce: B_4lpu
.. section: Library
Fix behavior of :meth:`annotationlib.ForwardRef.evaluate` when the
*type_params* parameter is passed and the name of a type param is also
present in an enclosing scope.
..
.. date: 2025-07-29-05-12-50
.. gh-issue: 137197
.. nonce: bMK3sO
.. section: Library
:class:`~ssl.SSLContext` objects can now set TLS 1.3 cipher suites via
:meth:`~ssl.SSLContext.set_ciphersuites`.
..
.. date: 2025-07-28-23-11-29
.. gh-issue: 81325
.. nonce: jMJFBe
.. section: Library
:class:`tarfile.TarFile` now accepts a :term:`path-like <path-like object>`
when working on a tar archive. (Contributed by Alexander Enrique Urieles
Nieto in :gh:`81325`.)
..
.. date: 2025-07-28-20-48-32
.. gh-issue: 137185
.. nonce: fgI7-B
.. section: Library
Fix a potential async-signal-safety issue in :mod:`faulthandler` when
printing C stack traces.
..
.. date: 2025-07-27-17-03-17
.. gh-issue: 133951
.. nonce: 7kwt78
.. section: Library
Remove lib64-lib symlink creation when creating new virtual environments in
:mod:`venv` module
..
.. date: 2025-07-25-09-21-56
.. gh-issue: 130522
.. nonce: Crwq68
.. section: Library
Fix unraisable :exc:`TypeError` raised during :term:`interpreter shutdown`
in the :mod:`threading` module.
..
.. date: 2025-07-24-00-38-07
.. gh-issue: 137059
.. nonce: fr64oW
.. section: Library
Fix handling of file URLs with a Windows drive letter in the URL authority
by :func:`urllib.request.url2pathname`. This fixes a regression in earlier
pre-releases of Python 3.14.
..
.. date: 2025-07-23-11-59-48
.. gh-issue: 136980
.. nonce: BIJzkB
.. section: Library
Remove unused C tracing code in bdb for event type ``c_call``, ``c_return``
and ``c_exception``
..
.. date: 2025-07-23-00-35-29
.. gh-issue: 130577
.. nonce: c7EITy
.. section: Library
:mod:`tarfile` now validates archives to ensure member offsets are
non-negative. (Contributed by Alexander Enrique Urieles Nieto in
:gh:`130577`.)
..
.. date: 2025-07-21-22-35-50
.. gh-issue: 136170
.. nonce: QUlc78
.. section: Library
Removed the unreleased ``zipfile.ZipFile.data_offset`` property added in
3.14.0a7 as it wasn't fully clear which behavior it should have in some
situations so the result was not always what a user might expect.
..
.. date: 2025-07-21-20-00-42
.. gh-issue: 121237
.. nonce: DyxNqo
.. section: Library
Support ``%:z`` directive for :meth:`datetime.datetime.strptime`,
:meth:`datetime.time.strptime` and :func:`time.strptime`. Patch by Lucas
Esposito and Semyon Moroz.
..
.. date: 2025-07-21-16-13-20
.. gh-issue: 136929
.. nonce: obKZ2S
.. section: Library
Ensure that hash functions guaranteed to be always *available* exist as
attributes of :mod:`hashlib` even if they will not work at runtime due to
missing backend implementations. For instance, ``hashlib.md5`` will no
longer raise :exc:`AttributeError` if OpenSSL is not available and Python
has been built without MD5 support. Patch by Bénédikt Tran.
..
.. date: 2025-07-21-16-10-24
.. gh-issue: 124621
.. nonce: wyoWc1
.. section: Library
pyrepl now works in Emscripten.
..
.. date: 2025-07-21-15-40-00
.. gh-issue: 136914
.. nonce: -GNG-d
.. section: Library
Fix retrieval of :attr:`doctest.DocTest.lineno` for objects decorated with
:func:`functools.cache` or :class:`functools.cached_property`.
..
.. date: 2025-07-21-11-56-47
.. gh-issue: 136912
.. nonce: zWosAL
.. section: Library
:func:`hmac.digest` now properly handles large keys and messages by falling
back to the pure Python implementation when necessary. Patch by Bénédikt
Tran.
..
.. date: 2025-07-21-01-16-32
.. gh-issue: 83424
.. nonce: Y3tEV4
.. section: Library
Allows creating a :class:`ctypes.CDLL` without name when passing a handle as
an argument.
..
.. date: 2025-07-20-16-56-55
.. gh-issue: 135228
.. nonce: n_XIao
.. section: Library
When :mod:`dataclasses` replaces a class with a slotted dataclass, the
original class can now be garbage collected again. Earlier changes in Python
3.14 caused this class to always remain in existence together with the
replacement class synthesized by :mod:`dataclasses`.
..
.. date: 2025-07-20-16-02-00
.. gh-issue: 136874
.. nonce: cLC3o1
.. section: Library
Discard URL query and fragment in :func:`urllib.request.url2pathname`.
..
.. date: 2025-07-20-10-21-49
.. gh-issue: 136787
.. nonce: _0Rbp_
.. section: Library
:mod:`hashlib`: improve exception messages when a hash algorithm is not
recognized, blocked by the current security policy or incompatible with the
desired operation (for instance, using HMAC with SHAKE). Patch by Bénédikt
Tran.
..
.. date: 2025-07-19-16-20-54
.. gh-issue: 130645
.. nonce: O-dYcN
.. section: Library
Enable color help by default in :mod:`argparse`.
..
.. date: 2025-07-19-15-40-47
.. gh-issue: 131724
.. nonce: LS59nA
.. section: Library
In :mod:`http.client`, a new *max_response_headers* keyword-only parameter
has been added to :class:`~http.client.HTTPConnection` and
:class:`~http.client.HTTPSConnection` constructors. This parameter sets the
maximum number of allowed response headers, helping to prevent
denial-of-service attacks.
..
.. date: 2025-07-19-11-53-19
.. gh-issue: 135427
.. nonce: iJM_X2
.. section: Library
With :option:`-Werror <-W>`, the DeprecationWarning emitted by
:py:func:`os.fork` and :py:func:`os.forkpty` in mutli-threaded processes is
now raised as an exception. Previously it was silently ignored. Patch by
Rani Pinchuk.
..
.. date: 2025-07-17-16-12-23
.. gh-issue: 136234
.. nonce: VmTxtj
.. section: Library
Fix :meth:`asyncio.WriteTransport.writelines` to be robust to connection
failure, by using the same behavior as
:meth:`~asyncio.WriteTransport.write`.
..
.. date: 2025-07-16-09-45-58
.. gh-issue: 53144
.. nonce: mrKwMW
.. section: Library
:mod:`!encodings.aliases`: Add ``latin_N`` aliases
..
.. date: 2025-07-15-16-37-34
.. gh-issue: 136669
.. nonce: Yexwah
.. section: Library
:mod:`!_asyncio` is now statically linked for improved performance.
..
.. date: 2025-07-13-13-31-22
.. gh-issue: 136134
.. nonce: mh6VjS
.. section: Library
:meth:`!SMTP.auth_cram_md5` now raises an :exc:`~smtplib.SMTPException`
instead of a :exc:`ValueError` if Python has been built without MD5 support.
In particular, :class:`~smtplib.SMTP` clients will not attempt to use this
method even if the remote server is assumed to support it. Patch by Bénédikt
Tran.
..
.. date: 2025-07-13-11-20-05
.. gh-issue: 136134
.. nonce: xhh0Kq
.. section: Library
:meth:`IMAP4.login_cram_md5 <imaplib.IMAP4.login_cram_md5>` now raises an
:exc:`IMAP4.error <imaplib.IMAP4.error>` if CRAM-MD5 authentication is not
supported. Patch by Bénédikt Tran.
..
.. date: 2025-07-12-18-05-37
.. gh-issue: 136591
.. nonce: ujXmSN
.. section: Library
:mod:`!_hashlib`: avoid using deprecated functions
:manpage:`ERR_func_error_string` and :manpage:`EVP_MD_CTX_md` when using
OpenSSL 3.0 and later. Patch by Bénédikt Tran.
..
.. date: 2025-07-12-14-15-47
.. gh-issue: 136571
.. nonce: muHmBv
.. section: Library
:meth:`datetime.date.fromisocalendar` can now raise OverflowError for out of
range arguments.
..
.. date: 2025-07-11-23-04-39
.. gh-issue: 136549
.. nonce: oAi8u4
.. section: Library
Fix signature of :func:`threading.excepthook`.
..
.. date: 2025-07-11-10-23-44
.. gh-issue: 136492
.. nonce: BVi5h0
.. section: Library
Expose :pep:`667`'s :data:`~types.FrameLocalsProxyType` in the :mod:`types`
module.
..
.. date: 2025-07-11-08-15-17
.. gh-issue: 83336
.. nonce: ptpmq7
.. section: Library
``utf8_sig`` is now aliased to :mod:`encodings.utf_8_sig`
..
.. date: 2025-07-11-03-39-15
.. gh-issue: 136523
.. nonce: s7caKL
.. section: Library
Fix :class:`wave.Wave_write` emitting an unraisable when open raises.
..
.. date: 2025-07-10-21-02-43
.. gh-issue: 136507
.. nonce: pnEuGS
.. section: Library
Fix mimetypes CLI to handle multiple file parameters.
..
.. date: 2025-07-10-10-18-19
.. gh-issue: 52876
.. nonce: 9Vjrd8
.. section: Library
Add missing ``keepends`` (default ``True``) parameter to
:meth:`!codecs.StreamReaderWriter.readline` and
:meth:`!codecs.StreamReaderWriter.readlines`.
..
.. date: 2025-07-10-00-47-37
.. gh-issue: 136470
.. nonce: KlUEUG
.. section: Library
Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s default thread
name.
..
.. date: 2025-07-09-20-29-30
.. gh-issue: 136476
.. nonce: HyLLzh
.. section: Library
Fix a bug that was causing the ``get_async_stack_trace`` function to miss
some frames in the stack trace.
..
.. date: 2025-07-08-20-58-01
.. gh-issue: 136434
.. nonce: uuJsjS
.. section: Library
Fix docs generation of ``UnboundItem`` in :mod:`concurrent.interpreters`
when running with :option:`-OO`.
..
.. date: 2025-07-07-22-12-32
.. gh-issue: 136380
.. nonce: 1b_nXl
.. section: Library
Raises :exc:`AttributeError` when accessing
:class:`concurrent.futures.InterpreterPoolExecutor` and subinterpreters are
not available.
..
.. date: 2025-07-07-16-46-55
.. gh-issue: 72327
.. nonce: wLvRuj
.. section: Library
Suggest using the system command prompt when ``pip install`` is typed into
the REPL. Patch by Tom Viner, Richard Si, and Brian Schubert.
..
.. date: 2025-07-06-18-38-10
.. gh-issue: 135953
.. nonce: Z29DCz
.. section: Library
Implement a new high-frequency runtime profiler that leverages the existing
remote debugging functionality to collect detailed execution statistics from
running Python processes. This tool is exposed in the ``profile.sample``
module and enables non-intrusive observation of production applications by
attaching to already-running processes without requiring any code
modifications, restarts, or special startup flags. The observer can perform
extremely high-frequency sampling of stack traces and interpreter state,
providing detailed runtime execution analysis of live applications.
..
.. date: 2025-07-06-10-18-48
.. gh-issue: 136021
.. nonce: f-FJYT
.. section: Library
Make ``type_params`` parameter required in :func:`!typing._eval_type` after
a deprecation period for not providing this parameter. Also remove the
:exc:`DeprecationWarning` for the old behavior.
..
.. date: 2025-07-05-09-45-04
.. gh-issue: 136286
.. nonce: N67Amr
.. section: Library
Fix pickling failures for protocols 0 and 1 for many objects related to
subinterpreters.
..
.. date: 2025-07-05-06-59-46
.. gh-issue: 136047
.. nonce: qWvycf
.. section: Library
Fix issues with :mod:`typing` when the C implementation of :mod:`abc` is not
available.
..
.. date: 2025-07-05-06-56-16
.. gh-issue: 136316
.. nonce: 3zj_Do
.. section: Library
Improve support for evaluating nested forward references in
:func:`typing.evaluate_forward_ref`.
..
.. date: 2025-07-04-23-45-00
.. gh-issue: 136306
.. nonce: O1YLIU
.. section: Library
:mod:`ssl` can now get and set groups used for key agreement.
..
.. date: 2025-07-04-12-53-02
.. gh-issue: 136156
.. nonce: OYlXoz
.. section: Library
:func:`tempfile.TemporaryFile` no longer uses :data:`os.O_EXCL` with
:data:`os.O_TMPFILE`, so it's possible to use ``linkat()`` on the file
descriptor. Patch by Victor Stinner.
..
.. date: 2025-07-02-18-41-45
.. gh-issue: 133982
.. nonce: 7qqAn6
.. section: Library
Update Python implementation of :class:`io.BytesIO` to be thread safe.
..
.. date: 2025-07-02-10-48-21
.. gh-issue: 136193
.. nonce: xfvras
.. section: Library
Improve :exc:`TypeError` error message, when richcomparing two
:class:`types.SimpleNamespace` objects.
..
.. date: 2025-07-01-14-44-03
.. gh-issue: 136097
.. nonce: bI1n14
.. section: Library
Fix potential infinite recursion and KeyError in ``sysconfig
--generate-posix-vars``.
..
.. date: 2025-06-30-11-12-24
.. gh-issue: 85702
.. nonce: 0Lrbwu
.. section: Library
If ``zoneinfo._common.load_tzdata`` is given a package without a resource a
:exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a
:exc:`PermissionError`. Patch by Victor Stinner.
..
.. date: 2025-06-29-15-22-13
.. gh-issue: 90733
.. nonce: NiquaA
.. section: Library
Improve error messages when reporting invalid parameters in
:func:`hashlib.scrypt`. Patch by Bénédikt Tran.
..
.. date: 2025-06-28-11-32-57
.. gh-issue: 134759
.. nonce: AjjKcG
.. section: Library
Fix :exc:`UnboundLocalError` in :func:`email.message.Message.get_payload`
when the payload to decode is a :class:`bytes` object. Patch by Kliment
Lamonov.
..
.. date: 2025-06-27-13-34-28
.. gh-issue: 136028
.. nonce: RY727g
.. section: Library
Fix parsing month names containing "İ" (U+0130, LATIN CAPITAL LETTER I WITH
DOT ABOVE) in :func:`time.strptime`. This affects locales az_AZ, ber_DZ,
ber_MA and crh_UA.
..
.. date: 2025-06-27-09-26-04
.. gh-issue: 87135
.. nonce: 33z0UW
.. section: Library
Acquiring a :class:`threading.Lock` or :class:`threading.RLock` at
interpreter shutdown will raise :exc:`PythonFinalizationError` if Python can
determine that it would otherwise deadlock.
..
.. date: 2025-06-26-17-28-49
.. gh-issue: 135995
.. nonce: pPrDCt
.. section: Library
In the palmos encoding, make byte ``0x9b`` decode to ``›`` (U+203A - SINGLE
RIGHT-POINTING ANGLE QUOTATION MARK).
..
.. date: 2025-06-26-17-19-36
.. gh-issue: 105456
.. nonce: eR9oHB
.. section: Library
Removed :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse`
modules.
..
.. date: 2025-06-26-11-52-40
.. gh-issue: 53203
.. nonce: TMigBr
.. section: Library
Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on locales byn_ER,
wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, bg_BG and lzh_TW.
..
.. date: 2025-06-24-14-43-24
.. gh-issue: 135878
.. nonce: Db4roX
.. section: Library
Fixes a crash of :class:`types.SimpleNamespace` on :term:`free threading`
builds, when several threads were calling its :meth:`~object.__repr__`
method at the same time.
..
.. date: 2025-06-24-13-30-47
.. gh-issue: 135853
.. nonce: 7ejTvK
.. section: Library
Add :func:`math.fmax` and :func:`math.fmin` to get the larger and smaller of
two floating-point values. Patch by Bénédikt Tran.
..
.. date: 2025-06-24-10-52-35
.. gh-issue: 135836
.. nonce: s37351
.. section: Library
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could
occur when non-\ :exc:`OSError` exception is raised during connection and
socket's ``close()`` raises :exc:`!OSError`.
..
.. date: 2025-06-24-10-23-37
.. gh-issue: 135853
.. nonce: 6xDNOG
.. section: Library
:mod:`math`: expose C99 :func:`~math.signbit` function to determine whether
the sign bit of a floating-point value is set. Patch by Bénédikt Tran.
..
.. date: 2025-06-23-13-02-08
.. gh-issue: 134531
.. nonce: yUmj07
.. section: Library
:mod:`hmac`: use the :manpage:`EVP_MAC(3ssl)` interface for HMAC when Python
is built with OpenSSL 3.0 and later instead of the deprecated
:manpage:`HMAC_CTX(3ssl) <hmac(3)>` interface. Patch by Bénédikt Tran.
..
.. date: 2025-06-23-11-04-25
.. gh-issue: 135836
.. nonce: -C-c4v
.. section: Library
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could
occur when the Happy Eyeballs algorithm resulted in an empty exceptions list
during connection attempts.
..
.. date: 2025-06-23-10-19-11
.. gh-issue: 135855
.. nonce: -J0AGF
.. section: Library
Raise :exc:`TypeError` instead of :exc:`SystemError` when
:func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch
by Brian Schubert.
..
.. date: 2025-06-22-22-03-06
.. gh-issue: 135823
.. nonce: iDBg97
.. section: Library
:mod:`netrc`: improve the error message when the security check for the
ownership of the default configuration file ``~/.netrc`` fails. Patch by
Bénédikt Tran.
..
.. date: 2025-06-22-16-23-44
.. gh-issue: 135815
.. nonce: 0DandH
.. section: Library
:mod:`netrc`: skip security checks if :func:`os.getuid` is missing. Patch by
Bénédikt Tran.
..
.. date: 2025-06-22-02-16-17
.. gh-issue: 135640
.. nonce: FXyFL6
.. section: Library
Address bug where it was possible to call
:func:`xml.etree.ElementTree.ElementTree.write` on an ElementTree object
with an invalid root element. This behavior blanked the file passed to
``write`` if it already existed.
..
.. date: 2025-06-20-17-06-59
.. gh-issue: 90117
.. nonce: GYWVrn
.. section: Library
Speed up :mod:`pprint` for :class:`list` and :class:`tuple`.
..
.. date: 2025-06-20-16-28-47
.. gh-issue: 135759
.. nonce: jne0Zi
.. section: Library
:mod:`hashlib`: reject negative digest lengths in OpenSSL-based SHAKE
objects by raising a :exc:`ValueError`. Previously, negative lengths were
implicitly rejected by raising a :exc:`MemoryError` or a :exc:`SystemError`.
Patch by Bénédikt Tran.
..
.. date: 2025-06-18-19-25-32
.. gh-issue: 123471
.. nonce: lx1Xbt
.. section: Library
Make concurrent iterations over :class:`itertools.chain` safe under
:term:`free threading`.
..
.. date: 2025-06-18-13-58-13
.. gh-issue: 135645
.. nonce: 109nff
.. section: Library
Added ``supports_isolated_interpreters`` field to
:data:`sys.implementation`.
..
.. date: 2025-06-18-11-43-17
.. gh-issue: 135646
.. nonce: r7ekEn
.. section: Library
Raise consistent :exc:`NameError` exceptions in
:func:`annotationlib.ForwardRef.evaluate`
..
.. date: 2025-06-17-23-13-56
.. gh-issue: 135557
.. nonce: Bfcy4v
.. section: Library
Fix races on :mod:`heapq` updates and :class:`list` reads on the :term:`free
threaded <free threading>` build.
..
.. date: 2025-06-17-22-44-19
.. gh-issue: 119180
.. nonce: Ogv8Nj
.. section: Library
Only fetch globals and locals if necessary in
:func:`annotationlib.get_annotations`
..
.. date: 2025-06-16-15-03-03
.. gh-issue: 135561
.. nonce: mJCN8D
.. section: Library
Fix a crash on DEBUG builds when an HACL* HMAC routine fails. Patch by
Bénédikt Tran.
..
.. date: 2025-06-16-15-00-13
.. gh-issue: 135386
.. nonce: lNrxLc
.. section: Library
Fix opening a :mod:`dbm.sqlite3` database for reading from read-only file or
directory.
..
.. date: 2025-06-16-12-37-02
.. gh-issue: 135444
.. nonce: An2eeA
.. section: Library
Fix :meth:`asyncio.DatagramTransport.sendto` to account for datagram header
size when data cannot be sent.
..
.. date: 2025-06-15-03-03-22
.. gh-issue: 65697
.. nonce: COdwZd
.. section: Library
:class:`configparser`'s error message when attempting to write an invalid
key is now more helpful.
..
.. date: 2025-06-14-14-19-13
.. gh-issue: 135497
.. nonce: 1pzwdA
.. section: Library
Fix :func:`os.getlogin` failing for longer usernames on BSD-based platforms.
..
.. date: 2025-06-14-12-06-55
.. gh-issue: 135487
.. nonce: KdVFff
.. section: Library
Fix :meth:`!reprlib.Repr.repr_int` when given integers with more than
:func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran.
..
.. date: 2025-06-12-18-15-31
.. gh-issue: 135429
.. nonce: mch75_
.. section: Library
Fix the argument mismatch in ``_lsprof`` for ``PY_THROW`` event.
..
.. date: 2025-06-12-10-45-02
.. gh-issue: 135368
.. nonce: OjWVHL
.. section: Library
Fix :class:`unittest.mock.Mock` generation on :func:`dataclasses.dataclass`
objects. Now all special attributes are set as it was before :gh:`124429`.
..
.. date: 2025-06-11-15-08-02
.. gh-issue: 135336
.. nonce: 6Gq6MI
.. section: Library
:mod:`json` now encodes strings up to 2.2x faster if they consist solely of
characters that don’t require escaping.
..
.. date: 2025-06-10-21-42-04
.. gh-issue: 135335
.. nonce: WnUqb_
.. section: Library
:mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after preloading
modules in the ``forkserver``.
..
.. date: 2025-06-10-21-00-48
.. gh-issue: 126631
.. nonce: eITVJd
.. section: Library
Fix :mod:`multiprocessing` ``forkserver`` bug which prevented ``__main__``
from being preloaded.
..
.. date: 2025-06-10-16-11-00
.. gh-issue: 133967
.. nonce: P0c24q
.. section: Library
Do not normalize :mod:`locale` name 'C.UTF-8' to 'en_US.UTF-8'.
..
.. date: 2025-06-10-10-22-18
.. gh-issue: 130870
.. nonce: JipqbO
.. section: Library
Preserve :class:`types.GenericAlias` subclasses in
:func:`typing.get_type_hints`
..
.. date: 2025-06-10-00-42-30
.. gh-issue: 135321
.. nonce: UHh9jT
.. section: Library
Raise a correct exception for values greater than 0x7fffffff for the
``BINSTRING`` opcode in the C implementation of :mod:`pickle`.
..
.. date: 2025-06-09-10-16-55
.. gh-issue: 121914
.. nonce: G6Avkq
.. section: Library
Changed the names of the symbol tables for lambda expressions and generator
expressions to "<lambda>" and "<genexpr>" respectively to avoid conflicts
with user-defined names.
..
.. date: 2025-06-08-14-50-34
.. gh-issue: 135276
.. nonce: ZLUhV1
.. section: Library
Synchronized zipfile.Path with zipp 3.23, including improved performance of
:meth:`zipfile.Path.open` for non-reading modes, rely on
:func:`functools.cached_property` to cache values on the instance. Rely on
``save_method_args`` to save the initialization method arguments. Fixed
``.name``, ``.stem`` and other basename-based properties on Windows when
working with a zipfile on disk.
..
.. date: 2025-06-08-11-11-07
.. gh-issue: 135234
.. nonce: wJCdh0
.. section: Library
:mod:`hashlib`: improve exception messages when an OpenSSL function failed.
When memory allocation fails on OpenSSL's side, a :exc:`MemoryError` is
raised instead of a :exc:`ValueError`. Patch by Bénédikt Tran.
..
.. date: 2025-06-08-10-22-22
.. gh-issue: 135244
.. nonce: Y2SOTJ
.. section: Library
:mod:`uuid`: when the MAC address cannot be determined, the 48-bit node ID
is now generated with a cryptographically-secure pseudo-random number
generator (CSPRNG) as per :rfc:`RFC 9562, §6.10.3 <9562#section-6.10-3>`.
This affects :func:`~uuid.uuid1` and :func:`~uuid.uuid6`.
..
.. date: 2025-06-08-01-10-34
.. gh-issue: 135241
.. nonce: 5j18IW
.. section: Library
The :code:`INT` opcode of the C accelerator :mod:`!_pickle` module was
updated to look only for "00" and "01" to push booleans onto the stack,
aligning with the Python :mod:`pickle` module.
..
.. date: 2025-06-06-17-34-18
.. gh-issue: 133934
.. nonce: yT1r68
.. section: Library
Improve :mod:`sqlite3` CLI's ``.help`` message.
..
.. date: 2025-06-03-12-59-17
.. gh-issue: 135069
.. nonce: xop30V
.. section: Library
Fix the "Invalid error handling" exception in
:class:`!encodings.idna.IncrementalDecoder` to correctly replace the
'errors' parameter.
..
.. date: 2025-06-02-14-36-28
.. gh-issue: 130662
.. nonce: Gpr2GB
.. section: Library
+Accept leading zeros in precision and width fields for
+:class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25),
'.016f')``.
..
.. date: 2025-06-02-14-28-30
.. gh-issue: 130662
.. nonce: EIgIR8
.. section: Library
Accept leading zeros in precision and width fields for
:class:`~fractions.Fraction` formatting, for example ``format(Fraction(1,
3), '.016f')``.
..
.. date: 2025-06-01-14-18-48
.. gh-issue: 135004
.. nonce: cq3-fp
.. section: Library
Rewrite and cleanup the internal :mod:`!_blake2` module. Some exception
messages were changed but their types were left untouched. Patch by Bénédikt
Tran.
..
.. date: 2025-06-01-11-14-00
.. gh-issue: 134953
.. nonce: ashdfs
.. section: Library
Expand ``_colorize`` theme with ``keyword_constant`` and implement in
:term:`repl`.
..
.. date: 2025-05-31-15-49-46
.. gh-issue: 134978
.. nonce: mXXuvW
.. section: Library
:mod:`hashlib`: Supporting the ``string`` keyword parameter in hash function
constructors such as :func:`~hashlib.new` or the direct hash-named
constructors such as :func:`~hashlib.md5` and :func:`~hashlib.sha256` is now
deprecated and slated for removal in Python 3.19. Prefer passing the initial
data as a positional argument for maximum backwards compatibility. Patch by
Bénédikt Tran.
..
.. date: 2025-05-31-12-08-12
.. gh-issue: 134970
.. nonce: lgSaxq
.. section: Library
Fix the "unknown action" exception in
:meth:`argparse.ArgumentParser.add_argument_group` to correctly replace the
action class.
..
.. date: 2025-05-30-18-13-48
.. gh-issue: 134718
.. nonce: 5FEspx
.. section: Library
By default, omit optional ``Load()`` values in :func:`ast.dump`.
..
.. date: 2025-05-30-13-07-29
.. gh-issue: 134718
.. nonce: 9Qvhxn
.. section: Library
:func:`ast.dump` now only omits ``None`` and ``[]`` values if they are
default values.
..
.. date: 2025-05-30-09-46-21
.. gh-issue: 134939
.. nonce: Pu3nnm
.. section: Library
Add the :mod:`concurrent.interpreters` module. See :pep:`734`.
..
.. date: 2025-05-29-17-39-13
.. gh-issue: 108885
.. nonce: MegCRA
.. section: Library
Run each example as a subtest in unit tests synthesized by
:func:`doctest.DocFileSuite` and :func:`doctest.DocTestSuite`. Add the
:meth:`doctest.DocTestRunner.report_skip` method.
..
.. date: 2025-05-29-06-53-40
.. gh-issue: 134885
.. nonce: -_L22o
.. section: Library
Fix possible crash in the :mod:`compression.zstd` module related to setting
parameter types. Patch by Jelle Zijlstra.
..
.. date: 2025-05-28-20-49-29
.. gh-issue: 134857
.. nonce: dVYXVO
.. section: Library
Improve error report for :mod:`doctest`\ s run with :mod:`unittest`. Remove
:mod:`!doctest` module frames from tracebacks and redundant newline
character from a failure message.
..
.. date: 2025-05-28-15-53-27
.. gh-issue: 128840
.. nonce: Nur2pB
.. section: Library
Fix parsing long IPv6 addresses with embedded IPv4 address.
..
.. date: 2025-05-27-11-24-38
.. gh-issue: 133579
.. nonce: WGPUC1
.. section: Library
:mod:`curses`: Consistently report failures of curses C API calls in
module-level methods by raising a :exc:`curses.error`. This affects
:func:`~curses.assume_default_colors`, :func:`~curses.baudrate`,
:func:`~curses.cbreak`, :func:`~curses.echo`, :func:`~curses.longname`,
:func:`~curses.initscr`, :func:`~curses.nl`, :func:`~curses.raw`,
:func:`~curses.termattrs`, :func:`~curses.termname` and
:func:`~curses.unctrl`. Patch by Bénédikt Tran.
..
.. date: 2025-05-27-11-18-13
.. gh-issue: 133579
.. nonce: ohtgdC
.. section: Library
:meth:`curses.window.refresh` and :meth:`curses.window.noutrefresh` now
raise a :exc:`TypeError` instead of :exc:`curses.error` when called with an
incorrect number of arguments for :ref:`pads <windows-and-pads>`. Patch by
Bénédikt Tran.
..
.. date: 2025-05-27-11-13-51
.. gh-issue: 133579
.. nonce: KY9M6S
.. section: Library
:ref:`curses.window <curses-window-objects>`: Consistently report failures
of curses C API calls in Window methods by raising a :exc:`curses.error`.
This affects :meth:`~curses.window.addch`, :meth:`~curses.window.addnstr`,
:meth:`~curses.window.addstr`, :meth:`~curses.window.border`,
:meth:`~curses.window.box`, :meth:`~curses.window.chgat`,
:meth:`~curses.window.getbkgd`, :meth:`~curses.window.inch`,
:meth:`~curses.window.insstr` and :meth:`~curses.window.insnstr`. Patch by
Bénédikt Tran.
..
.. date: 2025-05-26-22-18-32
.. gh-issue: 134771
.. nonce: RKXpLT
.. section: Library
The ``time_clockid_converter()`` function now selects correct type for
``clockid_t`` on Cygwin which fixes a build error.
..
.. date: 2025-05-26-17-06-40
.. gh-issue: 134637
.. nonce: 9-3zRL
.. section: Library
Fix performance regression in calling a :mod:`ctypes` function pointer in
:term:`free threading`.
..
.. date: 2025-05-26-14-04-39
.. gh-issue: 134696
.. nonce: P04xUa
.. section: Library
Built-in HACL* and OpenSSL implementations of hash function constructors now
correctly accept the same *documented* named arguments. For instance,
:func:`~hashlib.md5` could be previously invoked as ``md5(data=data)`` or
``md5(string=string)`` depending on the underlying implementation but these
calls were not compatible. Patch by Bénédikt Tran.
..
.. date: 2025-05-26-12-31-08
.. gh-issue: 132710
.. nonce: ApU3TZ
.. section: Library
If possible, ensure that :func:`uuid.getnode` returns the same result even
across different processes. Previously, the result was constant only within
the same process. Patch by Bénédikt Tran.
..
.. date: 2025-05-26-11-01-54
.. gh-issue: 134531
.. nonce: my1Fzt
.. section: Library
:mod:`!_hashlib`: Rename internal C functions for :class:`!_hashlib.HASH`
and :class:`!_hashlib.HASHXOF` objects. Patch by Bénédikt Tran.
..
.. date: 2025-05-26-10-52-27
.. gh-issue: 134698
.. nonce: aJ1mZ1
.. section: Library
Fix a crash when calling methods of :class:`ssl.SSLContext` or
:class:`ssl.SSLSocket` across multiple threads.
..
.. date: 2025-05-25-23-23-05
.. gh-issue: 134151
.. nonce: 13Wwsb
.. section: Library
:mod:`email`: Fix :exc:`TypeError` in :func:`email.utils.decode_params` when
sorting :rfc:`2231` continuations that contain an unnumbered section.
..
.. date: 2025-05-25-13-46-37
.. gh-issue: 134635
.. nonce: ZlPrlX
.. section: Library
:mod:`zlib`: Allow to combine Adler-32 and CRC-32 checksums via
:func:`~zlib.adler32_combine` and :func:`~zlib.crc32_combine`. Patch by
Callum Attryde and Bénédikt Tran.
..
.. date: 2025-05-25-11-02-05
.. gh-issue: 134657
.. nonce: 3YFhR9
.. section: Library
:mod:`asyncio`: Remove some private names from ``asyncio.__all__``.
..
.. date: 2025-05-24-13-10-35
.. gh-issue: 134210
.. nonce: 0IuMY2
.. section: Library
:func:`curses.window.getch` now correctly handles signals. Patch by Bénédikt
Tran.
..
.. date: 2025-05-24-03-10-36
.. gh-issue: 80334
.. nonce: z21cMa
.. section: Library
:func:`multiprocessing.freeze_support` now checks for work on any "spawn"
start method platform rather than only on Windows.
..
.. date: 2025-05-23-23-43-39
.. gh-issue: 134582
.. nonce: 9POq3l
.. section: Library
Fix tokenize.untokenize() round-trip errors related to t-strings braces
escaping
..
.. date: 2025-05-23-20-01-52
.. gh-issue: 134580
.. nonce: xnaJ70
.. section: Library
Improved the styling of HTML diff pages generated by the
:class:`difflib.HtmlDiff` class, and migrated the output to the HTML5
standard.
..
.. date: 2025-05-23-10-15-36
.. gh-issue: 134565
.. nonce: zmb66C
.. section: Library
:func:`unittest.doModuleCleanups` no longer swallows all but first exception
raised in the cleanup code, but raises a :exc:`ExceptionGroup` if multiple
errors occurred.
..
.. date: 2025-05-22-18-14-13
.. gh-issue: 134546
.. nonce: fjLVzK
.. section: Library
Ensure :mod:`pdb` remote debugging script is readable by remote Python
process.
..
.. date: 2025-05-22-14-12-53
.. gh-issue: 134451
.. nonce: M1rD-j
.. section: Library
Converted ``asyncio.tools.CycleFoundException`` from dataclass to a regular
exception type.
..
.. date: 2025-05-22-13-10-32
.. gh-issue: 114177
.. nonce: 3TYUJ3
.. section: Library
Fix :mod:`asyncio` to not close subprocess pipes which would otherwise error
out when the event loop is already closed.
..
.. date: 2025-05-20-21-45-58
.. gh-issue: 90871
.. nonce: Gkvtp6
.. section: Library
Fixed an off by one error concerning the backlog parameter in
:meth:`~asyncio.loop.create_unix_server`. Contributed by Christian Harries.
..
.. date: 2025-05-20-19-16-30
.. gh-issue: 134323
.. nonce: ZQZGvw
.. section: Library
Fix the :meth:`threading.RLock.locked` method.
..
.. date: 2025-05-20-15-13-43
.. gh-issue: 86802
.. nonce: trF7TM
.. section: Library
Fixed asyncio memory leak in cancelled shield tasks. For shielded tasks
where the shield was cancelled, log potential exceptions through the
exception handler. Contributed by Christian Harries.
..
.. date: 2025-05-20-11-51-17
.. gh-issue: 71189
.. nonce: 0LpTB1
.. section: Library
Add support of the all-but-last mode in :func:`os.path.realpath`.
..
.. date: 2025-05-20-11-35-08
.. gh-issue: 72902
.. nonce: jzEI-E
.. section: Library
Improve speed (x1.1-1.8) of the :class:`~fractions.Fraction` constructor for
typical inputs (:class:`float`'s, :class:`~decimal.Decimal`'s or strings).
..
.. date: 2025-05-19-20-59-06
.. gh-issue: 134209
.. nonce: anhTcF
.. section: Library
:mod:`curses`: The :meth:`curses.window.instr` and
:meth:`curses.window.getstr` methods now allocate their internal buffer on
the heap instead of the stack; in addition, the max buffer size is increased
from 1023 to 2047.
..
.. date: 2025-05-19-18-12-42
.. gh-issue: 88994
.. nonce: 7avvVu
.. section: Library
Change :func:`datetime.datetime.now` to half-even rounding for consistency
with :func:`datetime.datetime.fromtimestamp`. Patch by John Keith Hohm.
..
.. date: 2025-05-19-17-27-21
.. gh-issue: 80184
.. nonce: LOkbaw
.. section: Library
The default queue size is now ``socket.SOMAXCONN`` for
:class:`socketserver.TCPServer`.
..
.. date: 2025-05-19-15-30-00
.. gh-issue: 132983
.. nonce: asdsfs
.. section: Library
Add :mod:`!compression.zstd` version information to ``test.pythoninfo``.
..
.. date: 2025-05-19-15-05-24
.. gh-issue: 134235
.. nonce: pz9PwV
.. section: Library
Updated tab completion on REPL to include builtin modules. Contributed by
Tom Wang, Hunter Young
..
.. date: 2025-05-19-10-32-11
.. gh-issue: 134152
.. nonce: INJC2j
.. section: Library
Fixed :exc:`UnboundLocalError` that could occur during :mod:`email` header
parsing if an expected trailing delimiter is missing in some contexts.
..
.. date: 2025-05-18-23-46-21
.. gh-issue: 134152
.. nonce: 30HwbX
.. section: Library
:mod:`email`: Fix parsing of email message ID with invalid domain.
..
.. date: 2025-05-18-13-23-29
.. gh-issue: 134168
.. nonce: hgx3Xg
.. section: Library
:mod:`http.server`: Fix IPv6 address binding and :option:`--directory
<http.server --directory>` handling when using HTTPS.
..
.. date: 2025-05-18-12-48-39
.. gh-issue: 62184
.. nonce: y11l10
.. section: Library
Remove import of C implementation of :class:`io.FileIO` from Python
implementation which has its own implementation
..
.. date: 2025-05-18-12-23-07
.. gh-issue: 134087
.. nonce: HilZWl
.. section: Library
Remove support for arbitrary positional or keyword arguments in the C
implementation of :class:`threading.RLock` objects. This was deprecated
since Python 3.14. Patch by Bénédikt Tran.
..
.. date: 2025-05-18-07-25-15
.. gh-issue: 134173
.. nonce: 53oOoF
.. section: Library
Speed up :mod:`asyncio` performance of transferring state from thread pool
:class:`concurrent.futures.Future` by up to 4.4x. Patch by J. Nick Koston.
..
.. date: 2025-05-17-20-23-57
.. gh-issue: 133982
.. nonce: smS7au
.. section: Library
Emit :exc:`RuntimeWarning` in the Python implementation of :mod:`io` when
the :term:`file-like object <file object>` is not closed explicitly in the
presence of multiple I/O layers.
..
.. date: 2025-05-17-18-08-35
.. gh-issue: 133890
.. nonce: onn9_X
.. section: Library
The :mod:`tarfile` module now handles :exc:`UnicodeEncodeError` in the same
way as :exc:`OSError` when cannot extract a member.
..
.. date: 2025-05-17-13-46-20
.. gh-issue: 134097
.. nonce: fgkjE1
.. section: Library
Fix interaction of the new :term:`REPL` and :option:`-X showrefcount <-X>`
command line option.
..
.. date: 2025-05-17-12-40-12
.. gh-issue: 133889
.. nonce: Eh-zO4
.. section: Library
The generated directory listing page in
:class:`http.server.SimpleHTTPRequestHandler` now only shows the decoded
path component of the requested URL, and not the query and fragment.
..
.. date: 2025-05-16-20-10-25
.. gh-issue: 134098
.. nonce: YyTkKr
.. section: Library
Fix handling paths that end with a percent-encoded slash (``%2f`` or
``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`.
..
.. date: 2025-05-16-12-40-37
.. gh-issue: 132124
.. nonce: T_5Odx
.. section: Library
On POSIX-compliant systems, :func:`!multiprocessing.util.get_temp_dir` now
ignores :envvar:`TMPDIR` (and similar environment variables) if the path
length of ``AF_UNIX`` socket files exceeds the platform-specific maximum
length when using the :ref:`forkserver
<multiprocessing-start-method-forkserver>` start method. Patch by Bénédikt
Tran.
..
.. date: 2025-05-15-14-27-01
.. gh-issue: 134062
.. nonce: fRbJet
.. section: Library
:mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` for
:class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` objects.
..
.. date: 2025-05-15-00-27-09
.. gh-issue: 134004
.. nonce: e8k4-R
.. section: Library
:mod:`shelve` as well as underlying :mod:`!dbm.dumb` and :mod:`!dbm.sqlite`
now have :meth:`!reorganize` methods to recover unused free space previously
occupied by deleted entries.
..
.. date: 2025-05-13-18-54-56
.. gh-issue: 133970
.. nonce: 6G-Oi6
.. section: Library
Make :class:`!string.templatelib.Template` and
:class:`!string.templatelib.Interpolation` generic.
..
.. date: 2025-05-13-18-21-59
.. gh-issue: 71253
.. nonce: -3Sf_K
.. section: Library
Raise :exc:`ValueError` in :func:`open` if *opener* returns a negative
file-descriptor in the Python implementation of :mod:`io` to match the C
implementation.
..
.. date: 2025-05-12-20-38-57
.. gh-issue: 133960
.. nonce: Aee79f
.. section: Library
Simplify and improve :func:`typing.evaluate_forward_ref`. It now no longer
raises errors on certain invalid types. In several situations, it is now
able to evaluate forward references that were previously unsupported.
..
.. date: 2025-05-12-06-52-10
.. gh-issue: 133925
.. nonce: elInBY
.. section: Library
Make the private class ``typing._UnionGenericAlias`` hashable.
..
.. date: 2025-05-11-12-56-52
.. gh-issue: 133604
.. nonce: kFxhc8
.. section: Library
Remove :func:`!platform.java_ver` which was deprecated since Python 3.13.
..
.. date: 2025-05-11-11-39-05
.. gh-issue: 133875
.. nonce: pUar3l
.. section: Library
Removed deprecated :meth:`!pathlib.PurePath.is_reserved`. Use
:func:`os.path.isreserved` to detect reserved paths on Windows.
..
.. date: 2025-05-11-10-28-11
.. gh-issue: 133873
.. nonce: H03nov
.. section: Library
Remove the deprecated ``getmark()``, ``setmark()`` and ``getmarkers()``
methods of the :class:`~wave.Wave_read` and :class:`~wave.Wave_write`
classes, which were deprecated since Python 3.13. Patch by Bénédikt Tran.
..
.. date: 2025-05-11-10-01-48
.. gh-issue: 133866
.. nonce: g3dHP_
.. section: Library
Remove the undocumented function :func:`!ctypes.SetPointerType`, which has
been deprecated since Python 3.13. Patch by Bénédikt Tran.
..
.. date: 2025-05-11-08-48-55
.. gh-issue: 133823
.. nonce: F8udQy
.. section: Library
Remove support for ``TD = TypedDict("TD")`` and ``TD = TypedDict("TD",
None)`` calls for constructing :class:`typing.TypedDict` objects with zero
field. Patch by Bénédikt Tran.
..
.. date: 2025-05-10-17-42-03
.. gh-issue: 125996
.. nonce: vaQp0-
.. section: Library
Fix thread safety of :class:`collections.OrderedDict`. Patch by Kumar
Aditya.
..
.. date: 2025-05-10-12-07-54
.. gh-issue: 133817
.. nonce: 4GMtKV
.. section: Library
Remove support for creating :class:`~typing.NamedTuple` classes via the
undocumented keyword argument syntax. Patch by Bénédikt Tran.
..
.. date: 2025-05-10-12-06-55
.. gh-issue: 133653
.. nonce: Gb2aG4
.. section: Library
Fix :class:`argparse.ArgumentParser` with the *formatter_class* argument.
Fix TypeError when *formatter_class* is a custom subclass of
:class:`!HelpFormatter`. Fix TypeError when *formatter_class* is not a
subclass of :class:`!HelpFormatter` and non-standard *prefix_char* is used.
Fix support of colorizing when *formatter_class* is not a subclass of
:class:`!HelpFormatter`.
..
.. date: 2025-05-10-11-04-47
.. gh-issue: 133810
.. nonce: 03WhnK
.. section: Library
Remove :class:`!http.server.CGIHTTPRequestHandler` and ``--cgi`` flag from
the :program:`python -m http.server` command-line interface. They were
deprecated in Python 3.13. Patch by Bénédikt Tran.
..
.. date: 2025-05-09-20-59-24
.. gh-issue: 132641
.. nonce: 3qTw44
.. section: Library
Fixed a race in :func:`functools.lru_cache` under free-threading.
..
.. date: 2025-05-09-19-05-24
.. gh-issue: 133783
.. nonce: 1voCnR
.. section: Library
Fix bug with applying :func:`copy.replace` to :mod:`ast` objects. Attributes
that default to ``None`` were incorrectly treated as required for manually
created AST nodes.
..
.. date: 2025-05-09-18-29-25
.. gh-issue: 133684
.. nonce: Y1DFSt
.. section: Library
Fix bug where :func:`annotationlib.get_annotations` would return the wrong
result for certain classes that are part of a class hierarchy where ``from
__future__ import annotations`` is used.
..
.. date: 2025-05-09-15-50-00
.. gh-issue: 77057
.. nonce: fV8SU-
.. section: Library
Fix handling of invalid markup declarations in
:class:`html.parser.HTMLParser`.
..
.. date: 2025-05-09-09-10-34
.. gh-issue: 130328
.. nonce: s9h4By
.. section: Library
Speedup pasting in ``PyREPL`` on Windows in a legacy console. Patch by Chris
Eibl.
..
.. date: 2025-05-09-08-49-03
.. gh-issue: 133701
.. nonce: KI8tGz
.. section: Library
Fix bug where :class:`typing.TypedDict` classes defined under ``from
__future__ import annotations`` and inheriting from another ``TypedDict``
had an incorrect ``__annotations__`` attribute.
..
.. date: 2025-05-08-20-45-35
.. gh-issue: 133656
.. nonce: cxZODA
.. section: Library
Remove deprecated :meth:`!zipimport.zipimporter.load_module`. Use
:meth:`zipimport.zipimporter.exec_module` instead.
..
.. date: 2025-05-08-20-03-20
.. gh-issue: 133722
.. nonce: 1-B82a
.. section: Library
Added a *color* option to :func:`difflib.unified_diff` that colors output
similar to :program:`git diff`.
..
.. date: 2025-05-08-13-43-19
.. gh-issue: 133489
.. nonce: 9eGS1Z
.. section: Library
:func:`random.getrandbits` can now generate more that 2\ :sup:`31` bits.
:func:`random.randbytes` can now generate more that 256 MiB.
..
.. date: 2025-05-07-22-15-15
.. gh-issue: 133595
.. nonce: c3U88r
.. section: Library
Clean up :class:`sqlite3.Connection` APIs. All parameters of
:func:`sqlite3.connect` except *database* are now keyword-only. The first
three parameters of methods :meth:`~sqlite3.Connection.create_function` and
:meth:`~sqlite3.Connection.create_aggregate` are now positional-only. The
first parameter of methods :meth:`~sqlite3.Connection.set_authorizer`,
:meth:`~sqlite3.Connection.set_progress_handler` and
:meth:`~sqlite3.Connection.set_trace_callback` is now positional-only.
..
.. date: 2025-05-07-19-16-41
.. gh-issue: 133581
.. nonce: kERUCJ
.. section: Library
Improve unparsing of t-strings in :func:`ast.unparse` and ``from __future__
import annotations``. Empty t-strings now round-trip correctly and
formatting in interpolations is preserved. Patch by Jelle Zijlstra.
..
.. date: 2025-05-07-14-36-30
.. gh-issue: 133577
.. nonce: BggPk9
.. section: Library
Add parameter ``formatter`` to :func:`logging.basicConfig`.
..
.. date: 2025-05-07-13-31-06
.. gh-issue: 92897
.. nonce: ubeqGE
.. section: Library
Removed the ``check_home`` parameter from :func:`sysconfig.is_python_build`,
deprecated since Python 3.12.
..
.. date: 2025-05-06-22-54-37
.. gh-issue: 133551
.. nonce: rfy1tJ
.. section: Library
Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch by Jelle
Zijlstra.
..
.. date: 2025-05-06-14-44-55
.. gh-issue: 133517
.. nonce: Ca6NgW
.. section: Library
Remove :func:`os.listdrives`, :func:`os.listvolumes` and
:func:`os.listmounts` in non Windows desktop builds since the underlying
functionality is missing.
..
.. date: 2025-05-05-22-11-24
.. gh-issue: 133439
.. nonce: LpmyFz
.. section: Library
Fix dot commands with trailing spaces are mistaken for multi-line SQL
statements in the sqlite3 command-line interface.
..
.. date: 2025-05-05-18-50-00
.. gh-issue: 133447
.. nonce: ajshdb
.. section: Library
Add basic color to :mod:`sqlite3` CLI interface.
..
.. date: 2025-05-05-10-41-41
.. gh-issue: 133253
.. nonce: J5-xDD
.. section: Library
Fix thread-safety issues in :mod:`linecache`.
..
.. date: 2025-05-05-03-14-08
.. gh-issue: 133390
.. nonce: AuTggn
.. section: Library
Support keyword completion in the :mod:`sqlite3` command-line interface and
add :data:`sqlite3.SQLITE_KEYWORDS` constant.
..
.. date: 2025-05-04-17-04-55
.. gh-issue: 132493
.. nonce: huirKi
.. section: Library
Avoid accessing ``__annotations__`` unnecessarily in
:func:`inspect.signature`.
..
.. date: 2025-05-01-16-03-11
.. gh-issue: 133017
.. nonce: k7RLQp
.. section: Library
Improve the error message of :func:`multiprocessing.sharedctypes.Array`,
:func:`multiprocessing.sharedctypes.RawArray`,
:func:`multiprocessing.sharedctypes.Value` and
:func:`multiprocessing.sharedctypes.RawValue` when an invalid typecode is
passed. Patch by Tomas Roun
..
.. date: 2025-05-01-10-56-44
.. gh-issue: 132813
.. nonce: rKurvp
.. section: Library
Improve error messages for incorrect types and values of
:class:`csv.Dialect` attributes.
..
.. date: 2025-04-30-19-32-18
.. gh-issue: 132969
.. nonce: EagQ3G
.. section: Library
Prevent the :class:`~concurrent.futures.ProcessPoolExecutor` executor
thread, which remains running when :meth:`shutdown(wait=False)
<concurrent.futures.Executor.shutdown>`, from attempting to adjust the
pool's worker processes after the object state has already been reset during
shutdown. A combination of conditions, including a worker process having
terminated abormally, resulted in an exception and a potential hang when the
still-running executor thread attempted to replace dead workers within the
pool.
..
.. date: 2025-04-29-11-48-46
.. gh-issue: 132876
.. nonce: lyTQGZ
.. section: Library
``ldexp()`` on Windows doesn't round subnormal results before Windows 11,
but should. Python's :func:`math.ldexp` wrapper now does round them, so
results may change slightly, in rare cases of very small results, on Windows
versions before 11.
..
.. date: 2025-04-26-15-50-12
.. gh-issue: 133009
.. nonce: etBuz5
.. section: Library
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.__deepcopy__
<object.__deepcopy__>` when the element is concurrently mutated. Patch by
Bénédikt Tran.
..
.. date: 2025-04-25-16-06-53
.. gh-issue: 132908
.. nonce: wV5rja
.. section: Library
Add :func:`math.isnormal` and :func:`math.issubnormal` functions. Patch by
Sergey B Kirpichev.
..
.. date: 2025-04-25-11-53-37
.. gh-issue: 95380
.. nonce: 7dvPe-
.. section: Library
:func:`fcntl.fcntl` and :func:`fcntl.ioctl`: Remove the 1024 bytes limit on
the size of not mutated bytes-like argument.
..
.. date: 2025-04-25-11-48-00
.. gh-issue: 122781
.. nonce: ajsdns
.. section: Library
Fix ``%z`` directive in :func:`datetime.datetime.strptime` to allow for no
provided offset as was documented.
..
.. date: 2025-04-22-21-00-23
.. gh-issue: 123471
.. nonce: asOLA2
.. section: Library
Make concurrent iterations over :class:`itertools.combinations` and
:class:`itertools.product` safe under free-threading.
..
.. date: 2025-04-21-01-05-14
.. gh-issue: 127081
.. nonce: Egrpq7
.. section: Library
Fix libc thread safety issues with :mod:`dbm` by performing stateful
operations in critical sections.
..
.. date: 2025-04-21-01-03-15
.. gh-issue: 127081
.. nonce: WXRliX
.. section: Library
Fix libc thread safety issues with :mod:`os` by replacing ``getlogin`` with
``getlogin_r`` re-entrant version.
..
.. date: 2025-04-21-00-58-04
.. gh-issue: 127081
.. nonce: 3DCl92
.. section: Library
Fix libc thread safety issues with :mod:`pwd` by locking access to
``getpwall``.
..
.. date: 2025-04-16-21-02-57
.. gh-issue: 132551
.. nonce: Psa7pL
.. section: Library
Make :class:`io.BytesIO` safe in :term:`free-threaded <free threading>`
build.
..
.. date: 2025-04-08-07-25-10
.. gh-issue: 107583
.. nonce: JGfbhq
.. section: Library
Fix :class:`!Flag` inversion when flag set has missing values
(:class:`!IntFlag` still flips all bits); fix negative assigned values
during flag creation (both :class:`!Flag` and :class:`!IntFlag` ignore
missing values).
..
.. date: 2025-04-07-10-20-16
.. gh-issue: 87790
.. nonce: X2SjJe
.. section: Library
Support underscore and comma as thousands separators in the fractional part
for :class:`~fractions.Fraction`'s formatting. Patch by Sergey B Kirpichev.
..
.. date: 2025-04-07-09-53-54
.. gh-issue: 87790
.. nonce: 6nj3zQ
.. section: Library
Support underscore and comma as thousands separators in the fractional part
for :class:`~decimal.Decimal`'s formatting. Patch by Sergey B Kirpichev.
..
.. date: 2025-04-07-06-41-54
.. gh-issue: 131884
.. nonce: ym9BJN
.. section: Library
Fix formatting issues in :func:`json.dump` when both *indent* and *skipkeys*
are used.
..
.. date: 2025-03-27-08-13-32
.. gh-issue: 131788
.. nonce: 0RWiFc
.. section: Library
Make ``ResourceTracker.send`` from :mod:`multiprocessing` re-entrant safe
..
.. date: 2025-03-19-12-41-42
.. gh-issue: 91349
.. nonce: 8eTOCP
.. section: Library
Adjust default ``compressionlevel=`` to 6 (down from 9) in :mod:`gzip` and
:mod:`tarfile`. It is the default level used by most compression tools and a
better tradeoff between speed and performance.
..
.. date: 2025-03-17-21-21-06
.. gh-issue: 131146
.. nonce: A5Obgv
.. section: Library
Fix :class:`calendar.TextCalendar`, :class:`calendar.HTMLCalendar`, and the
:mod:`calendar` CLI to display month names in the nominative case by adding
:data:`calendar.standalone_month_name` and
:data:`calendar.standalone_month_abbr`, which provide month names and
abbreviations in the grammatical form used when a month name stands by
itself, if the locale supports it.
..
.. date: 2025-03-13-20-48-58
.. gh-issue: 123471
.. nonce: cM4w4f
.. section: Library
Make concurrent iterations over :class:`itertools.cycle` safe under
free-threading.
..
.. date: 2025-03-11-05-24-14
.. gh-issue: 130664
.. nonce: g0yNMm
.. section: Library
Handle corner-case for :class:`~fractions.Fraction`'s formatting: treat
zero-padding (preceding the width field by a zero (``'0'``) character) as an
equivalent to a fill character of ``'0'`` with an alignment type of ``'='``,
just as in case of :class:`float`'s.
..
.. date: 2025-03-09-03-13-41
.. gh-issue: 130999
.. nonce: tBRBVB
.. section: Library
Avoid exiting the new REPL and offer suggestions even if there are
non-string candidates when errors occur.
..
.. date: 2025-03-08-17-07-00
.. gh-issue: 88473
.. nonce: qg23g8
.. section: Library
Implement a fast path for :class:`datetime.date` objects in
:func:`datetime.date.today` which results in a 5x performance gain while
proper subclasses retain their previous performance.
..
.. date: 2024-11-25-10-22-08
.. gh-issue: 126883
.. nonce: MAEF7g
.. section: Library
Add check that timezone fields are in range for
:meth:`datetime.datetime.fromisoformat` and
:meth:`datetime.time.fromisoformat`. Patch by Semyon Moroz.
..
.. date: 2024-10-28-06-54-22
.. gh-issue: 125028
.. nonce: GEY8Ws
.. section: Library
:data:`functools.Placeholder` cannot be passed to :func:`functools.partial`
as a keyword argument.
..
.. date: 2024-10-22-16-21-55
.. gh-issue: 125843
.. nonce: 2ttzYo
.. section: Library
If possible, indicate which :mod:`curses` C function or macro is responsible
for raising a :exc:`curses.error` exception. Patch by Bénédikt Tran.
..
.. date: 2024-10-17-01-12-22
.. gh-issue: 119109
.. nonce: u4hcvb
.. section: Library
:func:`functools.partial` calls are now faster when keyword arguments are
used.
..
.. date: 2024-09-13-09-48-25
.. gh-issue: 124033
.. nonce: WNudS0
.. section: Library
``SimplePath`` is now presented in ``importlib.metadata.__all__``.
..
.. date: 2024-09-13-09-46-47
.. gh-issue: 91216
.. nonce: LuOsF4
.. section: Library
``importlib.metadata`` now raises a ``KeyError`` instead of returning
``None`` when a key is missing from the metadata.
..
.. date: 2024-09-13-09-43-15
.. gh-issue: 120492
.. nonce: Mm6CJ6
.. section: Library
``importlib.metadata`` now prioritizes valid dists to invalid dists when
retrieving by name.
..
.. date: 2024-07-16-00-01-04
.. gh-issue: 99631
.. nonce: GWD4fD
.. section: Library
The :mod:`shelve` module now accepts custom serialization and
deserialization functions.
..
.. date: 2024-07-06-14-32-30
.. gh-issue: 119186
.. nonce: E5B1HQ
.. section: Library
Slightly speed up :func:`os.walk` by calling :func:`os.path.join` less
often.
..
.. date: 2024-06-06-17-49-07
.. gh-issue: 120170
.. nonce: DUxhmT
.. section: Library
Fix an issue in the :mod:`!_pickle` extension module in which importing
:mod:`multiprocessing` could change how pickle identifies which module an
object belongs to, potentially breaking the unpickling of those objects.
..
.. date: 2024-05-13-09-50-31
.. gh-issue: 118981
.. nonce: zgOQPv
.. section: Library
Fix potential hang in ``multiprocessing.popen_spawn_posix`` that can happen
when the child proc dies early by closing the child fds right away.
..
.. date: 2023-07-05-14-34-10
.. gh-issue: 105497
.. nonce: HU5u89
.. section: Library
Fix flag mask inversion when unnamed flags exist.
..
.. date: 2023-03-13-22-51-40
.. gh-issue: 99813
.. nonce: 40TV02
.. section: Library
:mod:`ssl` now uses ``SSL_sendfile`` internally when it is possible (see
:data:`~ssl.OP_ENABLE_KTLS`). The function sends a file more efficiently
because it performs TLS encryption in the kernel to avoid additional context
switches. Patch by Illia Volochii.
..
.. date: 2023-02-13-21-56-38
.. gh-issue: 62824
.. nonce: CBZzX3
.. section: Library
Fix aliases for ``iso8859_8`` encoding. Patch by Dave Goncalves.
..
.. date: 2023-02-13-21-41-34
.. gh-issue: 86155
.. nonce: ppIGSC
.. section: Library
:meth:`html.parser.HTMLParser.close` no longer loses data when the
``<script>`` tag is not closed. Patch by Waylan Limberg.
..
.. date: 2023-02-13-20-34-52
.. gh-issue: 78319
.. nonce: V1zzed
.. section: Library
UTF8 support for the IMAP APPEND command has been made RFC compliant.
..
.. date: 2022-10-08-14-56-07
.. gh-issue: 93334
.. nonce: 0KUm8d
.. section: Library
Reraise :exc:`KeyError` as :exc:`ModuleNotFoundError` when
:meth:`importlib.machinery.PathFinder.find_spec` is called on a submodule
without importing the parent (and without a ``path`` argument).
..
.. date: 2022-07-24-20-56-32
.. gh-issue: 69426
.. nonce: unccw7
.. section: Library
Fix :class:`html.parser.HTMLParser` to not unescape character entities in
attribute values if they are followed by an ASCII alphanumeric or an equals
sign.
..
.. bpo: 38735
.. date: 2022-01-07-16-56-57
.. nonce: NFfJX6
.. section: Library
Fix failure when importing a module from the root directory on unix-like
platforms with sys.pycache_prefix set.
..
.. bpo: 45959
.. date: 2021-12-18-12-46-20
.. nonce: vPlr3P
.. section: Library
:mod:`pprint` can now pretty-print dict views.
..
.. date: 2021-09-21-17-17-29
.. gh-issue: 84683
.. nonce: wDSRsG
.. section: Library
:mod:`zoneinfo`: Check in ``<prefix>/share/zoneinfo`` for data files on
Windows
..
.. bpo: 43429
.. date: 2021-03-07-16-31-36
.. nonce: Koa0mf
.. section: Library
The :meth:`~mmap.mmap.size` method of the :class:`mmap.mmap` class now
returns the size of an anonymous mapping on both Unix and Windows.
Previously, the size would be returned on Windows and an :exc:`OSError`
would be raised on Unix. :exc:`ValueError` is now raised instead of
:exc:`OSError` when ``trackfd=False``.
..
.. bpo: 41839
.. date: 2020-09-23-11-54-17
.. nonce: kU5Ywl
.. section: Library
Allow negative priority values from :func:`os.sched_get_priority_min` and
:func:`os.sched_get_priority_max` functions.
..
.. bpo: 28494
.. date: 2017-12-30-18-21-00
.. nonce: Dt_Wks
.. section: Library
Improve Zip file validation false positive rate in
:func:`zipfile.is_zipfile`.
..
.. date: 2025-10-09-12-53-47
.. gh-issue: 96491
.. nonce: 4YKxvy
.. section: IDLE
Deduplicate version number in IDLE shell title bar after saving to a file.
..
.. date: 2025-10-08-08-35-50
.. gh-issue: 139742
.. nonce: B3fZLg
.. section: IDLE
Colorize t-string prefixes for template strings in IDLE, as done for
f-string prefixes.
..
.. date: 2025-07-01-23-00-58
.. gh-issue: 136155
.. nonce: 4siQQO
.. section: Documentation
We are now checking for fatal errors in EPUB builds in CI.
..
.. date: 2025-06-10-17-02-06
.. gh-issue: 135171
.. nonce: quHvts
.. section: Documentation
Document that the :term:`iterator` for the leftmost :keyword:`!for` clause
in the generator expression is created immediately.
..
.. bpo: 45210
.. date: 2021-09-15-13-07-25
.. nonce: RtGk7i
.. section: Documentation
Document that error indicator may be set in tp_dealloc, and how to avoid
clobbering it.
..
.. date: 2025-10-13-17-56-23
.. gh-issue: 140000
.. nonce: tLhn3e
.. section: Core and Builtins
Fix potential memory leak when a reference cycle exists between an instance
of :class:`typing.TypeAliasType`, :class:`typing.TypeVar`,
:class:`typing.ParamSpec`, or :class:`typing.TypeVarTuple` and its
``__name__`` attribute. Patch by Mikhail Efimov.
..
.. date: 2025-10-12-18-54-06
.. gh-issue: 140009
.. nonce: -MbFh_
.. section: Core and Builtins
Improve performance of list extension by dictionary items.
..
.. date: 2025-10-12-11-00-06
.. gh-issue: 139988
.. nonce: 4wi51t
.. section: Core and Builtins
Fix a memory leak when failing to create a :class:`~typing.Union` type.
Patch by Bénédikt Tran.
..
.. date: 2025-10-08-13-52-00
.. gh-issue: 139748
.. nonce: jq0yFJ
.. section: Core and Builtins
Fix reference leaks in error branches of functions accepting path strings or
bytes such as :func:`compile` and :func:`os.system`. Patch by Bénédikt Tran.
..
.. date: 2025-10-06-13-15-26
.. gh-issue: 139516
.. nonce: d9Pkur
.. section: Core and Builtins
Fix lambda colon erroneously start format spec in f-string in tokenizer.
..
.. date: 2025-10-01-18-21-19
.. gh-issue: 63161
.. nonce: ef1S6N
.. section: Core and Builtins
Support non-UTF-8 shebang and comments in Python source files if non-UTF-8
encoding is specified. Detect decoding error in comments for default (UTF-8)
encoding. Show the line and position of decoding error for default encoding
in a traceback. Show the line containing the coding cookie when it conflicts
with the BOM in a traceback.
..
.. date: 2025-09-30-14-57-19
.. gh-issue: 139116
.. nonce: nlVf40
.. section: Core and Builtins
Prevent a deadlock when multiple threads start, stop and use
:mod:`tracemalloc` simultaneously.
..
.. date: 2025-09-24-17-32-52
.. gh-issue: 139275
.. nonce: novrqf
.. section: Core and Builtins
Fix compilation problems in ``_remote_debugging_module.c`` when the system
doesn't have ``process_vm_readv``. Patch by Pablo Galindo
..
.. date: 2025-09-24-17-08-42
.. gh-issue: 133059
.. nonce: EXvxb7
.. section: Core and Builtins
Increased the number of cached small positive integers from 256 to 1024.
..
.. date: 2025-09-22-15-21-49
.. gh-issue: 74857
.. nonce: 5XRQaA
.. section: Core and Builtins
:pep:`538`: Coerce the POSIX locale to a UTF-8 based locale. Patch by Victor
Stinner.
..
.. date: 2025-09-21-14-33-17
.. gh-issue: 116738
.. nonce: vNaI4h
.. section: Library
Make :mod:`mmap` thread-safe on the :term:`free threaded <free threading>`
build.
..
.. date: 2025-09-17-17-17-21
.. gh-issue: 138558
.. nonce: 0VbzCH
.. section: Core and Builtins
Fix handling of unusual t-string annotations in annotationlib. Patch by Dave
Peck.
..
.. date: 2025-09-15-14-04-56
.. gh-issue: 134466
.. nonce: yR4fYW
.. section: Core and Builtins
Don't run PyREPL in a degraded environment where setting termios attributes
is not allowed.
..
.. date: 2025-09-11-15-56-18
.. gh-issue: 138794
.. nonce: nrOn1K
.. section: Core and Builtins
When a new tracing function is registered with
:c:func:`PyRefTracer_SetTracer`, replacing the current a call to the trace
function will be made with the object set to **NULL** and **event** set to
:c:data:`PyRefTracer_TRACKER_REMOVED`. This will happen just before the new
function is registered. Patch by Pablo Galindo
..
.. date: 2025-09-10-14-53-59
.. gh-issue: 71810
.. nonce: ppf0J-
.. section: Core and Builtins
Raise :exc:`OverflowError` for ``(-1).to_bytes()`` for signed conversions
when bytes count is zero. Patch by Sergey B Kirpichev.
..
.. date: 2025-09-09-23-59-13
.. gh-issue: 138716
.. nonce: UawDY0
.. section: Core and Builtins
Improve :exc:`SyntaxError` message for :keyword:`assert` in cases like
``assert a := b``.
..
.. date: 2025-09-06-13-53-33
.. gh-issue: 105487
.. nonce: a43YaY
.. section: Core and Builtins
Remove non-existent :meth:`~object.__copy__`, :meth:`~object.__deepcopy__`,
and :attr:`~type.__bases__` from the :meth:`~object.__dir__` entries of
:class:`types.GenericAlias`.
..
.. date: 2025-09-05-01-19-04
.. gh-issue: 138192
.. nonce: erluq5
.. section: Core and Builtins
Fix :mod:`contextvars` initialization so that all subinterpreters are
assigned the :attr:`~contextvars.Token.MISSING` value.
..
.. date: 2025-09-03-17-00-30
.. gh-issue: 138479
.. nonce: qUxgWs
.. section: Core and Builtins
Fix a crash when a generic object's ``__typing_subst__`` returns an object
that isn't a :class:`tuple`.
..
.. date: 2025-09-03-15-35-34
.. gh-issue: 138431
.. nonce: EUsrtA
.. section: Core and Builtins
Fix a bug in the JIT optimizer when round-tripping strings and tuples.
..
.. date: 2025-09-03-10-16-09
.. gh-issue: 138378
.. nonce: r6BQxV
.. section: Core and Builtins
Move the globals-to-const JIT optimizer pass into to the main JIT optimizer
pass
..
.. date: 2025-09-02-22-17-55
.. gh-issue: 138401
.. nonce: uTRvue
.. section: Library
Add missing validation of argument ``count`` in :func:`os.sendfile` to be
non-negative.
..
.. date: 2025-09-02-09-10-06
.. gh-issue: 138372
.. nonce: h1Xk4-
.. section: Core and Builtins
Fix :exc:`SyntaxWarning` emitted for erroneous subscript expressions
involving :ref:`template string literals <t-strings>`. Patch by Brian
Schubert.
..
.. date: 2025-09-01-21-52-54
.. gh-issue: 138302
.. nonce: -ez47B
.. section: Core and Builtins
``BINARY_OP`` now specializes to ``BINARY_OP_ADD_INT``,
``BINARY_OP_SUBTRACT_INT`` or ``BINARY_OP_MULTIPLY_INT`` if operands are
compact ints.
..
.. date: 2025-09-01-16-09-02
.. gh-issue: 138318
.. nonce: t-WEN5
.. section: Core and Builtins
The default REPL now avoids highlighting built-in names (for instance
:class:`set` or :func:`format`) when they are used as attribute names (for
instance in ``value.set`` or ``text.format``).
..
.. date: 2025-09-01-13-54-43
.. gh-issue: 138349
.. nonce: 0fGmAi
.. section: Core and Builtins
Fix crash in certain cases where a module contains both a module-level
annotation and a comprehension.
..
.. date: 2025-08-30-17-15-05
.. gh-issue: 69605
.. nonce: KjBk99
.. section: Core and Builtins
Fix some standard library submodules missing from the :term:`REPL`
auto-completion of imports.
..
.. date: 2025-08-30-00-55-35
.. gh-issue: 61206
.. nonce: HeFLvl
.. section: Core and Builtins
:mod:`zipimport` now supports zstandard compressed zip file entries.
..
.. date: 2025-08-28-09-29-46
.. gh-issue: 116738
.. nonce: yLZJpV
.. section: Library
Make :mod:`!cProfile` thread-safe on the :term:`free threaded <free
threading>` build.
..
.. date: 2025-08-27-17-51-38
.. gh-issue: 137838
.. nonce: lK6T0j
.. section: Core and Builtins
Fix JIT trace buffer overrun by increasing possible exit stubs. Patch by
Donghee Na.
..
.. date: 2025-08-27-13-11-47
.. gh-issue: 71679
.. nonce: V0yFeT
.. section: Core and Builtins
Use the same quoting algorithm for the repr of bytearrays as for bytes
objects and strings -- use double quotes for quoting if the bytearray
contains single quotes and does not contain double quotes.
..
.. date: 2025-08-22-11-39-40
.. gh-issue: 137384
.. nonce: j4b_in
.. section: Core and Builtins
Fix a crash when using the :mod:`warnings` module in a finalizer at
shutdown. Patch by Kumar Aditya.
..
.. date: 2025-08-21-06-31-42
.. gh-issue: 138004
.. nonce: FH2Hre
.. section: Library
On Solaris/Illumos platforms, thread names are now encoded as ASCII to avoid
errors on systems (e.g. OpenIndiana) that don't support non-ASCII names.
..
.. date: 2025-08-21-01-46-39
.. gh-issue: 137976
.. nonce: p4sb4x
.. section: Library
Removed ``localtime`` from the list of reported system timezones.
..
.. date: 2025-08-20-14-17-47
.. gh-issue: 137992
.. nonce: fcL3SK
.. section: Core and Builtins
Ensure that :c:func:`PyRefTracer_SetTracer` sync with all existing threads
when called to avoid races in the free threaded build. Patch by Pablo
Galindo
..
.. date: 2025-08-19-18-52-22
.. gh-issue: 137967
.. nonce: uw67Ys
.. section: Core and Builtins
Show error suggestions on nested attribute access. Patch by Pablo Galindo
..
.. date: 2025-08-19-16-07-07
.. gh-issue: 137959
.. nonce: EWj0RZ
.. section: Core and Builtins
Replace the shim code added to every piece of jitted code with a single
trampoline function.
..
.. date: 2025-08-17-13-36-53
.. gh-issue: 137883
.. nonce: 55VDCN
.. section: Core and Builtins
Fix runaway recursion when calling a function with keyword arguments.
..
.. date: 2025-08-15-15-45-26
.. gh-issue: 137079
.. nonce: YEow69
.. section: Core and Builtins
Fix keyword typo recognition when parsing files. Patch by Pablo Galindo.
..
.. date: 2025-08-14-14-18-29
.. gh-issue: 137728
.. nonce: HdYS9R
.. section: Core and Builtins
Fix the JIT's handling of many local variables. This previously caused a
segfault.
..
.. date: 2025-08-13-16-58-58
.. gh-issue: 137716
.. nonce: ZcZSyi
.. section: Core and Builtins
Fix double period in :exc:`AttributeError` message for invalid mock
assertions
..
.. date: 2025-08-13-13-39-02
.. gh-issue: 137433
.. nonce: g6Atfz
.. section: Core and Builtins
Fix a potential deadlock in the :term:`free threading` build when daemon
threads enable or disable profiling or tracing while the main thread is
shutting down the interpreter.
..
.. date: 2025-08-10-21-34-12
.. gh-issue: 137576
.. nonce: 0ZicS-
.. section: Core and Builtins
Fix for incorrect source code being shown in tracebacks from the Basic REPL
when :envvar:`PYTHONSTARTUP` is given. Patch by Adam Hartz.
..
.. date: 2025-08-09-11-38-37
.. gh-issue: 37817
.. nonce: Y5Fhde
.. section: Core and Builtins
Allow assignment to :attr:`~type.__bases__` of direct subclasses of builtin
classes.
..
.. date: 2025-08-09-04-07-05
.. gh-issue: 132732
.. nonce: 8BiIVJ
.. section: Core and Builtins
Optimize ``_COMPARE_OP``, ``_CONTAINS_OP``, ``_UNARY_NEGATIVE``,
``_UNARY_NOT``, and ``_UNARY_INVERT`` in JIT builds with constant-loading
uops (``_POP_TWO_LOAD_CONST_INLINE_BORROW`` and
``_POP_TOP_LOAD_CONST_INLINE_BORROW``), and then remove both to reduce
instruction count.
..
.. date: 2025-08-07-09-52-19
.. gh-issue: 137400
.. nonce: AK1dy-
.. section: Core and Builtins
Fix a crash in the :term:`free threading` build when disabling profiling or
tracing across all threads with :c:func:`PyEval_SetProfileAllThreads` or
:c:func:`PyEval_SetTraceAllThreads` or their Python equivalents
:func:`threading.settrace_all_threads` and
:func:`threading.setprofile_all_threads`.
..
.. date: 2025-08-06-16-55-44
.. gh-issue: 133143
.. nonce: l7CI9v
.. section: Core and Builtins
Add :data:`sys.abi_info` object to make ABI information more easily
accessible.
..
.. date: 2025-08-06-15-39-54
.. gh-issue: 137400
.. nonce: xIw0zs
.. section: Core and Builtins
Fix a crash in the :term:`free threading` build when disabling profiling or
tracing across all threads with :c:func:`PyEval_SetProfileAllThreads` or
:c:func:`PyEval_SetTraceAllThreads` or their Python equivalents
:func:`threading.settrace_all_threads` and
:func:`threading.setprofile_all_threads`.
..
.. date: 2025-08-05-20-24-12
.. gh-issue: 120037
.. nonce: MB7MmI
.. section: Core and Builtins
Disable user site packages directory when a ``._pth`` file is used, even if
it contains ``import site``.
..
.. date: 2025-08-05-17-22-24
.. gh-issue: 58124
.. nonce: q1__53
.. section: Core and Builtins
Fix name of the Python encoding in Unicode errors of the code page codec:
use "cp65000" and "cp65001" instead of "CP_UTF7" and "CP_UTF8" which are not
valid Python code names. Patch by Victor Stinner.
..
.. date: 2025-08-05-10-22-15
.. gh-issue: 136966
.. nonce: J5lrE0
.. section: Core and Builtins
The :attr:`object.__dict__` and :attr:`!__weakref__` descriptors now use a
single descriptor instance per interpreter, shared across all types that
need them. This speeds up class creation, and helps avoid reference cycles.
..
.. date: 2025-08-02-23-04-57
.. gh-issue: 137314
.. nonce: wjEdzD
.. section: Core and Builtins
Fixed a regression where raw f-strings incorrectly interpreted escape
sequences in format specifications. Raw f-strings now properly preserve
literal backslashes in format specs, matching the behavior from Python 3.11.
For example, ``rf"{obj:\xFF}"`` now correctly produces ``'\\xFF'`` instead
of ``'ÿ'``. Patch by Pablo Galindo.
..
.. date: 2025-08-02-10-27-53
.. gh-issue: 137308
.. nonce: at05p_
.. section: Core and Builtins
A standalone docstring in a node body is optimized as a :keyword:`pass`
statement to ensure that the node's body is never empty. There was a
:exc:`ValueError` in :func:`compile` otherwise.
..
.. date: 2025-08-01-18-54-31
.. gh-issue: 137288
.. nonce: FhE7ku
.. section: Core and Builtins
Fix bug where some bytecode instructions of a boolean expression are not
associated with the correct exception handler.
..
.. date: 2025-07-31-23-02-02
.. gh-issue: 137291
.. nonce: kIxVZd
.. section: Core and Builtins
The perf profiler can now be used if a previous frame evaluation API has
been provided.
..
.. date: 2025-07-28-19-11-34
.. gh-issue: 134291
.. nonce: IiB9Id
.. section: Core and Builtins
Remove some newer macOS API usage from the JIT compiler in order to restore
compatibility with older OSX 10.15 deployment targets.
..
.. date: 2025-07-28-17-01-05
.. gh-issue: 88886
.. nonce: g4XFPb
.. section: Core and Builtins
The codecs lookup function now again performs only minimal normalization of
the encoding name before passing it to the search functions: all ASCII
letters are converted to lower case, spaces are replaced with hyphens. This
restores the pre-Python 3.9 behavior.
..
.. date: 2025-07-25-22-31-52
.. gh-issue: 131338
.. nonce: zJDCMp
.. section: Core and Builtins
Disable computed stack limit checks on non-glibc linux platforms to fix
crashes on deep recursion.
..
.. date: 2025-07-24-17-30-58
.. gh-issue: 136870
.. nonce: ncx82J
.. section: Core and Builtins
Fix data races while de-instrumenting bytecode of code objects running
concurrently in threads.
..
.. date: 2025-07-24-02-13-59
.. gh-issue: 132732
.. nonce: p77xkb
.. section: Core and Builtins
Optimize constant comparison for ``_COMPARE_OP_INT``, ``_COMPARE_OP_FLOAT``
and ``_COMPARE_OP_STR`` in JIT builds
..
.. date: 2025-07-19-17-08-09
.. gh-issue: 127598
.. nonce: Mx8S-y
.. section: Core and Builtins
Improve :exc:`ModuleNotFoundError` by adding flavour text to the exception
when the :option:`-S` option is passed. Patch by Andrea Mattei.
..
.. date: 2025-07-19-12-37-05
.. gh-issue: 136801
.. nonce: XU_tF2
.. section: Core and Builtins
Fix PyREPL syntax highlighting on match cases after multi-line case.
Contributed by Olga Matoula.
..
.. date: 2025-07-19-10-35-31
.. gh-issue: 74185
.. nonce: 7hPCA5
.. section: Core and Builtins
The :meth:`~object.__repr__` of :class:`ImportError` and
:class:`ModuleNotFoundError` now shows "name" and "path" as ``name=<name>``
and ``path=<path>`` if they were given as keyword arguments at construction
time. Patch by Serhiy Storchaka, Oleg Iarygin, and Yoav Nir
..
.. date: 2025-07-18-08-43-35
.. gh-issue: 116738
.. nonce: i0HWtP
.. section: Library
Make functions in :mod:`syslog` thread-safe on the :term:`free threaded
<free threading>` build.
..
.. date: 2025-07-15-10-03-57
.. gh-issue: 116738
.. nonce: oFttKl
.. section: Library
Make functions in :mod:`pwd` thread-safe on the :term:`free threaded <free
threading>` build.
..
.. date: 2025-07-14-17-01-23
.. gh-issue: 136616
.. nonce: FQjXE_
.. section: Core and Builtins
Improve :exc:`SyntaxError` error messages for invalid :keyword:`assert`
usages.
..
.. date: 2025-07-13-21-21-17
.. gh-issue: 136599
.. nonce: sLhm2O
.. section: Core and Builtins
Improve performance of :class:`int` hash calculations.
..
.. date: 2025-07-12-09-59-14
.. gh-issue: 136421
.. nonce: ZD1rNj
.. section: Library
Fix crash when initializing :mod:`datetime` concurrently.
..
.. date: 2025-07-11-13-45-48
.. gh-issue: 136541
.. nonce: uZ_-Ju
.. section: Core and Builtins
Fix some issues with the perf trampolines on x86-64 and aarch64. The
trampolines were not being generated correctly for some cases, which could
lead to the perf integration not working correctly. Patch by Pablo Galindo.
..
.. date: 2025-07-11-12-29-09
.. gh-issue: 107545
.. nonce: ipfl7U
.. section: Library
Improve the error messages that may be raised by
:meth:`~socket.socket.setsockopt`.
..
.. date: 2025-07-10-23-23-50
.. gh-issue: 136517
.. nonce: _NHJyv
.. section: Core and Builtins
Fixed a typo that prevented printing of uncollectable objects when the
:const:`gc.DEBUG_UNCOLLECTABLE` mode was set.
..
.. date: 2025-07-10-15-53-16
.. gh-issue: 136525
.. nonce: xAko0e
.. section: Core and Builtins
Fix issue where per-thread bytecode was not instrumented for newly created
threads.
..
.. date: 2025-07-09-21-27-14
.. gh-issue: 132657
.. nonce: kSA8R3
.. section: Core and Builtins
Improve performance of :class:`frozenset` by removing locks in the
free-threading build.
..
.. date: 2025-07-09-11-15-42
.. gh-issue: 136459
.. nonce: m4Udh8
.. section: Core and Builtins
Add support for perf trampoline on macOS, to allow profilers wit JIT map
support to read Python calls. While profiling, ``PYTHONPERFSUPPORT=1`` can
be appended to enable the trampoline.
..
.. date: 2025-07-08-23-53-51
.. gh-issue: 132661
.. nonce: B84iYt
.. section: Core and Builtins
``Interpolation.expression`` now has a default, the empty string.
..
.. date: 2025-07-08-23-22-08
.. gh-issue: 132661
.. nonce: 34ftJl
.. section: Core and Builtins
Reflect recent :pep:`750` change.
Disallow concatenation of ``string.templatelib.Template`` and :class:`str`.
Also, disallow implicit concatenation of t-string literals with string or
f-string literals.
..
.. date: 2025-07-07-17-26-06
.. gh-issue: 91636
.. nonce: GyHU72
.. section: Core and Builtins
While performing garbage collection, clear weakrefs to unreachable objects
that are created during running of finalizers. If those weakrefs were are
not cleared, they could reveal unreachable objects.
..
.. date: 2025-07-07-12-24-00
.. gh-issue: 136355
.. nonce: MTcA8j
.. section: Core and Builtins
Deprecate :option:`-b` and :option:`!-bb` command line options and schedule
them to become no-op in Python 3.17.
..
.. date: 2025-07-06-14-53-19
.. gh-issue: 109700
.. nonce: KVNQQi
.. section: Core and Builtins
Fix memory error handling in :c:func:`PyDict_SetDefault`.
..
.. date: 2025-07-03-06-04-42
.. gh-issue: 135552
.. nonce: CbBQof
.. section: Core and Builtins
Fix a bug caused by the garbage collector clearing weakrefs too early. The
weakrefs in the ``tp_subclasses`` dictionary are needed in order to
correctly invalidate type caches (for example, by calling
``PyType_Modified()``). Clearing weakrefs before calling finalizers causes
the caches to not be correctly invalidated. That can cause crashes since
the caches can refer to invalid objects. Defer the clearing of weakrefs
without callbacks until after finalizers are executed.
..
.. date: 2025-07-02-15-18-41
.. gh-issue: 136203
.. nonce: Y934sC
.. section: Core and Builtins
Improve :exc:`TypeError` error message, when richcomparing two
:class:`types.MappingProxyType` objects.
..
.. date: 2025-06-26-18-44-34
.. gh-issue: 136003
.. nonce: sln51d
.. section: Core and Builtins
Fix :class:`threading.Thread` objects becoming incorrectly daemon when
created from an :mod:`atexit` callback or a pending call
(:c:func:`Py_AddPendingCall`).
..
.. date: 2025-06-26-15-25-51
.. gh-issue: 78465
.. nonce: MbDN8X
.. section: Core and Builtins
Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` is not
instantiable builtin or extension type (with ``tp_new`` set to ``NULL``).
..
.. date: 2025-06-24-16-46-34
.. gh-issue: 135904
.. nonce: 78xfon
.. section: Core and Builtins
Perform more aggressive control-flow optimizations on the machine code
templates emitted by the experimental JIT compiler.
..
.. date: 2025-06-24-06-41-47
.. gh-issue: 129958
.. nonce: EaJuS0
.. section: Core and Builtins
Differentiate between t-strings and f-strings in syntax error for newlines
in format specifiers of single-quoted interpolated strings.
..
.. date: 2025-06-23-18-08-32
.. gh-issue: 135871
.. nonce: 50C528
.. section: Core and Builtins
Non-blocking mutex lock attempts now return immediately when the lock is
busy instead of briefly spinning in the :term:`free threading` build.
..
.. date: 2025-06-20-14-50-44
.. gh-issue: 134584
.. nonce: 3CJdAI
.. section: Core and Builtins
Specialize :opcode:`POP_TOP` in the JIT compiler by specializing for
reference lifetime and type. This will also enable easier top of stack
caching in the JIT compiler.
..
.. date: 2025-06-18-16-45-36
.. gh-issue: 135106
.. nonce: cpl6Aq
.. section: Core and Builtins
Restrict the trashcan mechanism to GC'ed objects and untrack them while in
the trashcan to prevent the GC and trashcan mechanisms conflicting.
..
.. date: 2025-06-18-12-19-13
.. gh-issue: 135379
.. nonce: TCvGpj
.. section: Core and Builtins
Changes specialization of ``BINARY_OP`` for ints to only specialize for
"compact" ints. This streamlines the fast path at the cost of fewer
specializations when very large integers are used.
..
.. date: 2025-06-17-22-34-58
.. gh-issue: 135607
.. nonce: ucsLVu
.. section: Core and Builtins
Fix potential :mod:`weakref` races in an object's destructor on the
:term:`free threaded <free threading>` build.
..
.. date: 2025-06-17-12-50-48
.. gh-issue: 135608
.. nonce: PnHckD
.. section: Core and Builtins
Fix a crash in the JIT involving attributes of modules.
..
.. date: 2025-06-17-08-37-45
.. gh-issue: 82088
.. nonce: TgPvLg
.. section: Core and Builtins
Improve performance of ``PyLongObject`` conversion functions
``PyLong_AsLongAndOverflow()``, ``PyLong_AsSsize_t()``,
``PyLong_AsUnsignedLong()``, ``PyLong_AsSize_t()``,
``PyLong_AsUnsignedLongMask()``, ``PyLong_AsUnsignedLongLongMask()``,
``PyLong_AsLongLongAndOverflow()`` for integers larger than 2**30 up to 30%.
..
.. date: 2025-06-16-03-56-15
.. gh-issue: 135551
.. nonce: hRTQO-
.. section: Core and Builtins
Sorting randomly ordered lists will often run a bit faster, thanks to a new
scheme for picking minimum run lengths from Stefan Pochmann, which arranges
for the merge tree to be as evenly balanced as is possible.
..
.. date: 2025-06-16-02-31-42
.. gh-issue: 135543
.. nonce: 6b0HOF
.. section: Core and Builtins
Emit ``sys.remote_exec`` audit event when :func:`sys.remote_exec` is called
and migrate ``remote_debugger_script`` to
``cpython.remote_debugger_script``.
..
.. date: 2025-06-14-01-01-14
.. gh-issue: 135496
.. nonce: ER0Me3
.. section: Core and Builtins
Fix typo in the f-string conversion type error ("exclamanation" ->
"exclamation").
..
.. date: 2025-06-13-16-05-24
.. gh-issue: 135474
.. nonce: 67nOl3
.. section: Core and Builtins
Specialize integer operations only on compact integers. This is a CPython
internal change.
..
.. date: 2025-06-12-18-12-42
.. gh-issue: 135371
.. nonce: R_YUtR
.. section: Core and Builtins
Fixed :mod:`asyncio` debugging tools to properly display internal coroutine
call stacks alongside external task dependencies. The ``python -m asyncio
ps`` and ``python -m asyncio pstree`` commands now show complete execution
context. Patch by Pablo Galindo.
..
.. date: 2025-06-12-11-19-52
.. gh-issue: 135422
.. nonce: F6yQi6
.. section: Core and Builtins
Fix regression in :exc:`SyntaxError` messages after :gh:`134036`.
..
.. date: 2025-06-12-00-03-34
.. gh-issue: 116738
.. nonce: iBBAdo
.. section: Library
Make functions in :mod:`grp` thread-safe on the :term:`free threaded <free
threading>` build.
..
.. date: 2025-06-11-15-08-10
.. gh-issue: 127319
.. nonce: OVGFSZ
.. section: Library
Set the ``allow_reuse_port`` class variable to ``False`` on the XMLRPC,
logging, and HTTP servers. This matches the behavior in prior Python
releases, which is to not allow port reuse.
..
.. date: 2025-06-09-23-57-37
.. gh-issue: 130077
.. nonce: MHknDB
.. section: Core and Builtins
Properly raise custom syntax errors when incorrect syntax containing names
that are prefixes of soft keywords is encountered. Patch by Pablo Galindo.
..
.. date: 2025-06-08-14-24-29
.. gh-issue: 131798
.. nonce: qfw91T
.. section: Core and Builtins
Optimize _CALL_LEN in the JIT when the length is known. Patch by Tomas Roun
..
.. date: 2025-06-06-19-17-22
.. gh-issue: 131798
.. nonce: XoV8Eb
.. section: Core and Builtins
Optimize ``_UNARY_NEGATIVE`` in JIT-compiled code.
..
.. date: 2025-06-06-02-24-42
.. gh-issue: 135148
.. nonce: r-t2sC
.. section: Core and Builtins
Fixed a bug where f-string debug expressions (using =) would incorrectly
strip out parts of strings containing escaped quotes and # characters. Patch
by Pablo Galindo.
..
.. date: 2025-06-06-01-09-44
.. gh-issue: 131798
.. nonce: 1SuxO9
.. section: Core and Builtins
Optimize ``_UNARY_INVERT`` in JIT-compiled code.
..
.. date: 2025-06-05-21-58-30
.. gh-issue: 131798
.. nonce: nt5Ab7
.. section: Core and Builtins
Optimize away ``_CALL_TYPE_1`` in the JIT when the return type is known.
Patch by Tomas Roun
..
.. date: 2025-06-03-21-06-22
.. gh-issue: 133136
.. nonce: Usnvri
.. section: Core and Builtins
Limit excess memory usage in the :term:`free threading` build when a large
dictionary or list is resized and accessed by multiple threads.
..
.. date: 2025-06-02-20-13-37
.. gh-issue: 131798
.. nonce: JQRFvR
.. section: Core and Builtins
Optimize ``_CHECK_METHOD_VERSION`` into ``_CHECK_FUNCTION_VERSION_INLINE``
in JIT-compiled code.
..
.. date: 2025-06-02-13-57-40
.. gh-issue: 116738
.. nonce: ycJsL8
.. section: Library
Make methods in :mod:`heapq` thread-safe on the :term:`free threaded <free
threading>` build.
..
.. date: 2025-05-31-19-24-54
.. gh-issue: 134280
.. nonce: NDVbzY
.. section: Core and Builtins
Disable constant folding for ``~`` with a boolean argument. This moves the
deprecation warning from compile time to runtime.
..
.. date: 2025-05-31-10-26-46
.. gh-issue: 134876
.. nonce: 8mBGJI
.. section: Core and Builtins
Add support to :pep:`768` remote debugging for Linux kernels which don't
have CONFIG_CROSS_MEMORY_ATTACH configured.
..
.. date: 2025-05-30-18-09-54
.. gh-issue: 134889
.. nonce: Ic9UM-
.. section: Core and Builtins
Fix handling of a few opcodes that leave operands on the stack when
optimizing ``LOAD_FAST``.
..
.. date: 2025-05-30-15-56-19
.. gh-issue: 134908
.. nonce: 3a7PxM
.. section: Library
Fix crash when iterating over lines in a text file on the :term:`free
threaded <free threading>` build.
..
.. date: 2025-05-28-23-58-50
.. gh-issue: 117852
.. nonce: BO9g7z
.. section: Core and Builtins
Fix argument checking of :meth:`~agen.athrow`.
..
.. date: 2025-05-27-20-29-00
.. gh-issue: 132617
.. nonce: EmUfQQ
.. section: Core and Builtins
Fix :meth:`dict.update` modification check that could incorrectly raise a
"dict mutated during update" error when a different dictionary was modified
that happens to share the same underlying keys object.
..
.. date: 2025-05-27-20-21-34
.. gh-issue: 131798
.. nonce: b32zkl
.. section: Core and Builtins
Allow the JIT to remove unnecessary ``_ITER_CHECK_TUPLE`` ops.
..
.. date: 2025-05-27-18-59-54
.. gh-issue: 134679
.. nonce: FWPBu6
.. section: Core and Builtins
Fix crash in the :term:`free threading` build's QSBR code that could occur
when changing an object's ``__dict__`` attribute.
..
.. date: 2025-05-26-15-55-50
.. gh-issue: 133912
.. nonce: -xAguL
.. section: Core and Builtins
Fix the C API function ``PyObject_GenericSetDict`` to handle extension
classes with inline values.
..
.. date: 2025-05-25-19-32-15
.. gh-issue: 131798
.. nonce: f5h8aI
.. section: Core and Builtins
Make the JIT optimizer understand that slicing a string/list/tuple returns
the same type.
..
.. date: 2025-05-23-14-54-07
.. gh-issue: 134584
.. nonce: y-WDjf
.. section: Core and Builtins
Add a reference count elimination pass to the JIT compiler. Patch by Ken
Jin.
..
.. date: 2025-05-22-17-49-39
.. gh-issue: 131798
.. nonce: U6ZmFm
.. section: Core and Builtins
Optimize ``_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW``.
..
.. date: 2025-05-22-14-48-19
.. gh-issue: 134381
.. nonce: 2BXhth
.. section: Library
Fix :exc:`RuntimeError` when using a not-started :class:`threading.Thread`
after calling :func:`os.fork`
..
.. date: 2025-05-21-18-02-56
.. gh-issue: 127960
.. nonce: W3J_2X
.. section: Core and Builtins
PyREPL interactive shell no longer starts with ``__package__`` and
``__file__`` global names set to ``_pyrepl`` package internals. Contributed
by Yuichiro Tachibana.
..
.. date: 2025-05-21-15-14-32
.. gh-issue: 130397
.. nonce: aG6EON
.. section: Core and Builtins
Remove special-casing for C stack depth limits for WASI. Due to
WebAssembly's built-in stack protection this does not pose a security
concern.
..
.. date: 2025-05-21-13-57-26
.. gh-issue: 131798
.. nonce: QwS5Bb
.. section: Core and Builtins
JIT: replace ``_LOAD_SMALL_INT`` with ``_LOAD_CONST_INLINE_BORROW``
..
.. date: 2025-05-20-23-32-11
.. gh-issue: 131798
.. nonce: G9ZQZw
.. section: Core and Builtins
Improve the JIT's ability to optimize away cached class attribute and method
loads.
..
.. date: 2025-05-20-14-41-50
.. gh-issue: 128066
.. nonce: qzzGfv
.. section: Core and Builtins
Fixes an edge case where PyREPL improperly threw an error when Python is
invoked on a read only filesystem while trying to write history file
entries.
..
.. date: 2025-05-20-13-58-18
.. gh-issue: 131798
.. nonce: hG8xBw
.. section: Core and Builtins
Improve the JIT's ability to narrow unknown classes to constant values.
..
.. date: 2025-05-19-20-52-53
.. gh-issue: 134268
.. nonce: HPKX1e
.. section: Core and Builtins
Add ``_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW`` and use it to further
optimize ``CALL_ISINSTANCE``.
..
.. date: 2025-05-19-15-15-58
.. gh-issue: 131798
.. nonce: PCP71j
.. section: Core and Builtins
Split ``CALL_LIST_APPEND`` into several uops. Patch by Diego Russo.
..
.. date: 2025-05-18-14-33-23
.. gh-issue: 69605
.. nonce: ZMO49F
.. section: Core and Builtins
When auto-completing an import in the :term:`REPL`, finding no candidates
now issues no suggestion, rather than suggestions from the current
namespace.
..
.. date: 2025-05-18-10-50-46
.. gh-issue: 134170
.. nonce: J0Hvmi
.. section: Core and Builtins
Add colorization to :func:`sys.unraisablehook` by default.
..
.. date: 2025-05-17-20-56-05
.. gh-issue: 91153
.. nonce: afgtG2
.. section: Core and Builtins
Fix a crash when a :class:`bytearray` is concurrently mutated during item
assignment.
..
.. date: 2025-05-17-20-44-51
.. gh-issue: 134158
.. nonce: ewLNLp
.. section: Core and Builtins
Fix coloring of double braces in f-strings and t-strings in the
:term:`REPL`.
..
.. date: 2025-05-16-20-59-12
.. gh-issue: 134119
.. nonce: w8expI
.. section: Core and Builtins
Fix crash when calling :func:`next` on an exhausted template string
iterator. Patch by Jelle Zijlstra.
..
.. date: 2025-05-16-17-25-52
.. gh-issue: 134100
.. nonce: 5-FbLK
.. section: Core and Builtins
Fix a use-after-free bug that occurs when an imported module isn't in
:data:`sys.modules` after its initial import. Patch by Nico-Posada.
..
.. date: 2025-05-16-09-06-38
.. gh-issue: 134036
.. nonce: st2e-B
.. section: Core and Builtins
Improve :exc:`SyntaxError` message when using invalid :keyword:`raise`
statements.
..
.. date: 2025-05-15-11-38-16
.. gh-issue: 133999
.. nonce: uBZ8uS
.. section: Core and Builtins
Fix :exc:`SyntaxError` regression in :keyword:`except` parsing after
:gh:`123440`.
..
.. date: 2025-05-11-13-40-42
.. gh-issue: 133886
.. nonce: ryBAyo
.. section: Core and Builtins
Fix :func:`sys.remote_exec` for non-ASCII paths in non-UTF-8 locales and
non-UTF-8 paths in UTF-8 locales.
..
.. date: 2025-05-11-09-40-19
.. gh-issue: 133400
.. nonce: zkWla8
.. section: Core and Builtins
Fixed Ctrl+D (^D) behavior in _pyrepl module to match old pre-3.13 REPL
behavior.
..
.. date: 2025-05-10-17-12-27
.. gh-issue: 133703
.. nonce: bVM-re
.. section: Core and Builtins
Fix hashtable in dict can be bigger than intended in some situations.
..
.. date: 2025-05-09-18-11-21
.. gh-issue: 133778
.. nonce: pWEV3t
.. section: Core and Builtins
Fix bug where assigning to the :attr:`~type.__annotations__` attributes of
classes defined under ``from __future__ import annotations`` had no effect.
..
.. date: 2025-05-08-22-19-10
.. gh-issue: 133711
.. nonce: e91wUy
.. section: Core and Builtins
Implement :pep:`686`: Enable :ref:`Python UTF-8 Mode <utf8-mode>` by
default. Patch by Adam Turner.
..
.. date: 2025-05-08-13-48-02
.. gh-issue: 132762
.. nonce: tKbygC
.. section: Core and Builtins
:meth:`~dict.fromkeys` no longer loops forever when adding a small set of
keys to a large base dict. Patch by Angela Liss.
..
.. date: 2025-05-07-23-26-53
.. gh-issue: 133541
.. nonce: bHIC55
.. section: Core and Builtins
Inconsistent indentation in user input crashed the new REPL when syntax
highlighting was active. This is now fixed.
..
.. date: 2025-05-06-15-01-41
.. gh-issue: 133516
.. nonce: RqWVf2
.. section: Core and Builtins
Raise :exc:`ValueError` when constants ``True``, ``False`` or ``None`` are
used as an identifier after NFKC normalization.
..
.. date: 2025-05-03-22-31-53
.. gh-issue: 131798
.. nonce: fQ0ato
.. section: Core and Builtins
Allow the JIT to remove int guards after ``_GET_LEN`` by setting the return
type to int.
..
.. date: 2025-05-03-13-36-01
.. gh-issue: 131798
.. nonce: U4_QEJ
.. section: Core and Builtins
Split ``CALL_ISINSTANCE`` into several uops, allowing the JIT to remove some
of them.
..
.. date: 2025-04-30-14-13-01
.. gh-issue: 132554
.. nonce: GqQaUp
.. section: Core and Builtins
Change iteration to use "virtual iterators" for sequences. Instead of
creating an iterator, a tagged integer representing the next index is pushed
to the stack above the iterable. For non-sequence iterators, ``NULL`` is
pushed.
..
.. date: 2025-04-28-18-59-11
.. gh-issue: 130821
.. nonce: B11LU1
.. section: Core and Builtins
Enhance wrong type error messages and make them more consistent. Patch by
Semyon Moroz.
..
.. date: 2025-04-26-17-50-01
.. gh-issue: 131798
.. nonce: XiOgw5
.. section: Core and Builtins
Narrow the return type and constant-evaluate ``CALL_ISINSTANCE`` for a
subset of known values in the JIT. Patch by Tomas Roun
..
.. date: 2025-04-19-17-16-46
.. gh-issue: 132542
.. nonce: 7T_TY_
.. section: Core and Builtins
Update :attr:`Thread.native_id <threading.Thread.native_id>` after
:manpage:`fork(2)` to ensure accuracy. Patch by Noam Cohen.
..
.. date: 2025-04-19-16-22-47
.. gh-issue: 132732
.. nonce: jgqhlF
.. section: Library
Automatically constant evaluate bytecode operations marked as pure in the
JIT optimizer.
..
.. date: 2025-04-16-12-01-13
.. gh-issue: 127971
.. nonce: pMDOQ0
.. section: Core and Builtins
Fix off-by-one read beyond the end of a string in string search.
..
.. date: 2025-04-10-01-52-42
.. gh-issue: 132042
.. nonce: fePwlj
.. section: Core and Builtins
Improve class creation times by up to 12% by pre-computing type slots just
once. Patch by Sergey Miryanov.
..
.. date: 2025-04-04-16-41-00
.. gh-issue: 133379
.. nonce: asdjhjdf
.. section: Core and Builtins
Correct usage of *arguments* in error messages.
..
.. date: 2025-03-14-13-08-20
.. gh-issue: 127266
.. nonce: _tyfBp
.. section: Core and Builtins
In the free-threaded build, avoid data races caused by updating type slots
or type flags after the type was initially created. For those (typically
rare) cases, use the stop-the-world mechanism. Remove the use of atomics
when reading or writing type flags. The use of atomics is not sufficient to
avoid races (since flags are sometimes read without a lock and without
atomics) and are no longer required.
..
.. date: 2025-02-22-01-23-23
.. gh-issue: 130425
.. nonce: x5SNQ8
.. section: Core and Builtins
Add ``"Did you mean: 'attr'?"`` suggestion when using ``del obj.attr`` if
``attr`` does not exist.
..
.. date: 2025-01-08-12-52-47
.. gh-issue: 128640
.. nonce: 9nbh9z
.. section: Core and Builtins
Fix a crash when using threads inside of a subinterpreter.
..
.. date: 2024-06-04-20-26-21
.. gh-issue: 116738
.. nonce: q_hPYq
.. section: Library
Make the module :mod:`json` safe to use under the free-threading build.
..
.. date: 2024-05-24-07-02-47
.. gh-issue: 119494
.. nonce: x3KUMC
.. section: Core and Builtins
Exception text when trying to delete attributes of types was clarified.
..
.. date: 2025-10-10-20-59-07
.. gh-issue: 139924
.. nonce: ALByCb
.. section: C API
Function watchers can now receive a PyFunction_PYFUNC_EVENT_MODIFY_QUALNAME
event when a watched functions qualname is changed.
..
.. date: 2025-10-07-12-51-32
.. gh-issue: 111489
.. nonce: LCKKlg
.. section: C API
Add :c:func:`PyTuple_FromArray` to create a :class:`tuple` from an array.
Patch by Victor Stinner.
..
.. date: 2025-09-14-14-44-24
.. gh-issue: 136355
.. nonce: LCaYyC
.. section: C API
Deprecate :c:member:`PyConfig.bytes_warning` field and schedule its removal
in 3.17.
..
.. date: 2025-09-14-13-09-47
.. gh-issue: 138886
.. nonce: dlcTXL
.. section: C API
Remove deprecated :c:func:`!PySys_ResetWarnOptions` C-API function.
..
.. date: 2025-09-12-13-05-20
.. gh-issue: 129813
.. nonce: dJZpME
.. section: C API
Implement :pep:`782`, the :c:type:`PyBytesWriter` API. Add functions:
* :c:func:`PyBytesWriter_Create`
* :c:func:`PyBytesWriter_Discard`
* :c:func:`PyBytesWriter_FinishWithPointer`
* :c:func:`PyBytesWriter_FinishWithSize`
* :c:func:`PyBytesWriter_Finish`
* :c:func:`PyBytesWriter_Format`
* :c:func:`PyBytesWriter_GetData`
* :c:func:`PyBytesWriter_GetSize`
* :c:func:`PyBytesWriter_GrowAndUpdatePointer`
* :c:func:`PyBytesWriter_Grow`
* :c:func:`PyBytesWriter_Resize`
* :c:func:`PyBytesWriter_WriteBytes`
Patch by Victor Stinner.
..
.. date: 2025-08-19-15-31-36
.. gh-issue: 137956
.. nonce: P4TK1d
.. section: C API
Display and raise an exception if an extension compiled for
non-free-threaded Python is loaded in a free-threaded interpreter.
..
.. date: 2025-08-13-13-41-04
.. gh-issue: 137573
.. nonce: r6uwRf
.. section: C API
Mark ``_PyOptimizer_Optimize`` as :c:macro:`Py_NO_INLINE` to prevent stack
overflow crashes on macOS.
..
.. date: 2025-07-31-04-30-42
.. gh-issue: 128813
.. nonce: opL-Pv
.. section: C API
Functions :c:func:`_Py_c_sum`, :c:func:`_Py_c_diff`, :c:func:`_Py_c_neg`,
:c:func:`_Py_c_prod`, :c:func:`_Py_c_quot`, :c:func:`_Py_c_pow` and
previously undocumented :c:func:`_Py_c_abs` are :term:`soft deprecated`.
Deprecate also :c:member:`~PyComplexObject.cval` field of the
:c:type:`PyComplexObject` type. Patch by Sergey B Kirpichev.
..
.. date: 2025-07-29-18-00-22
.. gh-issue: 137210
.. nonce: DD4VEm
.. section: C API
Add API for checking an extension module's ABI compatibility:
:c:data:`Py_mod_abi`, :c:func:`PyABIInfo_Check`, :c:macro:`PyABIInfo_VAR`
and :c:data:`Py_mod_abi`.
..
.. date: 2025-07-23-22-30-23
.. gh-issue: 136759
.. nonce: ffB4wO
.. section: C API
Rename ``lock.h`` to ``pylock.h`` to avoid potential include conflicts.
..
.. date: 2025-07-22-15-18-08
.. gh-issue: 112068
.. nonce: 4WvT-8
.. section: C API
Revert support of nullable arguments in :c:func:`PyArg_Parse`.
..
.. date: 2025-07-08-22-07-54
.. gh-issue: 136006
.. nonce: XRU5w4
.. section: C API
On Solaris, the :c:macro:`!Py_NAN` macro now expands to a :c:type:`!double`
instead of a function address. Patch by Bénédikt Tran.
..
.. date: 2025-07-01-16-22-39
.. gh-issue: 135075
.. nonce: angu3J
.. section: C API
Make :c:func:`PyObject_SetAttr` and :c:func:`PyObject_SetAttrString` fail if
called with ``NULL`` value and an exception set. Patch by Victor Stinner.
..
.. date: 2025-06-25-01-03-10
.. gh-issue: 135906
.. nonce: UBrCWq
.. section: C API
Fix compilation errors when compiling the internal headers with a C++
compiler.
..
.. date: 2025-06-24-11-10-01
.. gh-issue: 133296
.. nonce: lIEuVJ
.. section: C API
New variants for the critical section API that accept one or two
:c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are now
public in the non-limited C API.
..
.. date: 2025-06-19-12-47-18
.. gh-issue: 133157
.. nonce: 1WA85f
.. section: C API
Remove the private, undocumented macro
:c:macro:`!_Py_NO_SANITIZE_UNDEFINED`.
..
.. date: 2025-06-05-11-06-07
.. gh-issue: 134989
.. nonce: 74p4ud
.. section: C API
Fix ``Py_RETURN_NONE``, ``Py_RETURN_TRUE`` and ``Py_RETURN_FALSE`` macros in
the limited C API 3.11 and older: don't treat ``Py_None``, ``Py_True`` and
``Py_False`` as immortal. Patch by Victor Stinner.
..
.. date: 2025-06-02-13-19-22
.. gh-issue: 134989
.. nonce: sDDyBN
.. section: C API
Implement :c:func:`PyObject_DelAttr` and :c:func:`PyObject_DelAttrString` as
macros in the limited C API 3.12 and older. Patch by Victor Stinner.
..
.. date: 2025-05-30-11-33-17
.. gh-issue: 134745
.. nonce: GN-zk2
.. section: C API
Change :c:func:`!PyThread_allocate_lock` implementation to ``PyMutex``. On
Windows, :c:func:`!PyThread_acquire_lock_timed` now supports the *intr_flag*
parameter: it can be interrupted. Patch by Victor Stinner.
..
.. date: 2025-05-29-16-56-23
.. gh-issue: 134891
.. nonce: 7eKO8U
.. section: C API
Add :c:type:`PyUnstable_Unicode_GET_CACHED_HASH` to get the cached hash of a
string.
..
.. date: 2025-05-20-17-13-51
.. gh-issue: 134009
.. nonce: CpCmry
.. section: C API
Expose :c:func:`PyMutex_IsLocked` as part of the public C API.
..
.. date: 2025-05-17-14-41-21
.. gh-issue: 134144
.. nonce: xVpZik
.. section: C API
Fix crash when calling :c:func:`Py_EndInterpreter` with a :term:`thread
state` that isn't the initial thread for the interpreter.
..
.. date: 2025-05-13-16-06-46
.. gh-issue: 133968
.. nonce: 6alWst
.. section: C API
Add :c:func:`PyUnicodeWriter_WriteASCII` function to write an ASCII string
into a :c:type:`PyUnicodeWriter`. The function is faster than
:c:func:`PyUnicodeWriter_WriteUTF8`, but has an undefined behavior if the
input string contains non-ASCII characters. Patch by Victor Stinner.
..
.. date: 2025-05-08-13-14-45
.. gh-issue: 133644
.. nonce: J8_KZ2
.. section: C API
Remove deprecated Python initialization getter functions ``Py_Get*``. Patch
by Bénédikt Tran.
..
.. date: 2025-05-08-12-40-59
.. gh-issue: 133644
.. nonce: FNexLJ
.. section: C API
Remove deprecated function :c:func:`!PyWeakref_GetObject` and macro
:c:macro:`!PyWeakref_GET_OBJECT`. Use :c:func:`PyWeakref_GetRef` instead.
Patch by Bénédikt Tran.
..
.. date: 2025-05-08-12-25-47
.. gh-issue: 133644
.. nonce: Yb86Rm
.. section: C API
Remove deprecated alias :c:func:`!PyImport_ImportModuleNoBlock` of
:c:func:`PyImport_ImportModule`. Patch by Bénédikt Tran.
..
.. date: 2025-05-07-21-18-00
.. gh-issue: 133610
.. nonce: asdfjs
.. section: C API
Remove deprecated functions :c:func:`!PyUnicode_AsDecodedObject`,
:c:func:`!PyUnicode_AsDecodedUnicode`, :c:func:`!PyUnicode_AsEncodedObject`,
and :c:func:`!PyUnicode_AsEncodedUnicode`.
..
.. date: 2025-04-17-12-37-27
.. gh-issue: 132629
.. nonce: 01ArwX
.. section: C API
For unsigned integer formats in :c:func:`PyArg_ParseTuple`, accepting Python
integers with value that is larger than the maximal value for the C type or
less than the minimal value for the corresponding signed integer type of the
same size is now deprecated.
..
.. date: 2025-04-14-07-41-28
.. gh-issue: 131185
.. nonce: ZCjMHD
.. section: C API
:c:func:`PyGILState_Ensure` no longer crashes when called after interpreter
finalization.
..
.. date: 2023-10-18-14-36-35
.. gh-issue: 108512
.. nonce: fMZLfr
.. section: C API
Add functions :c:func:`PySys_GetAttr`, :c:func:`PySys_GetAttrString`,
:c:func:`PySys_GetOptionalAttr` and :c:func:`PySys_GetOptionalAttrString`.
..
.. date: 2025-09-24-13-59-26
.. gh-issue: 138489
.. nonce: 1AcuZM
.. section: Build
When cross-compiling for WASI by ``build_wasm`` or ``build_emscripten``, the
``build-details.json`` step is now included in the build process, just like
with native builds.
This fixes the ``libinstall`` task which requires the ``build-details.json``
file during the process.
..
.. date: 2025-09-04-12-16-31
.. gh-issue: 138497
.. nonce: Y_5YXh
.. section: Build
The LLVM version used by the JIT at build time can now be modified using the
``LLVM_VERSION`` environment variable. Use this at your own risk, as there
is only one officially supported LLVM version. For more information, please
check ``Tools/jit/README.md``.
..
.. date: 2025-08-27-11-32-02
.. gh-issue: 95952
.. nonce: KSymc7
.. section: Build
When cross-compiling for WASI, require that the HOSTRUNNER environment
variable be explicitly set.
This was needed as macOS lacks the appropriate CLI tools to set a reasonable
default.
..
.. date: 2025-08-27-09-52-45
.. gh-issue: 138061
.. nonce: fMVS9w
.. section: Build
Ensure reproducible builds by making JIT stencil header generation
deterministic.
..
.. date: 2025-08-26-21-18-32
.. gh-issue: 128042
.. nonce: 5voC8H
.. section: Build
``./configure`` now warns when ``--enable-optimizations`` and ``CFLAGS=-O0``
are both set, suggesting removing ``-O0`` from ``CFLAGS`` for optimal
performance. Patch by Taegyun Kim.
..
.. date: 2025-08-13-12-10-12
.. gh-issue: 132339
.. nonce: 3Czz5y
.. section: Build
Add support for OpenSSL 3.5.
..
.. date: 2025-07-18-17-15-00
.. gh-issue: 135621
.. nonce: 9cyCNb
.. section: Build
PyREPL no longer depends on the :mod:`curses` standard library. Contributed
by Łukasz Langa.
..
.. date: 2025-06-25-13-27-14
.. gh-issue: 135927
.. nonce: iCNPQc
.. section: Build
Fix building with MSVC when passing option ``/std:clatest``.
..
.. date: 2025-06-16-07-20-28
.. gh-issue: 119132
.. nonce: fcI8s7
.. section: Build
Remove "experimental" tag from the CPython free-threading build.
..
.. date: 2025-06-14-10-32-11
.. gh-issue: 135497
.. nonce: ajlV4F
.. section: Build
Fix the detection of ``MAXLOGNAME`` in the ``configure.ac`` script.
..
.. date: 2025-05-30-11-02-30
.. gh-issue: 134923
.. nonce: gBkRg4
.. section: Build
Windows builds with profile-guided optimization enabled now use
``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:``
options.
..
.. date: 2025-05-24-16-59-20
.. gh-issue: 134632
.. nonce: i0W2hc
.. section: Build
Fixed ``build-details.json`` generation to use ``INCLUDEPY``, in order to
reference the ``pythonX.Y`` subdirectory of the include directory, as
required in :pep:`739`, instead of the top-level include directory.
..
.. date: 2025-05-21-22-13-30
.. gh-issue: 134486
.. nonce: yvdL6f
.. section: Build
The :mod:`ctypes` module now performs a more portable test for the
definition of :manpage:`alloca(3)`, fixing a compilation failure on NetBSD.
..
.. date: 2025-05-21-19-46-28
.. gh-issue: 134455
.. nonce: vdwlrq
.. section: Build
Fixed ``build-details.json`` generation to use the correct ``c_api.headers``
as defined in :pep:`739`, instead of ``c_api.include``.
..
.. date: 2025-05-19-18-09-20
.. gh-issue: 134273
.. nonce: ZAliyy
.. section: Build
Add support for configuring compiler flags for the JIT with ``CFLAGS_JIT``
..
.. date: 2025-05-16-07-46-06
.. gh-issue: 115119
.. nonce: ALBgS_
.. section: Build
Removed implicit fallback to the bundled copy of the ``libmpdec`` library.
Now this should be explicitly enabled via :option:`--with-system-libmpdec`
set to ``no`` or :option:`!--without-system-libmpdec`. Patch by Sergey B
Kirpichev.
..
.. date: 2025-05-14-09-43-48
.. gh-issue: 131769
.. nonce: H0oy5x
.. section: Build
Fix detecting when the build Python in a cross-build is a pydebug build.
..
.. date: 2025-04-16-09-38-48
.. gh-issue: 117088
.. nonce: EFt_5c
.. section: Build
AIX linker don't support -h option, so avoid it through platform check
..
.. date: 2025-01-03-13-02-06
.. gh-issue: 123681
.. nonce: gQ67nK
.. section: Build
Check the ``strftime()`` behavior at runtime instead of at the compile time
to support cross-compiling. Remove the internal macro
``_Py_NORMALIZE_CENTURY``.
..
.. date: 2024-12-04-10-00-35
.. gh-issue: 127545
.. nonce: t0THjE
.. section: Build
Fix crash when building on Linux/m68k.