cpython/Misc/NEWS.d/3.14.0a1.rst

6605 lines
144 KiB
ReStructuredText
Raw Normal View History

2024-10-15 16:29:35 -03:00
.. date: 2024-09-24-10-48-46
.. gh-issue: 124448
.. nonce: bFMrS6
.. release date: 2024-10-15
.. section: macOS
Update bundled Tcl/Tk in macOS installer to 8.6.15.
..
.. date: 2024-09-07-12-14-54
.. gh-issue: 123797
.. nonce: yFDeug
.. section: macOS
Check for runtime availability of ``ptsname_r`` function on macos.
..
.. date: 2024-09-04-11-55-29
.. gh-issue: 123418
.. nonce: 8P4bmN
.. section: macOS
Updated macOS installer build to use OpenSSL 3.0.15.
..
.. date: 2024-09-27-15-07-30
.. gh-issue: 124487
.. nonce: 7LrwHC
.. section: Windows
Increases Windows required OS and API level to Windows 10.
..
.. date: 2024-09-27-13-40-25
.. gh-issue: 124609
.. nonce: WaKk8G
.. section: Windows
Fix ``_Py_ThreadId`` for Windows builds using MinGW. Patch by Tony Roberts.
..
.. date: 2024-09-24-19-04-56
.. gh-issue: 124448
.. nonce: srVT3d
.. section: Windows
Updated bundled Tcl/Tk to 8.6.15.
..
.. date: 2024-09-20-11-18-50
.. gh-issue: 124254
.. nonce: iPin-L
.. section: Windows
Ensures experimental free-threaded binaries remain installed when updating.
..
.. date: 2024-09-10-19-23-00
.. gh-issue: 123915
.. nonce: yZMEDO
.. section: Windows
Ensure that ``Tools\msi\buildrelease.bat`` uses different directories for
AMD64 and ARM64 builds.
..
.. date: 2024-09-04-09-59-18
.. gh-issue: 123418
.. nonce: QaMC12
.. section: Windows
Updated Windows build to use OpenSSL 3.0.15.
..
.. date: 2024-08-29-16-13-45
.. gh-issue: 123476
.. nonce: m2DFS4
.. section: Windows
Add support for ``socket.TCP_QUICKACK`` on Windows platforms.
..
.. date: 2024-08-01-10-55-15
.. gh-issue: 122573
.. nonce: 4-UCFY
.. section: Windows
The Windows build of CPython now requires 3.10 or newer.
..
.. date: 2024-07-19-21-50-54
.. gh-issue: 100256
.. nonce: GDrKba
.. section: Windows
:mod:`mimetypes` no longer fails when it encounters an inaccessible registry
key.
..
.. date: 2024-05-30-17-39-25
.. gh-issue: 119679
.. nonce: mZC87w
.. section: Windows
Ensures correct import libraries are included in Windows installs.
..
.. date: 2024-05-29-11-06-12
.. gh-issue: 119690
.. nonce: 8q6e1p
.. section: Windows
Adds Unicode support and fixes audit events for ``_winapi.CreateNamedPipe``.
..
.. date: 2024-05-25-18-43-10
.. gh-issue: 111201
.. nonce: SLPJIx
.. section: Windows
Add support for new pyrepl on Windows
..
.. date: 2024-05-22-19-43-29
.. gh-issue: 119070
.. nonce: _enton
.. section: Windows
Fixes ``py.exe`` handling of shebangs like ``/usr/bin/env python3.12``,
which were previously interpreted as ``python3.exe`` instead of
``python3.12.exe``.
..
.. date: 2024-04-24-22-50-33
.. gh-issue: 117505
.. nonce: gcTb_p
.. section: Windows
Fixes an issue with the Windows installer not running ensurepip in a fully
isolated environment. This could cause unexpected interactions with the user
site-packages.
..
.. date: 2024-04-24-05-16-32
.. gh-issue: 118209
.. nonce: Ryyzlz
.. section: Windows
Avoid crashing in :mod:`mmap` on Windows when the mapped memory is
inaccessible due to file system errors or access violations.
..
.. date: 2022-04-20-18-32-30
.. gh-issue: 79846
.. nonce: Vggv3f
.. section: Windows
Makes :code:`ssl.create_default_context()` ignore invalid certificates in
the Windows certificate store
..
.. date: 2024-09-04-10-07-51
.. gh-issue: 123418
.. nonce: 1eIFZb
.. section: Tools/Demos
Update GitHub CI workflows to use OpenSSL 3.0.15 and multissltests to use
3.0.15, 3.1.7, and 3.2.3.
..
.. date: 2024-10-07-14-13-38
.. gh-issue: 125041
.. nonce: PKLWDf
.. section: Tests
Re-enable skipped tests for :mod:`zlib` on the s390x architecture: only skip
checks of the compressed bytes, which can be different between zlib's
software implementation and the hardware-accelerated implementation.
..
.. date: 2024-09-25-12-39-34
.. gh-issue: 124378
.. nonce: Ywwgia
.. section: Tests
Updated ``test_ttk`` to pass with Tcl/Tk 8.6.15.
..
.. date: 2024-09-18-18-39-21
.. gh-issue: 124213
.. nonce: AQq_xg
.. section: Tests
Detect whether the test suite is running inside a systemd-nspawn container
with ``--suppress-sync=true`` option, and skip the ``test_os`` and
``test_mmap`` tests that are failing in this scenario.
..
.. date: 2024-09-17-22-21-58
.. gh-issue: 124190
.. nonce: 3fWhiX
.. section: Tests
Add capability to ignore entire files or directories in check warning CI
tool
..
.. date: 2024-07-17-08-25-06
.. gh-issue: 121921
.. nonce: HW8CIS
.. section: Tests
Update ``Lib/test/crashers/bogus_code_obj.py`` so that it crashes properly
again.
..
.. date: 2024-07-13-21-55-58
.. gh-issue: 112301
.. nonce: YJS1dl
.. section: Tests
Add tooling to check for changes in compiler warnings. Patch by Nate Ohlson.
..
.. date: 2024-07-13-11-48-20
.. gh-issue: 59022
.. nonce: fYNbQ8
.. section: Tests
Add tests for :func:`pkgutil.extend_path`. Patch by Andreas Stocker.
..
.. date: 2024-07-13-11-04-44
.. gh-issue: 99242
.. nonce: aGxnwz
.. section: Tests
:func:`os.getloadavg` may throw :exc:`OSError` when running regression tests
under certain conditions (e.g. chroot). This error is now caught and
ignored, since reporting load average is optional.
..
.. date: 2024-07-04-15-10-29
.. gh-issue: 121084
.. nonce: qxcd5d
.. section: Tests
Fix test_typing random leaks. Clear typing ABC caches when running tests for
refleaks (``-R`` option): call ``_abc_caches_clear()`` on typing abstract
classes and their subclasses. Patch by Victor Stinner.
..
.. date: 2024-07-03-14-41-00
.. gh-issue: 121160
.. nonce: LEtiTd
.. section: Tests
Add a test for :func:`readline.set_history_length`. Note that this test may
fail on readline libraries.
..
.. date: 2024-07-01-16-15-06
.. gh-issue: 121200
.. nonce: 4Pc-gc
.. section: Tests
Fix ``test_expanduser_pwd2()`` of ``test_posixpath``. Call ``getpwnam()``
to get ``pw_dir``, since it can be different than ``getpwall()`` ``pw_dir``.
Patch by Victor Stinner.
..
.. date: 2024-07-01-09-04-32
.. gh-issue: 121188
.. nonce: XbuTVa
.. section: Tests
When creating the JUnit XML file, regrtest now escapes characters which are
invalid in XML, such as the chr(27) control character used in ANSI escape
sequences. Patch by Victor Stinner.
..
.. date: 2024-06-20-12-51-26
.. gh-issue: 120801
.. nonce: lMVXC9
.. section: Tests
Cleaned up fixtures for importlib.metadata tests and consolidated behavior
with 'test.support.os_helper'.
..
.. date: 2024-05-29-15-28-08
.. gh-issue: 119727
.. nonce: dVkaZM
.. section: Tests
Add ``--single-process`` command line option to Python test runner
(regrtest). Patch by Victor Stinner.
..
.. date: 2024-05-20-18-06-31
.. gh-issue: 119273
.. nonce: hf-yhX
.. section: Tests
Python test runner no longer runs tests using TTY (ex: test_ioctl) in a
process group (using ``setsid()``). Previously, tests using TTY were
skipped. Patch by Victor Stinner.
..
.. date: 2024-05-18-10-59-27
.. gh-issue: 119050
.. nonce: g4qiH7
.. section: Tests
regrtest test runner: Add XML support to the refleak checker (-R option).
Patch by Victor Stinner.
..
.. date: 2024-05-04-22-56-41
.. gh-issue: 101525
.. nonce: LHK166
.. section: Tests
Skip ``test_gdb`` if the binary is relocated by BOLT. Patch by Donghee Na.
..
.. date: 2023-08-03-17-26-55
.. gh-issue: 107562
.. nonce: ZnbscS
.. section: Tests
Test certificates have been updated to expire far in the future. This allows
testing Y2038 with system time set to after that, so that actual Y2038
issues can be exposed, and not masked by expired certificate errors.
..
.. date: 2024-10-09-20-08-13
.. gh-issue: 125140
.. nonce: YgNWRB
.. section: Security
Remove the current directory from ``sys.path`` when using PyREPL.
..
.. date: 2024-09-04-12-41-35
.. gh-issue: 123678
.. nonce: N41y9n
.. section: Security
Upgrade libexpat to 2.6.3
..
.. date: 2024-08-14-19-43-57
.. gh-issue: 112301
.. nonce: IQUcOy
.. section: Security
Enable compiler options that warn of potential security vulnerabilities.
..
.. date: 2024-08-07-10-42-13
.. gh-issue: 122792
.. nonce: oiTMo9
.. section: Security
Changed IPv4-mapped ``ipaddress.IPv6Address`` to consistently use the mapped
IPv4 address value for deciding properties. Properties which have their
behavior fixed are ``is_multicast``, ``is_reserved``, ``is_link_local``,
``is_global``, and ``is_unspecified``.
..
.. date: 2024-08-06-00-06-23
.. gh-issue: 112301
.. nonce: 4k4lw6
.. section: Security
Add ability to ignore warnings per file with warning count in warning
checking tooling. Patch by Nate Ohlson.
..
.. date: 2024-07-24-05-18-25
.. gh-issue: 112301
.. nonce: lfINgZ
.. section: Security
Add macOS warning tracking to warning check tooling. Patch by Nate Ohlson.
..
.. date: 2024-07-22-13-11-28
.. gh-issue: 122133
.. nonce: 0mPeta
.. section: Security
Authenticate the socket connection for the ``socket.socketpair()`` fallback
on platforms where ``AF_UNIX`` is not available like Windows.
Patch by Gregory P. Smith <greg@krypto.org> and Seth Larson
<seth@python.org>. Reported by Ellie <el@horse64.org>
..
.. date: 2024-07-18-13-17-47
.. gh-issue: 121957
.. nonce: QemKLU
.. section: Security
Fixed missing audit events around interactive use of Python, now also
properly firing for ``python -i``, as well as for ``python -m asyncio``. The
events in question are ``cpython.run_stdin`` and ``cpython.run_startup``.
..
.. date: 2024-07-08-23-39-04
.. gh-issue: 112301
.. nonce: TD8G01
.. section: Security
Enable runtime protections for glibc to abort execution when unsafe behavior
is encountered, for all platforms except Windows.
..
.. date: 2024-07-02-13-39-20
.. gh-issue: 121285
.. nonce: hrl-yI
.. section: Security
Remove backtracking from tarfile header parsing for ``hdrcharset``, PAX, and
GNU sparse headers.
..
.. date: 2024-06-25-04-42-43
.. gh-issue: 112301
.. nonce: god4IC
.. section: Security
Add default compiler options to improve security. Enable
-Wimplicit-fallthrough, -fstack-protector-strong, -Wtrampolines.
..
.. date: 2024-05-08-21-59-38
.. gh-issue: 118773
.. nonce: 7dFRJY
.. section: Security
Fixes creation of ACLs in :func:`os.mkdir` on Windows to work correctly on
non-English machines.
..
.. date: 2024-05-01-20-57-09
.. gh-issue: 118486
.. nonce: K44KJG
.. section: Security
:func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to restrict the
new directory to the current user. This fixes :cve:`2024-4030` affecting
:func:`tempfile.mkdtemp` in scenarios where the base temporary directory is
more permissive than the default.
..
.. date: 2024-10-14-04-44-12
.. gh-issue: 125422
.. nonce: MlVuC6
.. section: Library
Fixed the bug where :mod:`pdb` and :mod:`bdb` can step into the bottom
caller frame.
..
.. date: 2024-10-14-02-27-03
.. gh-issue: 100141
.. nonce: NuAcwa
.. section: Library
Fixed the bug where :mod:`pdb` will be stuck in an infinite loop when
debugging an empty file.
..
.. date: 2024-10-13-20-21-35
.. gh-issue: 53203
.. nonce: Rz1c8A
.. section: Library
Fix :func:`time.strptime` for ``%c``, ``%x`` and ``%X`` formats in many
locales that use non-ASCII digits, like Persian, Burmese, Odia and Shan.
..
.. date: 2024-10-11-18-03-05
.. gh-issue: 125206
.. nonce: pWRRK6
.. section: Library
Workaround for old libffi versions is added. Module ctypes supports
:c:expr:`double complex` only with libffi >= 3.3.0. Patch by Mikhail Efimov.
..
.. date: 2024-10-11-16-19-46
.. gh-issue: 89967
.. nonce: vhWUOR
.. section: Library
Make :class:`~weakref.WeakKeyDictionary` and
:class:`~weakref.WeakValueDictionary` safe against concurrent mutations from
other threads. Patch by Kumar Aditya.
..
.. date: 2024-10-11-04-04-38
.. gh-issue: 125260
.. nonce: PeZ0Mb
.. section: Library
The :func:`gzip.compress` *mtime* parameter now defaults to 0 for
reproducible output. Patch by Bernhard M. Wiedemann and Adam Turner.
..
.. date: 2024-10-10-20-39-57
.. gh-issue: 125243
.. nonce: eUbbtu
.. section: Library
Fix data race when creating :class:`zoneinfo.ZoneInfo` objects in the free
threading build.
..
.. date: 2024-10-10-19-57-35
.. gh-issue: 125254
.. nonce: RtZxXS
.. section: Library
Fix a bug where ArgumentError includes the incorrect ambiguous option in
:mod:`argparse`.
..
.. date: 2024-10-10-18-33-31
.. gh-issue: 125235
.. nonce: 0kOB5I
.. section: Library
Keep :mod:`tkinter` TCL paths in venv pointing to base installation on
Windows.
..
.. date: 2024-10-09-21-42-43
.. gh-issue: 61011
.. nonce: pQXZb1
.. section: Library
Fix inheritance of nested mutually exclusive groups from parent parser in
:class:`argparse.ArgumentParser`. Previously, all nested mutually exclusive
groups lost their connection to the group containing them and were displayed
as belonging directly to the parser.
..
.. date: 2024-10-09-07-09-00
.. gh-issue: 125118
.. nonce: J9rQ1S
.. section: Library
Don't copy arbitrary values to :c:expr:`_Bool` in the :mod:`struct` module.
..
.. date: 2024-10-08-21-17-16
.. gh-issue: 125069
.. nonce: 0RP0Mx
.. section: Library
Fix an issue where providing a :class:`pathlib.PurePath` object as an
initializer argument to a second :class:`~pathlib.PurePath` object with a
different :attr:`~pathlib.PurePath.parser` resulted in arguments to the
former object's initializer being joined by the latter object's parser.
..
.. date: 2024-10-08-13-28-22
.. gh-issue: 125096
.. nonce: Vz0W5g
.. section: Library
If the :envvar:`PYTHON_BASIC_REPL` environment variable is set, the
:mod:`site` module no longer imports the :mod:`!_pyrepl` module. Moreover,
the :mod:`site` module now respects :option:`-E` and :option:`-I` command
line options: ignore :envvar:`PYTHON_BASIC_REPL` in this case. Patch by
Victor Stinner.
..
.. date: 2024-10-08-12-09-09
.. gh-issue: 124969
.. nonce: _VBQLq
.. section: Library
Fix ``locale.nl_langinfo(locale.ALT_DIGITS)``. Now it returns a tuple of up
to 100 strings (an empty tuple on most locales). Previously it returned the
first item of that tuple or an empty string.
..
.. date: 2024-10-05-15-49-53
.. gh-issue: 124960
.. nonce: Bol9hT
.. section: Library
Fix support for the ``barry_as_FLUFL`` future flag in the new REPL.
..
.. date: 2024-10-04-12-43-03
.. gh-issue: 69998
.. nonce: DVqOXX
.. section: Library
Fix :func:`locale.nl_langinfo` in case when different categories have
different locales. The function now sets temporarily the ``LC_CTYPE`` locale
in some cases. This temporary change affects other threads.
..
.. date: 2024-10-04-08-46-00
.. gh-issue: 124958
.. nonce: rea9-x
.. section: Library
Fix refcycles in exceptions raised from :class:`asyncio.TaskGroup` and the
python implementation of :class:`asyncio.Future`
..
.. date: 2024-10-03-20-45-57
.. gh-issue: 53203
.. nonce: 3Sk4Ia
.. section: Library
Fix :func:`time.strptime` for ``%c`` and ``%x`` formats in many locales:
Arabic, Bislama, Breton, Bodo, Kashubian, Chuvash, Estonian, French, Irish,
Ge'ez, Gurajati, Manx Gaelic, Hebrew, Hindi, Chhattisgarhi, Haitian Kreyol,
Japanese, Kannada, Korean, Marathi, Malay, Norwegian, Nynorsk, Punjabi,
Rajasthani, Tok Pisin, Yoruba, Yue Chinese, Yau/Nungon and Chinese.
..
.. date: 2024-10-03-19-16-38
.. gh-issue: 123961
.. nonce: ik1Dgs
.. section: Library
Convert :mod:`curses` to multi-phase initialization (:pep:`489`), thereby
fixing reference leaks at interpreter shutdown. Patch by Bénédikt Tran.
..
.. date: 2024-10-03-17-13-22
.. gh-issue: 124944
.. nonce: YyLAzf
.. section: Library
Add ``SO_ORIGINAL_DST`` to the :mod:`socket` module.
..
.. date: 2024-10-03-05-00-25
.. gh-issue: 117151
.. nonce: Prdw_W
.. section: Library
The default buffer size used by :func:`shutil.copyfileobj` has been
increased from 64k to 256k on non-Windows platforms. It was already larger
on Windows.
..
.. date: 2024-10-02-22-53-48
.. gh-issue: 90102
.. nonce: 4qX52R
.. section: Library
Skip the ``isatty`` system call during open() when the file is known to not
be a character device. This provides a slight performance improvement when
reading whole files.
..
.. date: 2024-10-02-21-11-18
.. gh-issue: 124917
.. nonce: Lnwh5b
.. section: Library
Allow calling :func:`os.path.exists` and :func:`os.path.lexists` with
keyword arguments on Windows. Fixes a regression in 3.13.0.
..
.. date: 2024-10-02-16-35-07
.. gh-issue: 65865
.. nonce: S2D4wq
.. section: Library
:mod:`argparse` now raises early error for invalid ``help`` arguments to
:meth:`~argparse.ArgumentParser.add_argument`,
:meth:`~argparse.ArgumentParser.add_subparsers` and :meth:`!add_parser`.
..
.. date: 2024-10-02-15-05-45
.. gh-issue: 124653
.. nonce: tqsTu9
.. section: Library
Fix detection of the minimal Queue API needed by the :mod:`logging` module.
Patch by Bénédikt Tran.
..
.. date: 2024-10-01-23-29-09
.. gh-issue: 91818
.. nonce: Kz8cPI
.. section: Library
The CLI of many modules (:mod:`ast`, :mod:`ensurepip`, :mod:`json`,
:mod:`pdb`, :mod:`sqlite3`, :mod:`tokenize`, :mod:`venv`) now uses the
actual executable name instead of simply "python" to display in the usage
message.
..
.. date: 2024-10-01-17-12-20
.. gh-issue: 124858
.. nonce: Zy0tvT
.. section: Library
Fix reference cycles left in tracebacks in :func:`asyncio.open_connection`
when used with ``happy_eyeballs_delay``
..
.. date: 2024-10-01-13-46-58
.. gh-issue: 124390
.. nonce: dK1Zcm
.. section: Library
Fixed :exc:`AssertionError` when using
:func:`!asyncio.staggered.staggered_race` with
:attr:`asyncio.eager_task_factory`.
..
.. date: 2024-10-01-13-11-53
.. gh-issue: 85935
.. nonce: CTwJUy
.. section: Library
:meth:`argparse.ArgumentParser.add_argument` now raises an exception if an
:ref:`action` that does not consume arguments (like 'store_const' or
'store_true') or explicit ``nargs=0`` are specified for positional
arguments.
..
.. date: 2024-10-01-12-43-42
.. gh-issue: 124835
.. nonce: SVyp3K
.. section: Library
Make :func:`tomllib.loads` raise :exc:`TypeError` not :exc:`AttributeError`
on bad input types that do not have the ``replace`` attribute. Improve error
message when :class:`bytes` is received.
..
.. date: 2024-10-01-02-31-13
.. gh-issue: 124693
.. nonce: qzbXKB
.. section: Library
Fix a bug where :mod:`argparse` doesn't recognize negative complex numbers
or negative numbers using scientific notation.
..
.. date: 2024-09-30-20-46-32
.. gh-issue: 124787
.. nonce: 3FnJnP
.. section: Library
Fix :class:`typing.TypeAliasType` with incorrect ``type_params`` argument.
Now it raises a :exc:`TypeError` when a type parameter without a default
follows one with a default, and when an entry in the ``type_params`` tuple
is not a type parameter object.
..
.. date: 2024-09-30-19-59-28
.. gh-issue: 66436
.. nonce: 4gYN_n
.. section: Library
Improved :ref:`prog` default value for :class:`argparse.ArgumentParser`. It
will now include the name of the Python executable along with the module or
package name, or the path to a directory, ZIP file, or directory within a
ZIP file if the code was run that way.
..
.. date: 2024-09-27-15-16-04
.. gh-issue: 116850
.. nonce: dBkR0-
.. section: Library
Fix :mod:`argparse` for namespaces with not directly writable dict (e.g.
classes).
..
.. date: 2024-09-27-06-39-32
.. gh-issue: 101552
.. nonce: xYkzag
.. section: Library
Add an *annoation_format* parameter to :func:`inspect.signature`. Add an
*quote_annotation_strings* parameter to :meth:`inspect.Signature.format`.
Use the new functionality to improve the display of annotations in
signatures in :mod:`pydoc`. Patch by Jelle Zijlstra.
..
.. date: 2024-09-26-22-14-12
.. gh-issue: 58573
.. nonce: hozbm9
.. section: Library
Fix conflicts between abbreviated long options in the parent parser and
subparsers in :mod:`argparse`.
..
.. date: 2024-09-26-13-43-39
.. gh-issue: 124594
.. nonce: peYhsP
.. section: Library
All :mod:`asyncio` REPL prompts run in the same :class:`context
<contextvars.Context>`. Contributed by Bartosz Sławecki.
..
.. date: 2024-09-26-09-18-09
.. gh-issue: 61181
.. nonce: dwjmch
.. section: Library
Fix support of :ref:`choices` with string value in :mod:`argparse`.
Substrings of the specified string no longer considered valid values.
..
.. date: 2024-09-26-00-35-24
.. gh-issue: 116750
.. nonce: X1aMHI
.. section: Library
Provide :func:`sys.monitoring.clear_tool_id` to unregister all events and
callbacks set by the tool.
..
.. date: 2024-09-25-22-06-52
.. gh-issue: 124552
.. nonce: 1nQKNM
.. section: Library
Improve the accuracy of :mod:`bdb`'s check for the possibility of breakpoint
in a frame. This makes it possible to disable unnecessary events in
functions.
..
.. date: 2024-09-25-18-34-48
.. gh-issue: 124538
.. nonce: nXZk4R
.. section: Library
Fixed crash when using :func:`gc.get_referents` on a capsule object.
..
.. date: 2024-09-25-18-08-29
.. gh-issue: 80259
.. nonce: kO5Tw7
.. section: Library
Fix :mod:`argparse` support of positional arguments with ``nargs='?'``,
``default=argparse.SUPPRESS`` and specified ``type``.
..
.. date: 2024-09-25-18-07-51
.. gh-issue: 120378
.. nonce: NlBSz_
.. section: Library
Fix a crash related to an integer overflow in :func:`curses.resizeterm` and
:func:`curses.resize_term`.
..
.. date: 2024-09-25-12-14-58
.. gh-issue: 124498
.. nonce: Ozxs55
.. section: Library
Fix :class:`typing.TypeAliasType` not to be generic, when ``type_params`` is
an empty tuple.
..
.. date: 2024-09-25-10-25-57
.. gh-issue: 53834
.. nonce: uyIckw
.. section: Library
Fix support of arguments with :ref:`choices` in :mod:`argparse`. Positional
arguments with :ref:`nargs` equal to ``'?'`` or ``'*'`` no longer check
:ref:`default` against ``choices``. Optional arguments with ``nargs`` equal
to ``'?'`` no longer check :ref:`const` against ``choices``.
..
.. date: 2024-09-24-22-38-51
.. gh-issue: 123884
.. nonce: iEPTK4
.. section: Library
Fixed bug in itertools.tee() handling of other tee inputs (a tee in a tee).
The output now has the promised *n* independent new iterators. Formerly,
the first iterator was identical (not independent) to the input iterator.
This would sometimes give surprising results.
..
.. date: 2024-09-24-21-15-27
.. gh-issue: 123017
.. nonce: dSAr2f
.. section: Library
Due to unreliable results on some devices, :func:`time.strftime` no longer
accepts negative years on Android.
..
.. date: 2024-09-24-19-32-14
.. gh-issue: 123014
.. nonce: zVcfkZ
.. section: Library
:func:`os.pidfd_open` and :func:`signal.pidfd_send_signal` are now
unavailable when building against Android API levels older than 31, since
the underlying system calls may cause a crash.
..
.. date: 2024-09-24-13-32-16
.. gh-issue: 124176
.. nonce: 6hmOPz
.. section: Library
Add support for :func:`dataclasses.dataclass` in
:func:`unittest.mock.create_autospec`. Now ``create_autospec`` will check
for potential dataclasses and use :func:`dataclasses.fields` function to
retrieve the spec information.
..
.. date: 2024-09-24-12-34-48
.. gh-issue: 124345
.. nonce: s3vKql
.. section: Library
:mod:`argparse` vim supports abbreviated single-dash long options separated
by ``=`` from its value.
..
.. date: 2024-09-24-00-01-24
.. gh-issue: 124400
.. nonce: 0XCgfe
.. section: Library
Fixed a :mod:`pdb` bug where ``until`` has no effect when it appears in a
``commands`` sequence. Also avoid printing the frame information at a
breakpoint that has a command list containing a command that resumes
execution.
..
.. date: 2024-09-23-18-26-17
.. gh-issue: 90562
.. nonce: Yj566G
.. section: Library
Modify dataclasses to support zero-argument super() when ``slots=True`` is
specified. This works by modifying all references to ``__class__`` to point
to the newly created class.
..
.. date: 2024-09-23-17-33-47
.. gh-issue: 104860
.. nonce: O86OSc
.. section: Library
Fix disallowing abbreviation of single-dash long options in :mod:`argparse`
with ``allow_abbrev=False``.
..
.. date: 2024-09-21-23-56-41
.. gh-issue: 63143
.. nonce: YKu-LQ
.. section: Library
Fix parsing mutually exclusive arguments in :mod:`argparse`. Arguments with
the value identical to the default value (e.g. booleans, small integers,
empty or 1-character strings) are no longer considered "not present".
..
.. date: 2024-09-21-22-32-21
.. gh-issue: 72795
.. nonce: naLmkX
.. section: Library
Positional arguments with :ref:`nargs` equal to ``'*'`` or
:data:`!argparse.REMAINDER` are no longer required. This allows to use
positional argument with ``nargs='*'`` and without ``default`` in mutually
exclusive group and improves error message about required arguments.
..
.. date: 2024-09-21-19-02-37
.. gh-issue: 59317
.. nonce: OAhNZZ
.. section: Library
Fix parsing positional argument with :ref:`nargs` equal to ``'?'`` or
``'*'`` if it is preceded by an option and another positional argument.
..
.. date: 2024-09-20-18-23-19
.. gh-issue: 100980
.. nonce: 8nVAB6
.. section: Library
The :attr:`~ctypes.Structure._fields_` attribute of
:class:`ctypes.Structure` and :class:`~ctypes.Union` is no longer set if the
setattr operation raises an error.
..
.. date: 2024-09-20-12-23-11
.. gh-issue: 53780
.. nonce: mrV1zi
.. section: Library
:mod:`argparse` now ignores the first ``"--"`` (double dash) between an
option and command.
..
.. date: 2024-09-19-20-15-00
.. gh-issue: 124217
.. nonce: j0KlQB
.. section: Library
Add RFC 9637 reserved IPv6 block ``3fff::/20`` in :mod:`ipaddress` module.
..
.. date: 2024-09-19-16-00-22
.. gh-issue: 111513
.. nonce: 6jHm02
.. section: Library
Improve the error message that may be raised by
:meth:`datetime.date.fromtimestamp`.
..
.. date: 2024-09-19-11-47-39
.. gh-issue: 124248
.. nonce: g7rufd
.. section: Library
Fixed potential crash when using :mod:`struct` to process zero-width 'Pascal
string' fields (``0p``).
..
.. date: 2024-09-19-10-36-18
.. gh-issue: 81691
.. nonce: Hyhp_U
.. section: Library
Fix handling of multiple ``"--"`` (double dashes) in :mod:`argparse`. Only
the first one has now been removed, all subsequent ones are now taken
literally.
..
.. date: 2024-09-19-03-46-59
.. gh-issue: 87041
.. nonce: 9Ox7Bv
.. section: Library
Fix a bug in :mod:`argparse` where lengthy subparser argument help is
incorrectly indented.
..
.. date: 2024-09-19-00-09-48
.. gh-issue: 84559
.. nonce: IrxvQe
.. section: Library
The default :mod:`multiprocessing` start method on Linux and other POSIX
systems has been changed away from often unsafe ``"fork"`` to
``"forkserver"`` (when the platform supports sending file handles over pipes
as most do) or ``"spawn"``. Mac and Windows are unchanged as they already
default to ``"spawn"``.
..
.. date: 2024-09-18-17-45-52
.. gh-issue: 124212
.. nonce: n6kIby
.. section: Library
Fix invalid variable in :mod:`venv` handling of failed symlink on Windows
..
.. date: 2024-09-17-18-06-42
.. gh-issue: 124171
.. nonce: PHCvRJ
.. section: Library
Add workaround for broken :c:func:`!fmod()` implementations on Windows, that
loose zero sign (e.g. ``fmod(-10, 1)`` returns ``0.0``). Patch by Sergey B
Kirpichev.
..
.. date: 2024-09-16-12-31-48
.. gh-issue: 123978
.. nonce: z3smEu
.. section: Library
Remove broken :func:`time.thread_time` and :func:`time.thread_time_ns` on
NetBSD.
..
.. date: 2024-09-13-10-34-19
.. gh-issue: 123934
.. nonce: yMe7mL
.. section: Library
Fix :class:`unittest.mock.MagicMock` resetting magic methods return values
after ``.reset_mock(return_value=True)`` was called.
..
.. date: 2024-09-12-10-55-19
.. gh-issue: 124016
.. nonce: ncs0hd
.. section: Library
Update :mod:`unicodedata` database to Unicode 16.0.0.
..
.. date: 2024-09-11-19-12-23
.. gh-issue: 123968
.. nonce: OwHON_
.. section: Library
Fix the command-line interface for the :mod:`random` module to select floats
between 0 and N, not 1 and N.
..
.. date: 2024-09-11-19-05-32
.. gh-issue: 123945
.. nonce: jLwybB
.. section: Library
Fix a bug where :mod:`argparse` doesn't recognize negative numbers with
underscores
..
.. date: 2024-09-11-13-33-19
.. gh-issue: 123935
.. nonce: fRZ_56
.. section: Library
Fix parent slots detection for dataclasses that inherit from classes with
``__dictoffset__``.
..
.. date: 2024-09-10-11-26-14
.. gh-issue: 123892
.. nonce: 2gzIrz
.. section: Library
Add ``"_wmi"`` to :data:`sys.stdlib_module_names`. Patch by Victor Stinner.
..
.. date: 2024-09-06-10-17-54
.. gh-issue: 84808
.. nonce: ION67Z
.. section: Library
Fix error handling in :py:class:`~socket.socket` method
:py:func:`~socket.socket.connect_ex` on platforms where :c:data:`errno` can
be negative.
..
.. date: 2024-09-06-01-35-11
.. gh-issue: 123756
.. nonce: Ozbhke
.. section: Library
Added a new argument ``mode`` to :class:`pdb.Pdb`. Only allow :mod:`pdb`
from command line to use ``restart`` command.
..
.. date: 2024-09-06-00-00-43
.. gh-issue: 122765
.. nonce: tx4hsr
.. section: Library
Fix unbalanced quote errors occurring when activate.csh in :mod:`venv` was
sourced with a custom prompt containing unpaired quotes or newlines.
..
.. date: 2024-09-04-18-23-43
.. gh-issue: 123657
.. nonce: Oks4So
.. section: Library
Fix crash and memory leak in :func:`decimal.getcontext`. It crashed when
using a thread-local context by ``--with-decimal-contextvar=no``.
..
.. date: 2024-09-02-20-34-04
.. gh-issue: 123339
.. nonce: czgcSu
.. section: Library
Fix :func:`inspect.getsource` for classes in :mod:`collections.abc` and
:mod:`decimal` (for pure Python implementation) modules.
:func:`inspect.getcomments` now raises OSError instead of IndexError if the
``__firstlineno__`` value for a class is out of bound.
..
.. date: 2024-08-31-12-34-44
.. gh-issue: 123374
.. nonce: 3kE7rb
.. section: Library
Remove check for redefined memo entry in :func:`pickletools.dis`.
..
.. date: 2024-08-30-09-01-35
.. gh-issue: 123504
.. nonce: lJ9_BB
.. section: Library
Fixed reference leak in the finalization of :mod:`tkinter`.
..
.. date: 2024-08-29-14-51-36
.. gh-issue: 123430
.. nonce: M7wXl9
.. section: Library
Pages generated by the :mod:`http.server` module allow the browser to apply
its default dark mode.
..
.. date: 2024-08-29-09-27-12
.. gh-issue: 123446
.. nonce: _I_mMr
.. section: Library
Fix empty function name in :exc:`TypeError` when :func:`csv.reader`,
:func:`csv.writer`, or :func:`csv.register_dialect` are used without the
required args.
..
.. date: 2024-08-28-20-08-19
.. gh-issue: 123448
.. nonce: tItJlp
.. section: Library
Fixed memory leak of :class:`typing.NoDefault` by moving it to the static
types array.
..
.. date: 2024-08-28-13-03-36
.. gh-issue: 123409
.. nonce: lW0YF-
.. section: Library
Fix :attr:`ipaddress.IPv6Address.reverse_pointer` output according to
:rfc:`RFC 3596, §2.5 <3596#section-2.5>`. Patch by Bénédikt Tran.
..
.. date: 2024-08-27-12-38-42
.. gh-issue: 123089
.. nonce: vA7iFR
.. section: Library
Make :class:`weakref.WeakSet` safe against concurrent mutations while it is
being iterated. Patch by Kumar Aditya.
..
.. date: 2024-08-27-12-11-00
.. gh-issue: 123363
.. nonce: gKuJp6
.. section: Library
Show string value of :opcode:`CONTAINS_OP` oparg in :mod:`dis` output. Patch
by Alexandr153.
..
.. date: 2024-08-27-10-30-37
.. gh-issue: 123341
.. nonce: 5e-fjt
.. section: Library
Add :meth:`~object.__class_getitem__` to :class:`!tkinter.Event` for type
subscript support at runtime. Patch by Adonis Rakateli.
..
.. date: 2024-08-26-19-36-00
.. gh-issue: 123340
.. nonce: mQKI1H
.. section: Library
Show string value of :opcode:`IS_OP` oparg in :mod:`dis` output.
..
.. date: 2024-08-26-18-48-13
.. gh-issue: 119518
.. nonce: QFYH9q
.. section: Library
Speed up normalization of :class:`pathlib.PurePath` and
:class:`~pathlib.Path` objects by not interning string parts.
..
.. date: 2024-08-26-13-45-20
.. gh-issue: 123270
.. nonce: gXHvNJ
.. section: Library
Applied a more surgical fix for malformed payloads in :class:`zipfile.Path`
causing infinite loops (gh-122905) without breaking contents using
legitimate characters.
..
.. date: 2024-08-25-16-59-20
.. gh-issue: 73991
.. nonce: 1w8u3K
.. section: Library
Add :meth:`pathlib.Path.copy_into` and :meth:`~pathlib.Path.move_into`,
which copy and move files and directories into *existing* directories.
..
.. date: 2024-08-24-06-05-41
.. gh-issue: 123228
.. nonce: jR_5O5
.. section: Library
Fix return type for
:func:`!_pyrepl.readline._ReadlineWrapper.get_line_buffer` to be
:func:`str`. Patch by Sergey B Kirpichev.
..
.. date: 2024-08-24-00-03-01
.. gh-issue: 123240
.. nonce: uFPG3l
.. section: Library
Raise audit events for the :func:`input` in the new REPL.
..
.. date: 2024-08-23-22-01-30
.. gh-issue: 76960
.. nonce: vsANPu
.. section: Library
Fix :func:`urllib.parse.urljoin` and :func:`urllib.parse.urldefrag` for URIs
containing empty components. For example, :func:`!urljoin` with relative
reference "?" now sets empty query and removes fragment. Preserve empty
components (authority, params, query, fragment) in :func:`!urljoin`.
Preserve empty components (authority, params, query) in :func:`!urldefrag`.
..
.. date: 2024-08-23-15-49-10
.. gh-issue: 116810
.. nonce: QLBUU8
.. section: Library
Resolve a memory leak introduced in CPython 3.10's :mod:`ssl` when the
:attr:`ssl.SSLSocket.session` property was accessed. Speeds up read and
write access to said property by no longer unnecessarily cloning session
objects via serialization.
..
.. date: 2024-08-22-20-10-13
.. gh-issue: 123243
.. nonce: Kifj1L
.. section: Library
Fix memory leak in :mod:`!_decimal`.
..
.. date: 2024-08-22-11-25-19
.. gh-issue: 122546
.. nonce: BSmeE7
.. section: Library
Consistently use same file name for different exceptions in the new repl.
Patch by Sergey B Kirpichev.
..
.. date: 2024-08-22-09-37-48
.. gh-issue: 123213
.. nonce: owmXnP
.. section: Library
:meth:`xml.etree.ElementTree.Element.extend` and
:class:`~xml.etree.ElementTree.Element` assignment no longer hide the
internal exception if an erroneous generator is passed. Patch by Bar Harel.
..
.. date: 2024-08-20-18-02-27
.. gh-issue: 85110
.. nonce: 8_iDQy
.. section: Library
Preserve relative path in URL without netloc in
:func:`urllib.parse.urlunsplit` and :func:`urllib.parse.urlunparse`.
..
.. date: 2024-08-20-14-22-49
.. gh-issue: 123165
.. nonce: vOZZOA
.. section: Library
Add support for rendering :class:`~dis.Positions` in :mod:`dis`.
..
.. date: 2024-08-19-17-37-18
.. gh-issue: 122909
.. nonce: kP12SK
.. section: Library
In urllib.request when URLError is raised opening an ftp URL, the exception
argument is now consistently a string. Earlier versions passed either a
string or an ftplib exception instance as the argument to URLError.
..
.. date: 2024-08-18-08-25-32
.. gh-issue: 123084
.. nonce: rf8izX
.. section: Library
Deprecate :class:`!shutil.ExecError`, which hasn't been raised by any
:mod:`shutil` function since Python 3.4. It's now an alias for
:exc:`RuntimeError`.
..
.. date: 2024-08-17-08-17-20
.. gh-issue: 123085
.. nonce: 7Io2yH
.. section: Library
In a bare call to :func:`importlib.resources.files`, ensure the caller's
frame is properly detected when ``importlib.resources`` is itself available
as a compiled module only (no source).
..
.. date: 2024-08-16-19-13-21
.. gh-issue: 123067
.. nonce: Nx9O4R
.. section: Library
Fix quadratic complexity in parsing ``"``-quoted cookie values with
backslashes by :mod:`http.cookies`.
..
.. date: 2024-08-16-16-53-52
.. gh-issue: 123049
.. nonce: izx_fH
.. section: Library
Add support for :const:`~configparser.UNNAMED_SECTION` in
:meth:`configparser.ConfigParser.add_section`.
..
.. date: 2024-08-15-09-45-34
.. gh-issue: 121735
.. nonce: _1q0qf
.. section: Library
When working with zip archives, importlib.resources now properly honors
module-adjacent references (e.g. ``files(pkg.mod)`` and not just
``files(pkg)``).
..
.. date: 2024-08-14-10-41-11
.. gh-issue: 122981
.. nonce: BHV0Z9
.. section: Library
Fix :func:`inspect.getsource` for generated classes with Python base classes
(e.g. enums).
..
.. date: 2024-08-11-14-23-07
.. gh-issue: 122903
.. nonce: xktZta
.. section: Library
``zipfile.Path.glob`` now correctly matches directories instead of silently
omitting them.
..
.. date: 2024-08-11-14-08-04
.. gh-issue: 122905
.. nonce: 7tDsxA
.. section: Library
:class:`zipfile.Path` objects now sanitize names from the zipfile.
..
.. date: 2024-08-10-14-16-59
.. gh-issue: 122873
.. nonce: XlHaUn
.. section: Library
Enable :mod:`json` module to work as a script using the :option:`-m` switch:
``python -m json``. See the :ref:`JSON command-line interface
<json-commandline>` documentation. Patch by Trey Hunner.
..
.. date: 2024-08-10-10-21-44
.. gh-issue: 122858
.. nonce: ZC1rJD
.. section: Library
Deprecate :func:`!asyncio.iscoroutinefunction` in favor of
:func:`inspect.iscoroutinefunction`.
..
.. date: 2024-08-07-17-41-16
.. gh-issue: 116263
.. nonce: EcXir0
.. section: Library
:class:`logging.handlers.RotatingFileHandler` no longer rolls over empty log
files.
..
.. date: 2024-08-07-14-12-19
.. gh-issue: 105376
.. nonce: QbGPdE
.. section: Library
Restore the deprecated :mod:`logging` ``warn()`` method. It was removed in
Python 3.13 alpha 1. Keep the deprecated ``warn()`` method in Python 3.13.
Patch by Victor Stinner.
..
.. date: 2024-08-07-11-57-41
.. gh-issue: 122311
.. nonce: LDExnJ
.. section: Library
Improve errors in the :mod:`pickle` module. :exc:`~pickle.PicklingError` is
now raised more often instead of :exc:`UnicodeEncodeError`,
:exc:`ValueError` and :exc:`AttributeError`, and the original exception is
chained to it. Improve and unify error messages in Python and C
implementations.
..
.. date: 2024-08-06-18-07-19
.. gh-issue: 122744
.. nonce: kCzNDI
.. section: Library
Bump the version of pip bundled in ensurepip to version 24.2.
..
.. date: 2024-08-06-10-36-55
.. gh-issue: 118761
.. nonce: q_x_1A
.. section: Library
Improve import time of :mod:`pprint` by around seven times. Patch by Hugo
van Kemenade.
..
.. date: 2024-08-06-07-24-00
.. gh-issue: 118974
.. nonce: qamsCQ
.. section: Library
Add ``decorator`` parameter to :func:`dataclasses.make_dataclass` to
customize the functional creation of dataclasses.
..
.. date: 2024-08-04-14-07-18
.. gh-issue: 118814
.. nonce: uiyks1
.. section: Library
Fix the :class:`typing.TypeVar` constructor when name is passed by keyword.
..
.. date: 2024-08-03-06-51-08
.. gh-issue: 122637
.. nonce: gpas8J
.. section: Library
Adjust ``cmath.tanh(nanj)`` and ``cmath.tanh(infj)`` for recent C standards.
..
.. date: 2024-07-31-20-43-21
.. gh-issue: 122478
.. nonce: sCU2Le
.. section: Library
Remove internal frames from tracebacks shown in
:class:`code.InteractiveInterpreter` with non-default
:func:`sys.excepthook`. Save correct tracebacks in
:attr:`sys.last_traceback` and update ``__traceback__`` attribute of
:attr:`sys.last_value` and :attr:`sys.last_exc`.
..
.. date: 2024-07-31-15-08-42
.. gh-issue: 116622
.. nonce: aKxIQA
.. section: Library
On Android, the ``FICLONE`` and ``FICLONERANGE`` constants are no longer
exposed by :mod:`fcntl`, as these ioctls are blocked by SELinux.
..
.. date: 2024-07-31-14-55-41
.. gh-issue: 82378
.. nonce: eZvYmR
.. section: Library
Make sure that the new :term:`REPL` interprets :data:`sys.tracebacklimit` in
the same way that the classic REPL did.
..
.. date: 2024-07-30-21-29-30
.. gh-issue: 122334
.. nonce: LeoE1x
.. section: Library
Fix crash when importing :mod:`ssl` after the main interpreter restarts.
..
.. date: 2024-07-30-15-57-07
.. gh-issue: 122459
.. nonce: AYIoeN
.. section: Library
Optimize :mod:`pickling <pickle>` by name objects without the ``__module__``
attribute.
..
.. date: 2024-07-30-14-46-16
.. gh-issue: 87320
.. nonce: -Yk1wb
.. section: Library
In :class:`code.InteractiveInterpreter`, handle exceptions caused by calling
a non-default :func:`sys.excepthook`. Before, the exception bubbled up to
the caller, ending the :term:`REPL`.
..
.. date: 2024-07-30-04-27-55
.. gh-issue: 122272
.. nonce: 6Wwa1V
.. section: Library
On some platforms such as Linux, year with century was not 0-padded when
formatted by :meth:`~.datetime.strftime` with C99-specific specifiers
``'%C'`` or ``'%F'``. The 0-padding behavior is now guaranteed when the
format specifiers ``'%C'`` and ``'%F'`` are supported by the C library.
Patch by Ben Hsing
..
.. date: 2024-07-29-16-47-08
.. gh-issue: 122400
.. nonce: fM0YSv
.. section: Library
Handle :exc:`ValueError`\s raised by :func:`os.stat` in
:class:`filecmp.dircmp` and :func:`filecmp.cmpfiles`. Patch by Bénédikt
Tran.
..
.. date: 2024-07-29-10-24-48
.. gh-issue: 122311
.. nonce: xChV1b
.. section: Library
Fix some error messages in :mod:`pickle`.
..
.. date: 2024-07-27-16-10-41
.. gh-issue: 121650
.. nonce: nf6oc9
.. section: Library
:mod:`email` headers with embedded newlines are now quoted on output. The
:mod:`~email.generator` will now refuse to serialize (write) headers that
are unsafely folded or delimited; see
:attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas
Bloemsaat and Petr Viktorin in :gh:`121650`.)
..
.. date: 2024-07-26-21-21-13
.. gh-issue: 122332
.. nonce: fvw88r
.. section: Library
Fixed segfault with :meth:`asyncio.Task.get_coro` when using an eager task
factory.
..
.. date: 2024-07-25-15-41-14
.. gh-issue: 105733
.. nonce: o3koJA
.. section: Library
:func:`ctypes.ARRAY` is now :term:`soft deprecated`: it no longer emits
deprecation warnings and is not scheduled for removal.
..
.. date: 2024-07-24-08-48-22
.. gh-issue: 122213
.. nonce: o3pdgA
.. section: Library
Add notes for pickle serialization errors that allow to identify the source
of the error.
..
.. date: 2024-07-23-22-26-00
.. gh-issue: 119180
.. nonce: B2IVT8
.. section: Library
As part of :pep:`749`, add the following attributes for customizing
evaluation of annotation scopes:
* ``evaluate_value`` on :class:`typing.TypeAliasType`
* ``evaluate_bound``, ``evaluate_constraints``, and ``evaluate_default`` on :class:`typing.TypeVar`
* ``evaluate_default`` on :class:`typing.ParamSpec`
* ``evaluate_default`` on :class:`typing.TypeVarTuple`
..
.. date: 2024-07-23-17-13-10
.. gh-issue: 119180
.. nonce: 5PZELo
.. section: Library
Fix handling of classes with custom metaclasses in
``annotationlib.get_annotations``.
..
.. date: 2024-07-23-15-30-23
.. gh-issue: 122170
.. nonce: Z9gi3Y
.. section: Library
Handle :exc:`ValueError`\s raised by :func:`os.stat` in :mod:`linecache`.
Patch by Bénédikt Tran.
..
.. date: 2024-07-23-15-11-13
.. gh-issue: 122163
.. nonce: 4wRUuM
.. section: Library
Add notes for JSON serialization errors that allow to identify the source of
the error.
..
.. date: 2024-07-23-13-07-12
.. gh-issue: 122129
.. nonce: PwbC8q
.. section: Library
Improve support of method descriptors and wrappers in the help title.
..
.. date: 2024-07-23-12-38-14
.. gh-issue: 122145
.. nonce: sTO8nX
.. section: Library
Fix an issue when reporting tracebacks corresponding to Python code emitting
an empty AST body. Patch by Nikita Sobolev and Bénédikt Tran.
..
.. date: 2024-07-23-10-59-38
.. gh-issue: 121723
.. nonce: iJEf7e
.. section: Library
Make :func:`logging.config.dictConfig` accept any object implementing the
Queue public API. See the :ref:`queue configuration <configure-queue>`
section for details. Patch by Bénédikt Tran.
..
.. date: 2024-07-23-09-14-44
.. gh-issue: 82951
.. nonce: -F5p5A
.. section: Library
Serializing objects with complex ``__qualname__`` (such as unbound methods
and nested classes) by name no longer involves serializing parent objects by
value in pickle protocols < 4.
..
.. date: 2024-07-22-08-57-28
.. gh-issue: 120754
.. nonce: Eo5puP
.. section: Library
``Pathlib.read_bytes`` no longer opens the file in Python's buffered I/O
mode. This reduces overheads as the code reads a file in whole leading to a
modest speedup.
..
.. date: 2024-07-22-08-14-04
.. gh-issue: 113785
.. nonce: 6B_KNB
.. section: Library
:mod:`csv` now correctly parses numeric fields (when used with
:const:`csv.QUOTE_NONNUMERIC` or :const:`csv.QUOTE_STRINGS`) which start
with an escape character.
..
.. date: 2024-07-21-18-03-30
.. gh-issue: 122088
.. nonce: vi2bP-
.. section: Library
:func:`@warnings.deprecated <warnings.deprecated>` now copies the coroutine
status of functions and methods so that :func:`inspect.iscoroutinefunction`
returns the correct result.
..
.. date: 2024-07-21-10-45-24
.. gh-issue: 122081
.. nonce: dNrYMq
.. section: Library
Fix a crash in the :func:`!decimal.IEEEContext` optional function available
via the ``EXTRA_FUNCTIONALITY`` configuration flag.
..
.. date: 2024-07-21-02-00-46
.. gh-issue: 73991
.. nonce: pLxdtJ
.. section: Library
Add :meth:`pathlib.Path.move`, which moves a file or directory tree.
..
.. date: 2024-07-17-12-55-22
.. gh-issue: 121268
.. nonce: 41RmjR
.. section: Library
Remove workarounds for non-IEEE 754 systems in :mod:`cmath`.
..
.. date: 2024-07-17-09-44-35
.. gh-issue: 119698
.. nonce: WlygzR
.. section: Library
Due to the lack of interest for :meth:`symtable.Class.get_methods`, the
method is marked as deprecated and will be removed in Python 3.16. Patch by
Bénédikt Tran.
..
.. date: 2024-07-17-09-23-03
.. gh-issue: 121889
.. nonce: 6se9jS
.. section: Library
Adjusts ``cmath.acosh(complex('0+nanj'))`` for recent C standards.
..
.. date: 2024-07-16-20-49-07
.. gh-issue: 121804
.. nonce: gYN-In
.. section: Library
Correctly show error locations, when :exc:`SyntaxError` raised in new repl.
Patch by Sergey B Kirpichev.
..
.. date: 2024-07-15-19-34-56
.. gh-issue: 121797
.. nonce: qDqj59
.. section: Library
Add alternative :class:`~fractions.Fraction` constructor
:meth:`Fraction.from_number() <fractions.Fraction.from_number>`.
..
.. date: 2024-07-15-19-25-25
.. gh-issue: 121798
.. nonce: GmuBDu
.. section: Library
Add alternative :class:`~decimal.Decimal` constructor
:meth:`Decimal.from_number() <decimal.Decimal.from_number>`.
..
.. date: 2024-07-14-11-18-28
.. gh-issue: 120930
.. nonce: Kuo4L0
.. section: Library
Fixed a bug introduced by gh-92081 that added an incorrect extra blank to
encoded words occurring in wrapped headers.
..
.. date: 2024-07-14-06-24-02
.. gh-issue: 57141
.. nonce: C3jhDh
.. section: Library
The *shallow* argument to :class:`filecmp.dircmp` (new in Python 3.13) is
now keyword-only.
..
.. date: 2024-07-13-06-23-24
.. gh-issue: 121245
.. nonce: RfOgf4
.. section: Library
Simplify handling of the history file in ``site.register_readline()``
helper. The ``CAN_USE_PYREPL`` variable now will be initialized, when
imported. Patch by Sergey B Kirpichev.
..
.. date: 2024-07-10-08-13-34
.. gh-issue: 121249
.. nonce: W9Gd09
.. section: Library
Support the :c:expr:`float complex` and :c:expr:`double complex` C types in
the :mod:`struct` module if the compiler has C11 complex arithmetic. Patch
by Sergey B Kirpichev.
..
.. date: 2024-07-09-12-23-32
.. gh-issue: 121486
.. nonce: Iultjh
.. section: Library
:mod:`math` functions :func:`~math.isqrt`, :func:`~math.log`,
:func:`~math.log2` and :func:`~math.log10` now support integers larger than
``2**2**32`` on 32-bit platforms.
..
.. date: 2024-07-08-03-45-34
.. gh-issue: 121474
.. nonce: NsvrUN
.. section: Library
Fix missing sanity check for ``parties`` arg in :class:`threading.Barrier`
constructor. Patch by Clinton Christian (pygeek).
..
.. date: 2024-07-06-23-39-38
.. gh-issue: 121450
.. nonce: vGqb3c
.. section: Library
Hard-coded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace`) now
reuse the most recent ``Pdb`` instance that calls ``Pdb.set_trace()``,
instead of creating a new one each time. As a result, all the instance
specific data like ``display`` and ``commands`` are preserved across
Hard-coded breakpoints.
..
.. date: 2024-07-06-16-08-39
.. gh-issue: 119169
.. nonce: o0YymL
.. section: Library
Slightly speed up :func:`os.walk` by simplifying exception handling.
..
.. date: 2024-07-06-12-37-10
.. gh-issue: 121423
.. nonce: vnxrl4
.. section: Library
Improve import time of :mod:`socket` by lazy importing modules and writing
:data:`!socket.errorTab` as a constant.
..
.. date: 2024-07-04-17-36-03
.. gh-issue: 59110
.. nonce: IlI9Fz
.. section: Library
:mod:`zipimport` supports now namespace packages when no directory entry
exists.
..
.. date: 2024-07-03-14-23-04
.. gh-issue: 119004
.. nonce: L5MoUu
.. section: Library
Fix a crash in :ref:`OrderedDict.__eq__ <collections_OrderedDict__eq__>`
when operands are mutated during the check. Patch by Bénédikt Tran.
..
.. date: 2024-07-03-10-11-53
.. gh-issue: 121313
.. nonce: D7gARW
.. section: Library
Limit the reading size in the :class:`multiprocessing.connection.Connection`
class to 64 KiB to prevent memory overallocation and unnecessary memory
management system calls.
..
.. date: 2024-07-03-07-25-21
.. gh-issue: 121332
.. nonce: Iz6FEq
.. section: Library
Fix constructor of :mod:`ast` nodes with custom ``_attributes``. Previously,
passing custom attributes would raise a :py:exc:`DeprecationWarning`.
Passing arguments to the constructor that are not in ``_fields`` or
``_attributes`` remains deprecated. Patch by Jelle Zijlstra.
..
.. date: 2024-07-02-11-34-06
.. gh-issue: 121245
.. nonce: sSkDAr
.. section: Library
Fix a bug in the handling of the command history of the new :term:`REPL`
that caused the history file to be wiped at REPL exit.
..
.. date: 2024-07-01-11-23-18
.. gh-issue: 121210
.. nonce: cD0zfn
.. section: Library
Handle AST nodes with missing runtime fields or attributes in
:func:`ast.compare`. Patch by Bénédikt Tran.
..
.. date: 2024-06-29-19-30-15
.. gh-issue: 121163
.. nonce: SJKDFq
.. section: Library
Add support for ``all`` as an valid ``action`` for
:func:`warnings.simplefilter` and :func:`warnings.filterwarnings`.
..
.. date: 2024-06-29-15-23-26
.. gh-issue: 121151
.. nonce: HeLEvq
.. section: Library
Fix wrapping of long usage text of arguments inside a mutually exclusive
group in :mod:`argparse`.
..
.. date: 2024-06-29-15-21-12
.. gh-issue: 121141
.. nonce: 4evD6q
.. section: Library
Add support for :func:`copy.replace` to AST nodes. Patch by Bénédikt Tran.
..
.. date: 2024-06-29-05-08-59
.. gh-issue: 87744
.. nonce: rpF6Jw
.. section: Library
Fix waitpid race while calling
:meth:`~asyncio.subprocess.Process.send_signal` in asyncio. Patch by Kumar
Aditya.
..
.. date: 2024-06-27-13-47-14
.. gh-issue: 121027
.. nonce: jh55EC
.. section: Library
Add a future warning in :meth:`!functools.partial.__get__`. In future Python
versions :class:`functools.partial` will be a method descriptor.
..
.. date: 2024-06-27-12-27-52
.. gh-issue: 121027
.. nonce: D4K1OX
.. section: Library
Make the :class:`functools.partial` object a method descriptor.
..
.. date: 2024-06-26-17-00-39
.. gh-issue: 117784
.. nonce: inCtAV
.. section: Library
CPython now detects whether its linked TLS library supports TLSv1.3
post-handshake authentication and disables that feature if support is
lacking.
..
.. date: 2024-06-26-10-13-40
.. gh-issue: 121025
.. nonce: M-XXlV
.. section: Library
Improve the :meth:`~object.__repr__` of :class:`functools.partialmethod`.
Patch by Bénédikt Tran.
..
.. date: 2024-06-26-03-04-24
.. gh-issue: 121018
.. nonce: clVSc4
.. section: Library
Fixed issues where :meth:`!argparse.ArgumentParser.parse_args` did not honor
``exit_on_error=False``. Based on patch by Ben Hsing.
..
.. date: 2024-06-23-17-50-40
.. gh-issue: 119614
.. nonce: vwPGLB
.. section: Library
Fix truncation of strings with embedded null characters in some internal
operations in :mod:`tkinter`.
..
.. date: 2024-06-23-11-21-27
.. gh-issue: 120910
.. nonce: t0QXdB
.. section: Library
When reading installed files from an egg, use ``relative_to(walk_up=True)``
to honor files installed outside of the installation root.
..
.. date: 2024-06-23-07-23-08
.. gh-issue: 61103
.. nonce: ca_U_l
.. section: Library
Support :c:expr:`float complex`, :c:expr:`double complex` and :c:expr:`long
double complex` C types in :mod:`ctypes` as
:class:`~ctypes.c_float_complex`, :class:`~ctypes.c_double_complex` and
:class:`~ctypes.c_longdouble_complex` if the compiler has C11 complex
arithmetic. Patch by Sergey B Kirpichev.
..
.. date: 2024-06-22-22-52-24
.. gh-issue: 120888
.. nonce: sd8I3N
.. section: Library
Upgrade pip wheel bundled with ensurepip (pip 24.1.1)
..
.. date: 2024-06-22-22-23-56
.. gh-issue: 101830
.. nonce: 1BAoxH
.. section: Library
Accessing the :mod:`tkinter` object's string representation no longer
converts the underlying Tcl object to a string on Windows.
..
.. date: 2024-06-22-17-01-56
.. gh-issue: 120678
.. nonce: Ik8dCg
.. section: Library
Fix regression in the new REPL that meant that globals from files passed
using the ``-i`` argument would not be included in the REPL's global
namespace. Patch by Alex Waygood.
..
.. date: 2024-06-21-14-32-56
.. gh-issue: 120811
.. nonce: eBmVTV
.. section: Library
Fix possible memory leak in :meth:`contextvars.Context.run`.
..
.. date: 2024-06-21-12-00-16
.. gh-issue: 120782
.. nonce: LOE8tj
.. section: Library
Fix wrong references of the :mod:`datetime` types after reloading the
module.
..
.. date: 2024-06-21-06-37-46
.. gh-issue: 120713
.. nonce: WBbQx4
.. section: Library
:meth:`datetime.datetime.strftime` now 0-pads years with less than four
digits for the format specifiers ``%Y`` and ``%G`` on Linux. Patch by Ben
Hsing
..
.. date: 2024-06-20-01-31-24
.. gh-issue: 120769
.. nonce: PfiMrc
.. section: Library
Make empty line in :mod:`pdb` repeats the last command even when the command
is from ``cmdqueue``.
..
.. date: 2024-06-19-23-08-25
.. gh-issue: 120780
.. nonce: 0Omopb
.. section: Library
Show string value of LOAD_SPECIAL oparg in :mod:`dis` output.
..
.. date: 2024-06-19-19-53-42
.. gh-issue: 41431
.. nonce: gnkUc5
.. section: Library
Add :meth:`datetime.time.strptime` and :meth:`datetime.date.strptime`.
Contributed by Wannes Boeykens.
..
.. date: 2024-06-19-15-43-04
.. gh-issue: 120743
.. nonce: CMMl2P
.. section: Library
:term:`Soft deprecate <soft deprecated>` :func:`os.popen` and
:func:`os.spawn* <os.spawnl>` functions. They should no longer be used to
write new code. The :mod:`subprocess` module is recommended instead. Patch
by Victor Stinner.
..
.. date: 2024-06-19-15-06-58
.. gh-issue: 120732
.. nonce: OvYV9b
.. section: Library
Fix ``name`` passing to :class:`unittest.mock.Mock` object when using
:func:`unittest.mock.create_autospec`.
..
.. date: 2024-06-19-13-20-01
.. gh-issue: 111259
.. nonce: Wki5PV
.. section: Library
:mod:`re` now handles patterns like ``"[\s\S]"`` or ``"\s|\S"`` which match
any character as effectively as a dot with the ``DOTALL`` modifier
(``"(?s:.)"``).
..
.. date: 2024-06-18-19-18-10
.. gh-issue: 120683
.. nonce: xmRez7
.. section: Library
Fix an error in :class:`logging.LogRecord`, when the integer part of the
timestamp is rounded up, while the millisecond calculation truncates,
causing the log timestamp to be wrong by up to 999 ms (affected roughly 1 in
8 million timestamps).
..
.. date: 2024-06-18-14-45-38
.. gh-issue: 118710
.. nonce: 5GZZPX
.. section: Library
:class:`ipaddress.IPv4Address` and :class:`ipaddress.IPv6Address` attributes
``version`` and ``max_prefixlen`` are now available on the class.
..
.. date: 2024-06-17-20-04-13
.. gh-issue: 120633
.. nonce: kZC5wt
.. section: Library
Move scrollbar and remove tear-off menus in turtledemo.
..
.. date: 2024-06-16-21-33-56
.. gh-issue: 120606
.. nonce: kugbwR
.. section: Library
Allow users to use EOF to exit ``commands`` definition in :mod:`pdb`
..
.. date: 2024-06-15-23-38-36
.. gh-issue: 120284
.. nonce: HwsAtY
.. section: Library
Allow :meth:`asyncio.Runner.run` to accept :term:`awaitable` objects instead
of simply :term:`coroutine`\s.
..
.. date: 2024-06-15-12-04-46
.. gh-issue: 120541
.. nonce: d3cc5y
.. section: Library
Improve the prompt in the "less" pager when :func:`help` is called with
non-string argument.
..
.. date: 2024-06-14-20-05-25
.. gh-issue: 120495
.. nonce: OxgZKB
.. section: Library
Fix incorrect exception handling in Tab Nanny. Patch by Wulian233.
..
.. date: 2024-06-12-15-07-58
.. gh-issue: 120388
.. nonce: VuTQMT
.. section: Library
Improve a warning message when a test method in :mod:`unittest` returns
something other than ``None``. Now we show the returned object type and
optional asyncio-related tip.
..
.. date: 2024-06-12-11-54-05
.. gh-issue: 120381
.. nonce: O-BNLs
.. section: Library
Correct :func:`inspect.ismethoddescriptor` to check also for the lack of
:meth:`~object.__delete__`. Patch by Jan Kaliszewski.
..
.. date: 2024-06-12-10-00-31
.. gh-issue: 90425
.. nonce: 5CfkKG
.. section: Library
The OS byte in gzip headers is now always set to 255 when using
:func:`gzip.compress`.
..
.. date: 2024-06-11-16-34-41
.. gh-issue: 120343
.. nonce: hdiXeU
.. section: Library
Fix column offset reporting for tokens that come after multiline f-strings
in the :mod:`tokenize` module.
..
.. date: 2024-06-11-07-17-25
.. gh-issue: 119180
.. nonce: iH-2zy
.. section: Library
As part of implementing :pep:`649` and :pep:`749`, add a new module
``annotationlib``. Add support for unresolved forward references in
annotations to :mod:`dataclasses`, :class:`typing.TypedDict`, and
:class:`typing.NamedTuple`.
..
.. date: 2024-06-10-14-00-40
.. gh-issue: 119600
.. nonce: jJMf4C
.. section: Library
Fix :func:`unittest.mock.patch` to not read attributes of the target when
``new_callable`` is set. Patch by Robert Collins.
..
.. date: 2024-06-09-19-53-11
.. gh-issue: 120289
.. nonce: s4HXR0
.. section: Library
Fixed the use-after-free issue in :mod:`cProfile` by disallowing
``disable()`` and ``clear()`` in external timers.
..
.. date: 2024-06-08-17-41-11
.. gh-issue: 82017
.. nonce: WpSTGi
.. section: Library
Added support for converting any objects that have the
:meth:`!as_integer_ratio` method to a :class:`~fractions.Fraction`.
..
.. date: 2024-06-08-15-46-35
.. gh-issue: 114053
.. nonce: Ub2XgJ
.. section: Library
Fix edge-case bug where :func:`typing.get_type_hints` would produce
incorrect results if type parameters in a class scope were overridden by
assignments in a class scope and ``from __future__ import annotations``
semantics were enabled. Patch by Alex Waygood.
..
.. date: 2024-06-08-15-15-29
.. gh-issue: 114053
.. nonce: WQLAFG
.. section: Library
Fix erroneous :exc:`NameError` when calling :func:`inspect.get_annotations`
with ``eval_str=True``` on a class that made use of :pep:`695` type
parameters in a module that had ``from __future__ import annotations`` at
the top of the file. Patch by Alex Waygood.
..
.. date: 2024-06-08-14-36-40
.. gh-issue: 120268
.. nonce: MNpd1q
.. section: Library
Prohibit passing ``None`` to pure-Python :meth:`datetime.date.fromtimestamp`
to achieve consistency with C-extension implementation.
..
.. date: 2024-06-08-09-45-31
.. gh-issue: 120244
.. nonce: 8o9Dzr
.. section: Library
Fix memory leak in :func:`re.sub` when the replacement string contains
backreferences.
..
.. date: 2024-06-08-03-29-01
.. gh-issue: 120254
.. nonce: h682ke
.. section: Library
Added ``commands`` argument to :func:`pdb.set_trace` which allows users to
send debugger commands from the source file.
..
.. date: 2024-06-07-13-21-11
.. gh-issue: 120211
.. nonce: Rws_gf
.. section: Library
Fix :mod:`tkinter.ttk` with Tcl/Tk 9.0.
..
.. date: 2024-06-07-11-23-31
.. gh-issue: 71587
.. nonce: IjFajE
.. section: Library
Fix crash in C version of :meth:`datetime.datetime.strptime` when called
again on the restarted interpreter.
..
.. date: 2024-06-07-10-10-32
.. gh-issue: 117983
.. nonce: NeMR9n
.. section: Library
Defer the ``threading`` import in ``importlib.util`` until lazy loading is
used.
..
.. date: 2024-06-07-02-00-31
.. gh-issue: 120157
.. nonce: HnWcF9
.. section: Library
Remove unused constant ``concurrent.futures._base._FUTURE_STATES`` in
:mod:`concurrent.futures`. Patch by Clinton Christian (pygeek).
..
.. date: 2024-06-06-17-24-43
.. gh-issue: 120161
.. nonce: DahNXV
.. section: Library
:mod:`datetime` no longer crashes in certain complex reference cycle
situations.
..
.. date: 2024-06-06-12-07-57
.. gh-issue: 119698
.. nonce: rRrprk
.. section: Library
Fix :meth:`symtable.Class.get_methods` and document its behaviour. Patch by
Bénédikt Tran.
..
.. date: 2024-06-05-16-30-28
.. gh-issue: 120121
.. nonce: 9dz8i7
.. section: Library
Add :exc:`concurrent.futures.InvalidStateError` to module's ``__all__``.
..
.. date: 2024-06-05-11-39-21
.. gh-issue: 119933
.. nonce: ooJXQV
.. section: Library
Add the :class:`symtable.SymbolTableType` enumeration to represent the
possible outputs of the :class:`symtable.SymbolTable.get_type` method. Patch
by Bénédikt Tran.
..
.. date: 2024-06-05-11-03-10
.. gh-issue: 120029
.. nonce: QBsw47
.. section: Library
Expose :class:`symtable.Symbol` methods
:meth:`~symtable.Symbol.is_free_class`,
:meth:`~symtable.Symbol.is_comp_iter` and
:meth:`~symtable.Symbol.is_comp_cell`. Patch by Bénédikt Tran.
..
.. date: 2024-06-05-08-02-46
.. gh-issue: 120108
.. nonce: 4U9BL8
.. section: Library
Fix calling :func:`copy.deepcopy` on :mod:`ast` trees that have been
modified to have references to parent nodes. Patch by Jelle Zijlstra.
..
.. date: 2024-06-04-19-49-16
.. gh-issue: 120056
.. nonce: 5aqozw
.. section: Library
Add :data:`!socket.IP_RECVERR` and :data:`!socket.IP_RECVTTL` constants
(both available since Linux 2.2). And :data:`!socket.IP_RECVORIGDSTADDR`
constant (available since Linux 2.6.29).
..
.. date: 2024-06-04-19-03-25
.. gh-issue: 112672
.. nonce: K2XfZH
.. section: Library
Support building :mod:`tkinter` with Tcl 9.0.
..
.. date: 2024-06-04-18-53-10
.. gh-issue: 120057
.. nonce: RSD9_Z
.. section: Library
Added the :data:`os.environ.refresh() <os.environ>` method to update
:data:`os.environ` with changes to the environment made by
:func:`os.putenv`, by :func:`os.unsetenv`, or made outside Python in the
same process. Patch by Victor Stinner.
..
.. date: 2024-06-04-14-54-46
.. gh-issue: 120029
.. nonce: _1YdTf
.. section: Library
Expose :meth:`symtable.Symbol.is_type_parameter` in the :mod:`symtable`
module. Patch by Bénédikt Tran.
..
.. date: 2024-06-04-12-23-01
.. gh-issue: 119819
.. nonce: WKKrYh
.. section: Library
Fix regression to allow logging configuration with multiprocessing queue
types.
..
.. date: 2024-06-04-08-57-02
.. gh-issue: 65454
.. nonce: o9j4wF
.. section: Library
:func:`unittest.mock.Mock.attach_mock` no longer triggers a call to a
``PropertyMock`` being attached.
..
.. date: 2024-06-03-11-18-16
.. gh-issue: 117142
.. nonce: kWTXQo
.. section: Library
The :mod:`ctypes` module may now be imported in all subinterpreters,
including those that have their own GIL.
..
.. date: 2024-06-02-15-09-17
.. gh-issue: 118835
.. nonce: KUAuz6
.. section: Library
Fix _pyrepl crash when using custom prompt with ANSI escape codes.
..
.. date: 2024-06-02-13-35-11
.. gh-issue: 81936
.. nonce: ETeW9x
.. section: Library
:meth:`!help` and :meth:`!showtopic` methods now respect a configured
*output* argument to :class:`!pydoc.Helper` and not use the pager in such
cases. Patch by Enrico Tröger.
..
.. date: 2024-06-01-16-58-43
.. gh-issue: 117398
.. nonce: kR0RW7
.. section: Library
The ``_datetime`` module (C implementation for :mod:`datetime`) now supports
being imported in multiple interpreters.
..
.. date: 2024-05-31-21-17-43
.. gh-issue: 119824
.. nonce: CQlxWV
.. section: Library
Print stack entry in :mod:`pdb` when and only when user input is needed.
..
.. date: 2024-05-31-13-56-21
.. gh-issue: 119838
.. nonce: H6XHlE
.. section: Library
In mixed arithmetic operations with :class:`~fractions.Fraction` and
complex, the fraction is now converted to :class:`float` instead of
:class:`complex`.
..
.. date: 2024-05-31-12-57-31
.. gh-issue: 119770
.. nonce: NCtels
.. section: Library
Make :mod:`termios` ``ioctl()`` constants positive. Patch by Victor Stinner.
..
.. date: 2024-05-30-21-37-05
.. gh-issue: 89727
.. nonce: D6S9ig
.. section: Library
Fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError` is raised
on deep directory trees.
..
.. date: 2024-05-29-21-50-05
.. gh-issue: 119577
.. nonce: S3BlKJ
.. section: Library
The :exc:`DeprecationWarning` emitted when testing the truth value of an
:class:`xml.etree.ElementTree.Element` now describes unconditionally
returning ``True`` in a future version rather than raising an exception in
Python 3.14.
..
.. date: 2024-05-29-20-42-17
.. gh-issue: 89727
.. nonce: 5lPTTW
.. section: Library
Partially fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError`
is raised on deep directory trees. A recursion error is no longer raised
when :data:`!rmtree.avoids_symlink_attacks` is false.
..
.. date: 2024-05-29-12-42-40
.. gh-issue: 93963
.. nonce: cb1oJS
.. section: Library
Remove deprecated names from ``importlib.abc`` as found in
``importlib.resources.abc``.
..
.. date: 2024-05-28-12-15-03
.. gh-issue: 119118
.. nonce: FMKz1F
.. section: Library
Fix performance regression in the :mod:`tokenize` module by caching the
``line`` token attribute and calculating the column offset more efficiently.
..
.. date: 2024-05-28-00-56-59
.. gh-issue: 89727
.. nonce: _bxoL3
.. section: Library
Fix issue with :func:`os.fwalk` where a :exc:`RecursionError` was raised on
deep directory trees by adjusting the implementation to be iterative instead
of recursive.
..
.. date: 2024-05-26-22-22-51
.. gh-issue: 119594
.. nonce: fnQNM8
.. section: Library
If one calls pow(fractions.Fraction, x, module) with modulo not None, the
error message now says that the types are incompatible rather than saying
pow only takes 2 arguments. Patch by Wim Jeantine-Glenn and Mark Dickinson.
..
.. date: 2024-05-26-21-28-11
.. gh-issue: 119588
.. nonce: wlLBK5
.. section: Library
``zipfile.Path.is_symlink`` now assesses if the given path is a symlink.
..
.. date: 2024-05-25-20-20-42
.. gh-issue: 119562
.. nonce: DyplWc
.. section: Library
Remove :class:`!ast.Num`, :class:`!ast.Str`, :class:`!ast.Bytes`,
:class:`!ast.NameConstant` and :class:`!ast.Ellipsis`. They had all emitted
deprecation warnings since Python 3.12. Patch by Alex Waygood.
..
.. date: 2024-05-25-20-15-26
.. gh-issue: 119555
.. nonce: mvHbEL
.. section: Library
Catch :exc:`SyntaxError` from :func:`compile` in the runsource() method of
the InteractiveColoredConsole. Patch by Sergey B Kirpichev.
..
.. date: 2024-05-25-10-40-38
.. gh-issue: 118908
.. nonce: XcZiq4
.. section: Library
Limit exposed globals from internal imports and definitions on new REPL
startup. Patch by Eugene Triguba and Pablo Galindo.
..
.. date: 2024-05-25-07-25-07
.. gh-issue: 117865
.. nonce: 1A0Xpi
.. section: Library
Improve the import time of the :mod:`ast` module by deferring the import of
:mod:`re`. Patch by Jelle Zijlstra.
..
.. date: 2024-05-25-00-54-26
.. gh-issue: 119127
.. nonce: LpPvag
.. section: Library
Positional arguments of :func:`functools.partial` objects now support
placeholders via :data:`functools.Placeholder`.
..
.. date: 2024-05-24-21-54-55
.. gh-issue: 113892
.. nonce: JKDFqq
.. section: Library
Now, the method ``sock_connect`` of :class:`asyncio.ProactorEventLoop`
raises a :exc:`ValueError` if given socket is not in non-blocking mode, as
well as in other loop implementations.
..
.. date: 2024-05-24-14-32-24
.. gh-issue: 119506
.. nonce: -nMNqq
.. section: Library
Fix :meth:`!io.TextIOWrapper.write` method breaks internal buffer when the
method is called again during flushing internal buffer.
..
.. date: 2024-05-24-11-47-08
.. gh-issue: 69214
.. nonce: Grl6zF
.. section: Library
Fix ``fcntl.ioctl()`` *request* parameter: use an ``unsigned long`` instead
of an ``unsigned int`` for the *request* parameter of :func:`fcntl.ioctl` to
support requests larger than ``UINT_MAX``. Patch by Victor Stinner.
..
.. date: 2024-05-24-04-05-37
.. gh-issue: 119105
.. nonce: aDSRFn
.. section: Library
``difflib``'s ``DIffer.compare()`` (and so also ``ndiff``) can no longer be
provoked into cubic-time behavior, or into unbounded recursion, and should
generally be faster in ordinary cases too. Results may change in some cases,
although that should be rare. Correctness of diffs is not affected. Some
similar lines far apart may be reported as deleting one and adding the
other, where before they were displayed on adjacent output lines with markup
showing the intraline differences.
..
.. date: 2024-05-23-22-29-59
.. gh-issue: 119443
.. nonce: KAGz6S
.. section: Library
The interactive REPL no longer runs with ``from __future__ import
annotations`` enabled. Patch by Jelle Zijlstra.
..
.. date: 2024-05-23-15-48-17
.. gh-issue: 119461
.. nonce: 82KqUW
.. section: Library
Add ``socket.VMADDR_CID_LOCAL`` constant. Patch by Victor Stinner.
..
.. date: 2024-05-23-11-52-36
.. gh-issue: 117398
.. nonce: 2FG1Mk
.. section: Library
Objects in the datetime C-API are now all statically allocated, which means
better memory safety, especially when the module is reloaded. This should be
transparent to users.
..
.. date: 2024-05-22-21-20-43
.. gh-issue: 118894
.. nonce: xHdxR_
.. section: Library
:mod:`asyncio` REPL now has the same capabilities as PyREPL.
..
.. date: 2024-05-21-23-39-22
.. gh-issue: 118830
.. nonce: YTqvEo
.. section: Library
Bump :mod:`pickle` default protocol to ``5``.
..
.. date: 2024-05-21-20-13-23
.. gh-issue: 118911
.. nonce: iG8nMq
.. section: Library
In PyREPL, updated ``maybe-accept``'s logic so that if the user hits
:kbd:`Enter` twice, they are able to terminate the block even if there's
trailing whitespace. Also, now when the user hits arrow up, the cursor is on
the last functional line. This matches IPython's behavior. Patch by Aya
Elsayed.
..
.. date: 2024-05-21-19-10-30
.. gh-issue: 115225
.. nonce: eRmfJH
.. section: Library
Raise error on certain technically valid but pathological ISO 8601 strings
passed to :meth:`datetime.time.fromisoformat` that were previously parsed
incorrectly.
..
.. date: 2024-05-20-20-30-57
.. gh-issue: 111201
.. nonce: DAA5lC
.. section: Library
Remove dependency to :mod:`readline` from the new Python REPL.
..
.. date: 2024-05-20-13-48-37
.. gh-issue: 119189
.. nonce: dhJVs5
.. section: Library
When using the ``**`` operator or :func:`pow` with
:class:`~fractions.Fraction` as the base and an exponent that is not
rational, a float, or a complex, the fraction is no longer converted to a
float.
..
.. date: 2024-05-19-18-49-04
.. gh-issue: 119174
.. nonce: 5GTv7d
.. section: Library
Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry
Patch by Wulian233 and Terry Jan Reedy
..
.. date: 2024-05-19-13-05-59
.. gh-issue: 119121
.. nonce: P1gnh1
.. section: Library
Fix a NameError happening in ``asyncio.staggered.staggered_race``. This
function is now tested.
..
.. date: 2024-05-19-12-25-36
.. gh-issue: 119105
.. nonce: VcR4ig
.. section: Library
``difflib.Differ`` is much faster for some cases of diffs where many pairs
of lines are equally similar.
..
.. date: 2024-05-17-17-32-12
.. gh-issue: 119113
.. nonce: kEv1Ll
.. section: Library
Fix issue where :meth:`pathlib.PurePath.with_suffix` didn't raise
:exc:`TypeError` when given ``None`` as a suffix.
..
.. date: 2024-05-16-17-31-46
.. gh-issue: 118643
.. nonce: hAWH4C
.. section: Library
Fix an AttributeError in the :mod:`email` module when re-fold a long address
list. Also fix more cases of incorrect encoding of the address separator in
the address list.
..
.. date: 2024-05-15-01-36-08
.. gh-issue: 73991
.. nonce: CGknDf
.. section: Library
Add :meth:`pathlib.Path.copy`, which copies a file or directory to another.
..
.. date: 2024-05-12-21-38-42
.. gh-issue: 58933
.. nonce: 0kgU2l
.. section: Library
Make :mod:`pdb` return to caller frame correctly when ``f_trace`` of the
caller frame is not set
..
.. date: 2024-05-11-20-23-45
.. gh-issue: 82805
.. nonce: F9bz4J
.. section: Library
Support single-dot file extensions in :attr:`pathlib.PurePath.suffix` and
related attributes and methods. For example, the
:attr:`~pathlib.PurePath.suffixes` of ``PurePath('foo.bar.')`` are now
``['.bar', '.']`` rather than ``[]``. This brings file extension splitting
in line with :func:`os.path.splitext`.
..
.. date: 2024-05-10-22-59-01
.. gh-issue: 118924
.. nonce: 9nyvSH
.. section: Library
Remove :data:`!version` and :data:`!version_info` from :mod:`sqlite3`. Patch
by Hugo van Kemenade.
..
.. date: 2024-05-10-22-36-01
.. gh-issue: 118928
.. nonce: IW7Ukv
.. section: Library
Disallow using a sequence of parameters with named placeholders in
:mod:`sqlite3` queries. Patch by Erlend E. Aasland.
..
.. date: 2024-05-10-05-24-32
.. gh-issue: 118895
.. nonce: wUm5r2
.. section: Library
Setting attributes on :data:`typing.NoDefault` now raises
:exc:`AttributeError` instead of :exc:`TypeError`.
..
.. date: 2024-05-09-21-36-11
.. gh-issue: 118868
.. nonce: uckxxP
.. section: Library
Fixed issue where kwargs were no longer passed to the logging handler
QueueHandler
..
.. date: 2024-05-09-12-33-25
.. gh-issue: 118827
.. nonce: JrzHz1
.. section: Library
Remove deprecated :class:`!Quoter` class from :mod:`urllib.parse`. It had
previously raised a :exc:`DeprecationWarning` since Python 3.11. Patch by
Nikita Sobolev.
..
.. date: 2024-05-09-11-50-26
.. gh-issue: 118824
.. nonce: -jBJQC
.. section: Library
Remove deprecated :func:`!pty.master_open` and :func:`!pty.slave_open`. Use
:func:`pty.openpty` instead. Patch by Nikita Sobolev.
..
.. date: 2024-05-09-08-46-12
.. gh-issue: 118851
.. nonce: aPAoJw
.. section: Library
``ctx`` arguments to the constructors of :mod:`ast` node classes now default
to :class:`ast.Load() <ast.Load>`. Patch by Jelle Zijlstra.
..
.. date: 2024-05-09-02-43-37
.. gh-issue: 101588
.. nonce: 30bNAr
.. section: Library
Remove copy, deepcopy, and pickle from itertools. These had previously
raised a DeprecationWarning since Python 3.12.
..
.. date: 2024-05-09-01-05-52
.. gh-issue: 118805
.. nonce: N7dm07
.. section: Library
Remove *type*, *choices*, and *metavar* parameters of
:class:`!argparse.BooleanOptionalAction`. They were deprecated since Python
3.12.
..
.. date: 2024-05-09-00-52-30
.. gh-issue: 118803
.. nonce: Wv3AvU
.. section: Library
:class:`!typing.ByteString` and :class:`!collections.abc.ByteString` are
removed. They had previously raised a :exc:`DeprecationWarning` since Python
3.12.
..
.. date: 2024-05-08-23-16-50
.. gh-issue: 118798
.. nonce: Q_ybqP
.. section: Library
The *isdst* parameter has been removed from :func:`email.utils.localtime`.
Patch by Hugo van Kemenade.
..
.. date: 2024-05-08-21-30-33
.. gh-issue: 118760
.. nonce: XvyMHn
.. section: Library
Restore the default value of ``tkiter.wantobjects`` to ``1``.
..
.. date: 2024-05-08-21-13-56
.. gh-issue: 118760
.. nonce: mdmH3T
.. section: Library
Fix errors in calling Tkinter bindings on Windows.
..
.. date: 2024-05-08-20-41-48
.. gh-issue: 74033
.. nonce: YebHZj
.. section: Library
Drop support for passing keyword arguments to :class:`pathlib.Path`.
..
.. date: 2024-05-08-19-47-34
.. gh-issue: 101357
.. nonce: e4R_9x
.. section: Library
Suppress all :exc:`OSError` exceptions from :meth:`pathlib.Path.exists` and
``is_*()`` methods, rather than a selection of more common errors. The new
behaviour is consistent with :func:`os.path.exists`, :func:`os.path.isdir`,
etc. Use :meth:`pathlib.Path.stat` to retrieve the file status without
suppressing exceptions.
..
.. date: 2024-05-08-18-59-19
.. gh-issue: 78707
.. nonce: _Lz1sw
.. section: Library
Drop support for passing additional positional arguments to
:meth:`pathlib.PurePath.relative_to` and
:meth:`~pathlib.PurePath.is_relative_to`.
..
.. date: 2024-05-08-18-33-07
.. gh-issue: 118507
.. nonce: OCQsAY
.. section: Library
Fix :func:`os.path.isfile` on Windows for pipes. Speedup
:func:`os.path.isjunction` and :func:`os.path.lexists` on Windows with a
native implementation.
..
.. date: 2024-05-08-09-21-49
.. gh-issue: 118772
.. nonce: c16E8X
.. section: Library
Allow :class:`typing.TypeVar` instances without a default to follow
instances without a default in some cases. Patch by Jelle Zijlstra.
..
.. date: 2024-05-07-17-38-53
.. gh-issue: 118714
.. nonce: XXKpVZ
.. section: Library
Allow ``restart`` in post-mortem debugging of :mod:`pdb`. Removed restart
message when the user quits pdb from post-mortem mode.
..
.. date: 2024-05-06-17-39-52
.. gh-issue: 118673
.. nonce: sTXBit
.. section: Library
Removed executable bits and shebang from stdlib modules.
..
.. date: 2024-05-01-22-24-05
.. gh-issue: 110863
.. nonce: GjYBbq
.. section: Library
:func:`os.path.realpath` now suppresses any :exc:`OSError` from
:func:`os.readlink` when *strict* mode is disabled (the default).
..
.. date: 2024-04-28-19-51-00
.. gh-issue: 118263
.. nonce: Gaap3S
.. section: Library
Speed up :func:`os.path.splitroot` & :func:`os.path.normpath` with a direct
C call.
..
.. date: 2024-04-24-16-23-04
.. gh-issue: 110190
.. nonce: TGd5qx
.. section: Library
Fix ctypes structs with array on SPARC by setting ``MAX_STRUCT_SIZE`` to 32
in stgdict. Patch by Jakub Kulik
..
.. date: 2024-04-19-14-59-53
.. gh-issue: 118033
.. nonce: amS4Gw
.. section: Library
Fix :func:`dataclasses.dataclass` not creating a ``__weakref__`` slot when
subclassing :class:`typing.Generic`.
..
.. date: 2024-04-19-05-58-50
.. gh-issue: 117766
.. nonce: J3xepp
.. section: Library
Always use :func:`str` to print ``choices`` in :mod:`argparse`.
..
.. date: 2024-03-19-21-41-31
.. gh-issue: 106531
.. nonce: Mgd--6
.. section: Library
In :mod:`importlib.resources`, sync with `importlib_resources 6.3.2
<https://importlib-resources.readthedocs.io/en/latest/history.html#v6-3-2>`_,
including: ``MultiplexedPath`` now expects ``Traversable`` paths,
deprecating string arguments to ``MultiplexedPath``; Enabled support for
resources in namespace packages in zip files; Fixed ``NotADirectoryError``
when calling files on a subdirectory of a namespace package.
..
.. date: 2024-02-27-10-22-15
.. gh-issue: 115937
.. nonce: 0cVNur
.. section: Library
Removed extra preprocessing for the ``__signature__`` attribute: the code
just check if it's a :class:`inspect.Signature` instance. Patch by Sergey B
Kirpichev.
..
.. date: 2024-02-22-10-12-59
.. gh-issue: 115808
.. nonce: F2g2Ku
.. section: Library
Add :func:`operator.is_none` and :func:`operator.is_not_none` functions.
..
.. date: 2024-01-18-21-44-23
.. gh-issue: 114264
.. nonce: DBKn29
.. section: Library
Improve performance of :func:`copy.deepcopy` by adding a fast path for
atomic types.
..
.. date: 2024-01-14-11-43-31
.. gh-issue: 113878
.. nonce: dmEIN3
.. section: Library
Add *doc* parameter to :func:`dataclasses.field`, so it can be stored and
shown as a documentation / metadata. If ``@dataclass(slots=True)`` is used,
then the supplied string is availabl in the :attr:`~object.__slots__` dict.
Otherwise, the supplied string is only available in the corresponding
:class:`dataclasses.Field` object.
In order to support this feature we are changing the ``__slots__`` format in
dataclasses from :class:`tuple` to :class:`dict` when documentation /
metadata is present.
..
.. date: 2024-01-12-08-51-03
.. gh-issue: 113978
.. nonce: MqTgB0
.. section: Library
Ignore warnings on text completion inside REPL.
..
.. date: 2023-12-14-13-43-27
.. gh-issue: 113008
.. nonce: jWYn8T
.. section: Library
Correct argparse usage output for required, mutually exclusive groups
containing a positional argument
..
.. date: 2023-12-12-15-19-58
.. gh-issue: 108172
.. nonce: KyDPuG
.. section: Library
``webbrowser`` honors OS preferred browser on Linux when its desktop entry
name contains the text of a known browser name.
..
.. date: 2023-09-19-17-56-24
.. gh-issue: 109109
.. nonce: WJvvX2
.. section: Library
You can now get the raw TLS certificate chains from TLS connections via
:meth:`ssl.SSLSocket.get_verified_chain` and
:meth:`ssl.SSLSocket.get_unverified_chain` methods.
Contributed by Mateusz Nowak.
..
.. date: 2023-06-17-09-07-06
.. gh-issue: 105623
.. nonce: 5G06od
.. section: Library
Fix performance degradation in
:class:`logging.handlers.RotatingFileHandler`. Patch by Craig Robson.
..
.. date: 2023-06-16-14-52-00
.. gh-issue: 102450
.. nonce: MfeR6A
.. section: Library
Add missing ISO-8601 24:00 alternative to midnight of next day to
:meth:`datetime.datetime.fromisoformat` and
:meth:`datetime.time.fromisoformat`. Patch by Izan "TizzySaurus" Robinson
(tizzysaurus@gmail.com)
..
.. date: 2023-04-28-09-54-15
.. gh-issue: 103956
.. nonce: EyLDPS
.. section: Library
Fix lack of newline characters in :mod:`trace` module output when line
tracing is enabled but source code line for current frame is not available.
..
.. date: 2023-04-26-22-24-17
.. gh-issue: 92081
.. nonce: V8xMot
.. section: Library
Fix missing spaces in email headers when the spaces are mixed with encoded
8-bit characters.
..
.. date: 2023-04-24-05-34-23
.. gh-issue: 103194
.. nonce: GwBwWL
.. section: Library
Prepare Tkinter for C API changes in Tcl 8.7/9.0 to avoid
:class:`!_tkinter.Tcl_Obj` being unexpectedly returned instead of
:class:`bool`, :class:`str`, :class:`bytearray`, or :class:`int`.
..
.. date: 2023-04-10-00-04-37
.. gh-issue: 87106
.. nonce: UyBnPQ
.. section: Library
Fixed handling in :meth:`inspect.Signature.bind` of keyword arguments having
the same name as positional-only arguments when a variadic keyword argument
(e.g. ``**kwargs``) is present.
..
.. date: 2023-03-30-18-19-53
.. gh-issue: 103134
.. nonce: bHrn91
.. section: Library
Add additional methods to :ref:`proxy objects
<multiprocessing-proxy_objects>` in the :mod:`!multiprocessing` module:
* :meth:`!clear` and :meth:`!copy` for proxies of :class:`list`
* :meth:`~dict.fromkeys`, ``reversed(d)``, ``d | {}``, ``{} | d``,
``d |= {'b': 2}`` for proxies of :class:`dict`
..
.. bpo: 45767
.. date: 2022-03-10-16-47-57
.. nonce: ywmyo1
.. section: Library
Fix integer conversion in :func:`os.major`, :func:`os.minor`, and
:func:`os.makedev`. Support device numbers larger than ``2**63-1``. Support
non-existent device number (``NODEV``).
..
.. bpo: 44864
.. date: 2021-08-24-19-37-46
.. nonce: KzxaDh
.. section: Library
Do not translate user-provided strings in :class:`argparse.ArgumentParser`.
..
.. bpo: 41843
.. date: 2020-12-22-18-08-12
.. nonce: q9Nh2r
.. section: Library
Solaris now uses :func:`os.sendfile` fast-copy syscall for more efficient
:mod:`shutil` file copy related functions.
..
.. bpo: 15987
.. date: 2020-03-28-21-00-54
.. nonce: aBL8XS
.. section: Library
Implemented :func:`ast.compare` for comparing two ASTs. Patch by Batuhan
Taskaya with some help from Jeremy Hylton.
..
.. date: 2019-08-27-01-16-50
.. gh-issue: 67693
.. nonce: 4NIAiy
.. section: Library
Fix :func:`urllib.parse.urlunparse` and :func:`urllib.parse.urlunsplit` for
URIs with path starting with multiple slashes and no authority. Based on
patch by Ashwin Ramaswami.
..
.. bpo: 14074
.. date: 2018-12-04-07-36-27
.. nonce: fMLKCu
.. section: Library
Fix :mod:`argparse` metavar processing to allow positional arguments to have
a tuple metavar.
..
.. date: 2024-10-04-15-34-34
.. gh-issue: 122392
.. nonce: V8K3w2
.. section: IDLE
Increase currently inadequate vertical spacing for the IDLE browsers (path,
module, and stack) on high-resolution monitors.
..
.. date: 2024-09-21-23-12-18
.. gh-issue: 112938
.. nonce: OeiDru
.. section: IDLE
Fix uninteruptable hang when Shell gets rapid continuous output.
..
.. date: 2024-07-30-18-02-55
.. gh-issue: 122482
.. nonce: TerE0g
.. section: IDLE
Change About IDLE to direct users to discuss.python.org instead of the now
unused idle-dev email and mailing list.
..
.. date: 2024-07-16-16-57-03
.. gh-issue: 78889
.. nonce: U7ghFD
.. section: IDLE
Stop Shell freezes by blocking user access to non-method sys.stdout.shell
attributes, which are all private.
..
.. date: 2024-06-16-21-42-45
.. gh-issue: 120083
.. nonce: nczuyv
.. section: IDLE
Add explicit black IDLE Hovertip foreground color needed for recent macOS.
Fixes Sonoma showing unreadable white on pale yellow. Patch by John
Riggles.
..
.. date: 2024-06-05-14-54-24
.. gh-issue: 120104
.. nonce: j_thj4
.. section: IDLE
Fix padding in config and search dialog windows in IDLE.
..
.. date: 2024-10-10-02-56-24
.. gh-issue: 124872
.. nonce: 0mDDOq
.. section: Documentation
Added definitions for :term:`context`, :term:`current context`, and
:term:`context management protocol`, updated related definitions to be
consistent, and expanded the documentation for :class:`contextvars.Context`.
..
.. date: 2024-10-07-00-31-17
.. gh-issue: 125018
.. nonce: yKnymn
.. section: Documentation
The :mod:`importlib.metadata` documentation now includes semantic
cross-reference targets for the significant documented APIs. This means
intersphinx references like :func:`importlib.metadata.version` will now work
as expected.
..
.. date: 2024-09-27-16-47-48
.. gh-issue: 124720
.. nonce: nVSTVb
.. section: Documentation
Update "Using Python on a Mac" section of the "Python Setup and Usage"
document and include information on installing free-threading support.
..
.. date: 2024-09-24-11-52-36
.. gh-issue: 124457
.. nonce: yrCjSV
.. section: Documentation
Remove coverity scan from the CPython repo. It has not been used since 2020
and is currently unmaintained.
..
.. date: 2024-09-19-19-33-25
.. gh-issue: 116622
.. nonce: M65UZ6
.. section: Documentation
Add an Android platform guide, and flag modules not available on Android.
..
.. date: 2024-09-11-16-52-08
.. gh-issue: 123976
.. nonce: jhOfNR
.. section: Documentation
Refresh docs around custom providers.
..
.. date: 2024-08-01-17-18-21
.. gh-issue: 70870
.. nonce: fZnBM9
.. section: Documentation
Clarified the dual usage of the term "free variable" (both the formal
meaning of any reference to names defined outside the local scope, and the
narrower pragmatic meaning of nonlocal variables named in ``co_freevars``).
..
.. date: 2024-07-19-12-22-48
.. gh-issue: 121277
.. nonce: wF_zKd
.. section: Documentation
Writers of CPython's documentation can now use ``next`` as the version for
the ``versionchanged``, ``versionadded``, ``deprecated`` directives.
..
.. date: 2024-07-14-12-25-53
.. gh-issue: 117765
.. nonce: YFMOUv
.. section: Documentation
Improved documentation for :func:`unittest.mock.patch.dict`
..
.. date: 2024-07-14-11-48-10
.. gh-issue: 121749
.. nonce: nxHoTk
.. section: Documentation
Fix documentation for :c:func:`PyModule_AddObjectRef`.
..
.. date: 2024-06-05-12-36-18
.. gh-issue: 120012
.. nonce: f14DbQ
.. section: Documentation
Clarify the behaviours of :meth:`multiprocessing.Queue.empty` and
:meth:`multiprocessing.SimpleQueue.empty` on closed queues. Patch by
Bénédikt Tran.
..
.. date: 2024-06-03-22-06-26
.. gh-issue: 119574
.. nonce: Ik9kOO
.. section: Documentation
Added some missing environment variables to the output of
:option:`--help-env`.
..
.. bpo: 34008
.. date: 2018-07-04-20-35-25
.. nonce: bqecIb
.. section: Documentation
The :c:func:`Py_Main` documentation moved from the "Very High Level API"
section to the "Initialization and Finalization" section.
Also make it explicit that we expect ``Py_Main`` to typically be called
instead of ``Py_Initialize`` rather than after it (since ``Py_Main`` makes
its own call to ``Py_Initialize``). Document that calling both is supported
but is version dependent on which settings will be applied correctly.
..
.. date: 2024-10-15-15-29-41
.. gh-issue: 124375
.. nonce: wNrWVa
.. section: Core and Builtins
Fix a crash in the free threading build when the GC runs concurrently with a
new thread starting.
..
.. date: 2024-10-10-14-47-13
.. gh-issue: 125221
.. nonce: nfSQzT
.. section: Core and Builtins
Fix possible race condition when calling :meth:`~object.__reduce_ex__` for
the first time in the free threading build.
..
.. date: 2024-10-10-12-04-56
.. gh-issue: 125174
.. nonce: _8h6T7
.. section: Core and Builtins
Make the handling of reference counts of immortal objects more robust.
Immortal objects with reference counts that deviate from their original
reference count by up to a billion (half a billion on 32 bit builds) are
still counted as immortal.
..
.. date: 2024-10-07-23-33-18
.. gh-issue: 125039
.. nonce: MKTyNI
.. section: Core and Builtins
Make ``this_instr`` and ``prev_instr`` const in cases generator.
..
.. date: 2024-10-05-23-53-06
.. gh-issue: 125008
.. nonce: ETANpd
.. section: Core and Builtins
Fix :func:`tokenize.untokenize` producing invalid syntax for double braces
preceded by certain escape characters.
..
.. date: 2024-10-03-22-26-39
.. gh-issue: 124871
.. nonce: tAMF47
.. section: Core and Builtins
Fix compiler bug (in some versions of 3.13) where an assertion fails during
reachability analysis.
..
.. date: 2024-10-03-14-39-41
.. gh-issue: 123378
.. nonce: dCxANf
.. section: Core and Builtins
Fix a crash in the :meth:`~object.__str__` method of :exc:`UnicodeError`
objects when the :attr:`UnicodeError.start` and :attr:`UnicodeError.end`
values are invalid or out-of-range. Patch by Bénédikt Tran.
..
.. date: 2024-09-30-16-39-37
.. gh-issue: 118093
.. nonce: J2A3gz
.. section: Core and Builtins
Improve the experimental JIT compiler's ability to stay "on trace" when
encountering highly-biased branches.
..
.. date: 2024-09-27-17-18-53
.. gh-issue: 124642
.. nonce: OCjhBJ
.. section: Core and Builtins
Fixed scalability issue in free-threaded builds for lock-free reads from
dictionaries in multi-threaded scenarios
..
.. date: 2024-09-26-18-21-06
.. gh-issue: 116510
.. nonce: FacUWO
.. section: Core and Builtins
Fix a crash caused by immortal interned strings being shared between
sub-interpreters that use basic single-phase init. In that case, the string
can be used by an interpreter that outlives the interpreter that created and
interned it. For interpreters that share obmalloc state, also share the
interned dict with the main interpreter.
..
.. date: 2024-09-26-17-55-34
.. gh-issue: 116510
.. nonce: dhn8w8
.. section: Core and Builtins
Fix a bug that can cause a crash when sub-interpreters use "basic"
single-phase extension modules. Shared objects could refer to PyGC_Head
nodes that had been freed as part of interpreter cleanup.
..
.. date: 2024-09-26-13-25-01
.. gh-issue: 119180
.. nonce: k_JCX0
.. section: Core and Builtins
The ``__main__`` module no longer always contains an ``__annotations__``
dictionary in its global namespace.
..
.. date: 2024-09-26-12-19-13
.. gh-issue: 124547
.. nonce: P_SHfU
.. section: Core and Builtins
When deallocating an object with inline values whose ``__dict__`` is still
live: if memory allocation for the inline values fails, clear the
dictionary. Prevents an interpreter crash.
..
.. date: 2024-09-25-14-45-56
.. gh-issue: 124513
.. nonce: ywiXtr
.. section: Core and Builtins
Fix a crash in FrameLocalsProxy constructor: check the number of arguments.
Patch by Victor Stinner.
..
.. date: 2024-09-25-11-53-22
.. gh-issue: 124442
.. nonce: EXC1Ve
.. section: Core and Builtins
Fix nondeterminism in compilation by sorting the value of
:attr:`~type.__static_attributes__`. Patch by kp2pml30.
..
.. date: 2024-09-23-23-06-19
.. gh-issue: 124285
.. nonce: mahGTg
.. section: Core and Builtins
Fix bug where ``bool(a)`` can be invoked more than once during the
evaluation of a compound boolean expression.
..
.. date: 2024-09-23-15-23-14
.. gh-issue: 123856
.. nonce: yrgJ9m
.. section: Core and Builtins
Fix PyREPL failure when a keyboard interrupt is triggered after using a
history search
..
.. date: 2024-09-23-13-25-27
.. gh-issue: 65961
.. nonce: LDqXV2
.. section: Core and Builtins
Deprecate the setting and using ``__package__`` and ``__cached__``.
..
.. date: 2024-09-19-16-57-34
.. gh-issue: 119726
.. nonce: DseseK
.. section: Core and Builtins
The JIT now generates more efficient code for calls to C functions resulting
in up to 0.8% memory savings and 1.5% speed improvement on AArch64. Patch by
Diego Russo.
..
.. date: 2024-09-19-13-17-31
.. gh-issue: 122878
.. nonce: 4iFpsB
.. section: Core and Builtins
Use the ``pager`` binary, if available (e.g. on Debian and derivatives), to
display REPL ``help()``.
..
.. date: 2024-09-17-22-06-01
.. gh-issue: 124188
.. nonce: aFqNAB
.. section: Core and Builtins
Fix reading and decoding a line from the source file witn non-UTF-8 encoding
for syntax errors raised in the compiler.
..
.. date: 2024-09-13-02-25-06
.. gh-issue: 124027
.. nonce: to_9DY
.. section: Core and Builtins
Support ``<page up>``, ``<page down>``, and ``<delete>`` keys in the Python
REPL when ``$TERM`` is set to ``vt100``.
..
.. date: 2024-09-12-21-53-26
.. gh-issue: 124022
.. nonce: fQzUiW
.. section: Core and Builtins
Fix bug where docstring is removed from classes in interactive mode.
..
.. date: 2024-09-11-15-48-36
.. gh-issue: 123958
.. nonce: 5VW2r0
.. section: Core and Builtins
docstrings are now removed from the optimized AST in optimization level 2.
..
.. date: 2024-09-10-20-25-00
.. gh-issue: 123923
.. nonce: A7uxqa
.. section: Core and Builtins
The ``f_executable`` field in the internal :c:struct:`_PyInterpreterFrame`
struct now uses a tagged pointer. Profilers and debuggers that uses this
field should clear the least significant bit to recover the
:c:expr:`PyObject*` pointer.
..
.. date: 2024-09-10-13-27-16
.. gh-issue: 77894
.. nonce: ZC-Olu
.. section: Core and Builtins
Fix possible crash in the garbage collector when it tries to break a
reference loop containing a :class:`memoryview` object. Now a
:class:`!memoryview` object can only be cleared if there are no buffers that
refer it.
..
.. date: 2024-09-06-19-23-44
.. gh-issue: 120221
.. nonce: giJEDT
.. section: Core and Builtins
asyncio REPL is now again properly recognizing KeyboardInterrupts. Display
of exceptions raised in secondary threads is fixed.
..
.. date: 2024-09-06-14-13-01
.. gh-issue: 119310
.. nonce: WQxyDF
.. section: Core and Builtins
Allow the new interactive shell to read history files written with the
editline library that use unicode-escaped entries. Patch by aorcajo and
Łukasz Langa.
..
.. date: 2024-09-03-13-34-35
.. gh-issue: 123572
.. nonce: uuqoYV
.. section: Core and Builtins
Fix key mappings for various F-keys in Windows for the new REPL. Patch by
devdanzin
..
.. date: 2024-09-02-20-39-10
.. gh-issue: 123614
.. nonce: 26TMHp
.. section: Core and Builtins
Add :func:`turtle.save` to easily save Turtle drawings as PostScript files.
Patch by Marie Roald and Yngve Mardal Moe.
..
.. date: 2024-09-02-20-36-45
.. gh-issue: 123339
.. nonce: QcmpSs
.. section: Core and Builtins
Setting the :attr:`!__module__` attribute for a class now removes the
``__firstlineno__`` item from the type's dict, so they will no longer be
inconsistent.
..
.. date: 2024-09-02-17-32-15
.. gh-issue: 119034
.. nonce: HYh5Vj
.. section: Core and Builtins
Change ``<page up>`` and ``<page down>`` keys of the Python REPL to history
search forward/backward. Patch by Victor Stinner.
..
.. date: 2024-09-01-12-08-39
.. gh-issue: 123562
.. nonce: aJPKVu
.. section: Core and Builtins
Improve :exc:`SyntaxError` message for using ``case ... as ...`` with not a
name.
..
.. date: 2024-09-01-00-02-05
.. gh-issue: 123545
.. nonce: 8nQNbL
.. section: Core and Builtins
Fix a double decref in rare cases on experimental JIT builds.
..
.. date: 2024-08-29-19-46-07
.. gh-issue: 123484
.. nonce: rjUn_F
.. section: Core and Builtins
Fix ``_Py_DebugOffsets`` for long objects to be relative to the start of the
object rather than the start of a subobject.
..
.. date: 2024-08-29-13-18-18
.. gh-issue: 123446
.. nonce: KWDrgq
.. section: Core and Builtins
Fix empty function name in :exc:`TypeError` when builtin magic methods are
used without the required args.
..
.. date: 2024-08-28-22-42-51
.. gh-issue: 123440
.. nonce: yOFB0N
.. section: Core and Builtins
Improve :exc:`SyntaxError` message for using ``except as`` with not a name.
..
.. date: 2024-08-27-21-44-14
.. gh-issue: 116017
.. nonce: ZY3yBY
.. section: Core and Builtins
Improved JIT memory consumption by periodically freeing memory used by
infrequently-executed code. This change is especially likely to improve the
memory footprint of long-running programs.
..
.. date: 2024-08-27-13-16-40
.. gh-issue: 123344
.. nonce: 56Or78
.. section: Core and Builtins
Add AST optimizations for type parameter defaults.
..
.. date: 2024-08-26-00-58-26
.. gh-issue: 123321
.. nonce: ApxcnE
.. section: Core and Builtins
Prevent Parser/myreadline race condition from segfaulting on multi-threaded
use. Patch by Bar Harel and Amit Wienner.
..
.. date: 2024-08-25-18-27-49
.. gh-issue: 123177
.. nonce: yLuyqE
.. section: Core and Builtins
Fix a bug causing stray prompts to appear in the middle of wrapped lines in
the new REPL.
..
.. date: 2024-08-25-10-54-22
.. gh-issue: 122982
.. nonce: KLD91q
.. section: Core and Builtins
Extend the deprecation period for bool inversion (``~``) by two years.
..
.. date: 2024-08-23-21-20-34
.. gh-issue: 123271
.. nonce: xeVViR
.. section: Core and Builtins
Make concurrent iterations over the same :func:`zip` iterator safe under
free-threading.
..
.. date: 2024-08-23-18-31-10
.. gh-issue: 123275
.. nonce: DprIrj
.. section: Core and Builtins
Support :option:`-X gil=1 <-X>` and :envvar:`PYTHON_GIL=1 <PYTHON_GIL>` on
non-free-threaded builds.
..
.. date: 2024-08-23-15-59-54
.. gh-issue: 123177
.. nonce: OLcaC5
.. section: Core and Builtins
Deactivate line wrap in the Apple Terminal via a ANSI escape code. Patch by
Pablo Galindo
..
.. date: 2024-08-23-13-08-27
.. gh-issue: 123229
.. nonce: aHm-dw
.. section: Core and Builtins
Fix valgrind warning by initializing the f-string buffers to 0 in the
tokenizer. Patch by Pablo Galindo
..
.. date: 2024-08-23-11-26-54
.. gh-issue: 122298
.. nonce: ZMyln4
.. section: Core and Builtins
Restore printout of GC stats when ``gc.set_debug(gc.DEBUG_STATS)`` is
called. This feature was accidentally removed when implementing incremental
GC.
..
.. date: 2024-08-21-15-22-53
.. gh-issue: 121804
.. nonce: r5K3PS
.. section: Core and Builtins
Correctly show error locations when a :exc:`SyntaxError` is raised in the
basic REPL. Patch by Sergey B Kirpichev.
..
.. date: 2024-08-21-08-53-00
.. gh-issue: 115776
.. nonce: 9A7Dv_
.. section: Core and Builtins
Enables inline values (Python's equivalent of hidden classes) on any class
who's instances are of a fixed size.
..
.. date: 2024-08-20-12-29-52
.. gh-issue: 123142
.. nonce: 3PXiNb
.. section: Core and Builtins
Fix too-wide source location in exception tracebacks coming from broken
iterables in comprehensions.
..
.. date: 2024-08-20-11-09-16
.. gh-issue: 123048
.. nonce: 2TISpv
.. section: Core and Builtins
Fix a bug where pattern matching code could emit a :opcode:`JUMP_FORWARD`
with no source location.
..
.. date: 2024-08-19-15-13-13
.. gh-issue: 118093
.. nonce: dLZ8qS
.. section: Core and Builtins
Break up ``CALL_ALLOC_AND_ENTER_INIT`` into micro-ops and relax requirement
for exact args, in order to increase the amount of code supported by tier 2.
..
.. date: 2024-08-18-18-25-54
.. gh-issue: 123123
.. nonce: 0ZcaEB
.. section: Core and Builtins
Fix displaying :exc:`SyntaxError` exceptions covering multiple lines. Patch
by Pablo Galindo
..
.. date: 2024-08-17-17-26-25
.. gh-issue: 123083
.. nonce: 9xWLJ-
.. section: Core and Builtins
Fix a potential use-after-free in ``STORE_ATTR_WITH_HINT``.
..
.. date: 2024-08-15-19-28-43
.. gh-issue: 123022
.. nonce: m3EF9E
.. section: Core and Builtins
Fix crash in free-threaded build when calling :c:func:`Py_Initialize` from a
non-main thread.
..
.. date: 2024-08-14-11-38-56
.. gh-issue: 118093
.. nonce: 3BywDP
.. section: Core and Builtins
Add three specializations for :opcode:`CALL_KW`:
* :opcode:`!CALL_KW_PY` for calls to Python functions
* :opcode:`!CALL_KW_BOUND_METHOD` for calls to bound methods
* :opcode:`!CALL_KW_NON_PY` for all other calls
..
.. date: 2024-08-12-11-45-47
.. gh-issue: 122821
.. nonce: WnAzTK
.. section: Core and Builtins
Make sure that branches in :keyword:`while` statements have consistent
offsets for :mod:`sys.monitoring`. :keyword:`!while` statements are now
compiled with a simple jump at the end of the body, instead of duplicating
the test.
..
.. date: 2024-08-12-11-19-37
.. gh-issue: 122907
.. nonce: q68096
.. section: Core and Builtins
Building with ``HAVE_DYNAMIC_LOADING`` now works as well as it did in 3.12.
Existing deficiences will be addressed separately. (See
https://github.com/python/cpython/issues/122950.)
..
.. date: 2024-08-10-12-44-03
.. gh-issue: 122888
.. nonce: TUyu9r
.. section: Core and Builtins
Fix crash on certain calls to ``str()`` with positional arguments of the
wrong type. Patch by Jelle Zijlstra.
..
.. date: 2024-08-08-16-02-28
.. gh-issue: 118093
.. nonce: m6Mrvy
.. section: Core and Builtins
Improve the experimental JIT's handling of polymorphic code.
..
.. date: 2024-08-05-19-28-12
.. gh-issue: 122697
.. nonce: 17MvYl
.. section: Core and Builtins
Fixed memory leaks at interpreter shutdown in the free-threaded build, and
also reporting of leaked memory blocks via :option:`-X showrefcount <-X>`.
..
.. date: 2024-08-05-19-04-06
.. gh-issue: 116622
.. nonce: 3LWUzE
.. section: Core and Builtins
Fix Android stdout and stderr messages being truncated or lost.
..
.. date: 2024-08-01-19-13-58
.. gh-issue: 122527
.. nonce: eztso6
.. section: Core and Builtins
Fix a crash that occurred when a ``PyStructSequence`` was deallocated after
its type's dictionary was cleared by the GC. The type's
:c:member:`~PyTypeObject.tp_basicsize` now accounts for non-sequence fields
that aren't included in the :c:macro:`Py_SIZE` of the sequence.
..
.. date: 2024-07-30-11-41-35
.. gh-issue: 122445
.. nonce: Rq0bjS
.. section: Core and Builtins
Add only fields which are modified via self.* to
:attr:`~type.__static_attributes__`.
..
.. date: 2024-07-29-19-20-25
.. gh-issue: 122417
.. nonce: NVgs0a
.. section: Core and Builtins
In the free-threaded build, the reference counts for heap type objects are
now partially stored in a distributed manner in per-thread arrays. This
reduces contention on the heap type's reference count fields when creating
or destroying instances of the same type from multiple threads concurrently.
..
.. date: 2024-07-29-10-55-46
.. gh-issue: 116090
.. nonce: p1MhU0
.. section: Core and Builtins
Fix an issue in JIT builds that prevented some :keyword:`for` loops from
correctly firing :monitoring-event:`RAISE` monitoring events.
..
.. date: 2024-07-26-14-05-51
.. gh-issue: 122300
.. nonce: SVIF-l
.. section: Core and Builtins
Preserve AST nodes for f-string with single-element format specifiers. Patch
by Pablo Galindo
..
.. date: 2024-07-26-13-56-32
.. gh-issue: 120906
.. nonce: qBh2I9
.. section: Core and Builtins
:attr:`frame.f_locals` now supports arbitrary hashable objects as keys.
..
.. date: 2024-07-25-01-45-21
.. gh-issue: 122239
.. nonce: 7zh-sW
.. section: Core and Builtins
When a :class:`list`, :class:`tuple` or :class:`dict` with too many elements
is unpacked, show the actual length in the error message.
..
.. date: 2024-07-24-22-39-07
.. gh-issue: 122245
.. nonce: LVa9v8
.. section: Core and Builtins
Detection of writes to ``__debug__`` is moved from the compiler's codegen
stage to the symtable. This means that these errors are now detected even in
code that is optimized away before codegen (such as assertions with the
:option:`-O` command line option).
..
.. date: 2024-07-24-17-11-51
.. gh-issue: 122234
.. nonce: VxsP_F
.. section: Core and Builtins
Specializations for sums with float and complex inputs in :func:`sum` now
always use compensated summation. Also, for integer items in above
specializations: :c:func:`PyLong_AsDouble` is used, instead of
:c:func:`PyLong_AsLongAndOverflow`. Patch by Sergey B Kirpichev.
..
.. date: 2024-07-23-23-59-04
.. gh-issue: 122208
.. nonce: z8KHsY
.. section: Core and Builtins
Dictionary watchers now only deliver the PyDict_EVENT_ADDED event when the
insertion is in a known good state to succeed.
..
.. date: 2024-07-23-11-57-36
.. gh-issue: 122160
.. nonce: HSnrAP
.. section: Core and Builtins
Remove the ``BUILD_CONST_KEY_MAP`` opcode. Use :opcode:`BUILD_MAP` instead.
..
.. date: 2024-07-21-01-23-54
.. gh-issue: 122029
.. nonce: gKv-e2
.. section: Core and Builtins
Emit ``c_call`` events in :func:`sys.setprofile` when a ``PyMethodObject``
pointing to a ``PyCFunction`` is called.
..
.. date: 2024-07-19-15-28-05
.. gh-issue: 122026
.. nonce: sta2Ca
.. section: Core and Builtins
Fix a bug that caused the tokenizer to not correctly identify mismatched
parentheses inside f-strings in some situations. Patch by Pablo Galindo
..
.. date: 2024-07-19-09-38-01
.. gh-issue: 99108
.. nonce: qzM6gl
.. section: Core and Builtins
Python's hashlib now unconditionally uses the vendored HACL* library for
Blake2. Python no longer accepts libb2 as an optional dependency for Blake2.
We refreshed HACL* to the latest version, and now vendor HACL*'s 128-bit and
256-bit wide vector implementations for Blake2, which are used on x86/x64
toolchains when the required CPU features are available at runtime.
HACL*'s 128-bit wide vector implementation of Blake2 can also run on ARM
NEON and Power8, but lacking evidence of a performance gain, these are not
enabled (yet).
..
.. date: 2024-07-18-21-19-04
.. gh-issue: 121999
.. nonce: 8IBbTK
.. section: Core and Builtins
The default extraction filter for the :mod:`tarfile` module is now set to
:func:`'data' <tarfile.data_filter>`.
..
.. date: 2024-07-16-18-23-22
.. gh-issue: 121860
.. nonce: -FTauD
.. section: Core and Builtins
Fix crash when rematerializing a managed dictionary after it was deleted.
..
.. date: 2024-07-16-15-11-51
.. gh-issue: 121795
.. nonce: xkIHrI
.. section: Core and Builtins
Improve performance of set membership testing, ``set.remove()`` and
``set.discard()`` when the argument is a set.
..
.. date: 2024-07-15-20-41-06
.. gh-issue: 121814
.. nonce: oR2ixR
.. section: Core and Builtins
Fixed the SegFault when :c:func:`PyEval_SetTrace` is used with no Python
frame on stack.
..
.. date: 2024-07-15-20-03-29
.. gh-issue: 121295
.. nonce: w53ucI
.. section: Core and Builtins
Fix PyREPL console getting into a blocked state after interrupting a long
paste
..
.. date: 2024-07-15-16-26-32
.. gh-issue: 121794
.. nonce: fhBtiQ
.. section: Core and Builtins
Fix bug in free-threaded Python where a resurrected object could lead to a
negative ref count assertion failure.
..
.. date: 2024-07-13-12-27-31
.. gh-issue: 121657
.. nonce: wgOYLw
.. section: Core and Builtins
Improve the :exc:`SyntaxError` message if the user tries to use
:keyword:`yield from <yield>` outside a function.
..
.. date: 2024-07-13-09-51-44
.. gh-issue: 121609
.. nonce: jWsE5t
.. section: Core and Builtins
Fix pasting of characters containing unicode character joiners in the new
REPL. Patch by Marta Gomez Macias
..
.. date: 2024-07-12-18-18-44
.. gh-issue: 121297
.. nonce: 67VE7b
.. section: Core and Builtins
Previously, incorrect usage of :keyword:`await` or asynchronous
comprehensions in code removed by the :option:`-O` option was not flagged by
the Python compiler. Now, such code raises :exc:`SyntaxError`. Patch by
Jelle Zijlstra.
..
.. date: 2024-07-10-15-43-54
.. gh-issue: 117482
.. nonce: 5WYaXR
.. section: Core and Builtins
Unexpected slot wrappers are no longer created for builtin static types in
subinterpreters.
..
.. date: 2024-07-10-02-02-32
.. gh-issue: 121562
.. nonce: 8beIMi
.. section: Core and Builtins
Optimized performance of hex_from_char by replacing switch-case with a
lookup table
..
.. date: 2024-07-09-13-53-18
.. gh-issue: 121499
.. nonce: rpp7il
.. section: Core and Builtins
Fix a bug affecting how multi-line history was being rendered in the new
REPL after interacting with the new screen cache. Patch by Pablo Galindo
..
.. date: 2024-07-08-17-15-14
.. gh-issue: 121497
.. nonce: I8hMDC
.. section: Core and Builtins
Fix a bug that was preventing the REPL to correctly respect the history when
an input hook was set. Patch by Pablo Galindo
..
.. date: 2024-07-08-10-31-08
.. gh-issue: 121012
.. nonce: M5hHk-
.. section: Core and Builtins
Tier 2 execution now ensures that list iterators remain exhausted, once they
become exhausted.
..
.. date: 2024-07-08-02-24-55
.. gh-issue: 121439
.. nonce: jDHod3
.. section: Core and Builtins
Allow tuples of length 20 in the freelist to be reused.
..
.. date: 2024-07-05-11-29-27
.. gh-issue: 121288
.. nonce: lYKYYP
.. section: Core and Builtins
:exc:`ValueError` messages for :meth:`!list.index`, :meth:`!range.index`,
:meth:`!deque.index`, :meth:`!deque.remove` and :meth:`!ShareableList.index`
no longer contain the repr of the searched value (which can be arbitrary
large) and are consistent with error messages for other :meth:`!index` and
:meth:`!remove` methods.
..
.. date: 2024-07-04-23-38-30
.. gh-issue: 121368
.. nonce: m3EF9E
.. section: Core and Builtins
Fix race condition in ``_PyType_Lookup`` in the free-threaded build due to a
missing memory fence. This could lead to ``_PyType_Lookup`` returning
incorrect results on arm64.
..
.. date: 2024-06-30-03-48-10
.. gh-issue: 121149
.. nonce: lLBMKe
.. section: Core and Builtins
Added specialization for summation of complexes, this also improves accuracy
of builtin :func:`sum` for such inputs. Patch by Sergey B Kirpichev.
..
.. date: 2024-06-29-10-46-14
.. gh-issue: 121130
.. nonce: Rj66Xs
.. section: Core and Builtins
Fix f-strings with debug expressions in format specifiers. Patch by Pablo
Galindo
..
.. date: 2024-06-28-23-17-22
.. gh-issue: 121381
.. nonce: i2xL7P
.. section: Core and Builtins
Remove ``subprocess._USE_VFORK`` escape hatch code and documentation. It was
added just in case, and doesn't have any known cases that require it.
..
.. date: 2024-06-28-18-34-49
.. gh-issue: 119726
.. nonce: Fjv_Ab
.. section: Core and Builtins
Optimize code layout for calls to C functions from the JIT on AArch64. Patch
by Diego Russo.
..
.. date: 2024-06-28-10-02-58
.. gh-issue: 121115
.. nonce: EeSLfc
.. section: Core and Builtins
:c:func:`PyLong_AsNativeBytes` no longer uses :meth:`~object.__index__`
methods by default. The ``Py_ASNATIVEBYTES_ALLOW_INDEX`` flag has been added
to allow it.
..
.. date: 2024-06-26-14-09-31
.. gh-issue: 120838
.. nonce: nFeTL9
.. section: Core and Builtins
:c:func:`Py_Finalize()` and :c:func:`Py_FinalizeEx()` now always run with
the main interpreter active.
..
.. date: 2024-06-26-13-42-36
.. gh-issue: 113433
.. nonce: xKAtLB
.. section: Core and Builtins
Subinterpreters now get cleaned up automatically during runtime
finalization.
..
.. date: 2024-06-25-16-26-44
.. gh-issue: 119726
.. nonce: WqvHxB
.. section: Core and Builtins
Improve the speed and memory use of C function calls from JIT code on
AArch64. Patch by Diego Russo
..
.. date: 2024-06-24-08-39-23
.. gh-issue: 116017
.. nonce: -Bw2UY
.. section: Core and Builtins
Simplify the warmup mechanism used for "side exits" in JIT code, resulting
in slightly better performance and slightly lower memory usage for most
platforms.
..
.. date: 2024-06-19-21-34-21
.. gh-issue: 98442
.. nonce: cqhjkN
.. section: Core and Builtins
Fix too wide source locations of the cleanup instructions of a with
statement.
..
.. date: 2024-06-19-19-54-35
.. gh-issue: 120754
.. nonce: uF29sj
.. section: Core and Builtins
Reduce the number of system calls invoked when reading a whole file (ex.
``open('a.txt').read()``). For a sample program that reads the contents of
the 400+ ``.rst`` files in the cpython repository ``Doc`` folder, there is
an over 10% reduction in system call count.
..
.. date: 2024-06-19-11-10-50
.. gh-issue: 119462
.. nonce: DpcqSe
.. section: Core and Builtins
Make sure that invariants of type versioning are maintained: * Superclasses
always have their version number assigned before subclasses * The version
tag is always zero if the tag is not valid. * The version tag is always
non-if the tag is valid.
..
.. date: 2024-06-19-01-58-54
.. gh-issue: 120437
.. nonce: nCkIoI
.. section: Core and Builtins
Fix ``_CHECK_STACK_SPACE`` optimization problems introduced in :gh:`118322`.
..
.. date: 2024-06-18-22-41-05
.. gh-issue: 120722
.. nonce: rS7tkE
.. section: Core and Builtins
Correctly set the bytecode position on return instructions within lambdas.
Patch by Jelle Zijlstra.
..
.. date: 2024-06-18-21-34-30
.. gh-issue: 120367
.. nonce: zDwffP
.. section: Core and Builtins
Fix bug where compiler creates a redundant jump during pseudo-op
replacement. Can only happen with a synthetic AST that has a try on the same
line as the instruction following the exception handler.
..
.. date: 2024-06-17-12-20-20
.. gh-issue: 120507
.. nonce: 94lz2J
.. section: Core and Builtins
Remove the ``BEFORE_WITH`` and ``BEFORE_ASYNC_WITH`` instructions. Add the
new :opcode:`LOAD_SPECIAL` instruction. Generate code for ``with`` and
``async with`` statements using the new instruction.
..
.. date: 2024-06-14-22-02-25
.. gh-issue: 113993
.. nonce: MiA0vX
.. section: Core and Builtins
Strings interned with :func:`sys.intern` are again garbage-collected when no
longer used, as per the documentation. Strings interned with the C function
:c:func:`PyUnicode_InternInPlace` are still immortal. Internals of the
string interning mechanism have been changed. This may affect performance
and identities of :class:`str` objects.
..
.. date: 2024-06-14-07-52-00
.. gh-issue: 120485
.. nonce: yy4K4b
.. section: Core and Builtins
Add an override of ``allow_reuse_port`` on classes subclassing
``socketserver.TCPServer`` where ``allow_reuse_address`` is also overridden.
..
.. date: 2024-06-13-12-17-52
.. gh-issue: 120384
.. nonce: w1UBGl
.. section: Core and Builtins
Fix an array out of bounds crash in ``list_ass_subscript``, which could be
invoked via some specifically tailored input: including concurrent
modification of a list object, where one thread assigns a slice and another
clears it.
..
.. date: 2024-06-12-18-50-29
.. gh-issue: 120367
.. nonce: LmXx2y
.. section: Core and Builtins
Fix crash in compiler on code with redundant NOPs and JUMPs which show up
after exception handlers are moved to the end of the code.
..
.. date: 2024-06-12-18-23-15
.. gh-issue: 120380
.. nonce: edtqjq
.. section: Core and Builtins
Fix Python implementation of :class:`pickle.Pickler` for :class:`bytes` and
:class:`bytearray` objects when using protocol version 5. Patch by Bénédikt
Tran.
..
.. date: 2024-06-12-13-47-25
.. gh-issue: 120397
.. nonce: n-I_cc
.. section: Core and Builtins
Improve the throughput by up to two times for the :meth:`str.count`,
:meth:`bytes.count` and :meth:`bytearray.count` methods for counting single
characters.
..
.. date: 2024-06-11-17-56-12
.. gh-issue: 120221
.. nonce: si9hM9
.. section: Core and Builtins
Deliver real signals on Ctrl-C and Ctrl-Z in the new REPL. Patch by Pablo
Galindo
..
.. date: 2024-06-11-12-47-54
.. gh-issue: 120346
.. nonce: hhn_6X
.. section: Core and Builtins
Respect :envvar:`PYTHON_BASIC_REPL` when running in interactive inspect mode
(``python -i``). Patch by Pablo Galindo
..
.. date: 2024-06-10-22-30-26
.. gh-issue: 93691
.. nonce: 68WOTS
.. section: Core and Builtins
Fix source locations of instructions generated for the iterator of a for
statement.
..
.. date: 2024-06-10-15-07-16
.. gh-issue: 120198
.. nonce: WW_pjO
.. section: Core and Builtins
Fix a crash when multiple threads read and write to the same ``__class__``
of an object concurrently.
..
.. date: 2024-06-10-10-42-48
.. gh-issue: 120298
.. nonce: napREA
.. section: Core and Builtins
Fix use-after free in ``list_richcompare_impl`` which can be invoked via
some specifically tailored evil input.
..
.. date: 2024-06-09-19-13-38
.. gh-issue: 119666
.. nonce: S0G4rZ
.. section: Core and Builtins
Fix a compiler crash in the case where two comprehensions in class scope
both reference ``__class__``.
..
.. date: 2024-06-07-22-54-15
.. gh-issue: 119726
.. nonce: D9EE-o
.. section: Core and Builtins
JIT: Re-use trampolines on AArch64 when creating stencils. Patch by Diego
Russo
..
.. date: 2024-06-07-16-09-04
.. gh-issue: 120225
.. nonce: kuYf9t
.. section: Core and Builtins
Fix crash in compiler on empty block at end of exception handler.
..
.. date: 2024-06-05-18-29-18
.. gh-issue: 93691
.. nonce: 6OautB
.. section: Core and Builtins
Fix source locations of instructions generated for with statements.
..
.. date: 2024-06-05-10-32-44
.. gh-issue: 120097
.. nonce: 9S2klk
.. section: Core and Builtins
``FrameLocalsProxy`` now subclasses ``collections.abc.Mapping`` and can be
matched as a mapping in ``match`` statements
..
.. date: 2024-06-05-08-39-40
.. gh-issue: 120080
.. nonce: DJFK11
.. section: Core and Builtins
Direct call to the :meth:`!int.__round__` now accepts ``None`` as a valid
argument.
..
.. date: 2024-06-03-13-48-44
.. gh-issue: 119933
.. nonce: Kc0HG5
.. section: Core and Builtins
Improve :exc:`SyntaxError` messages for invalid expressions in a type
parameters bound, a type parameter constraint tuple or a default type
parameter. Patch by Bénédikt Tran.
..
.. date: 2024-06-03-13-25-04
.. gh-issue: 119724
.. nonce: EH1dkA
.. section: Core and Builtins
Reverted improvements to error messages for ``elif``/``else`` statements not
matching any valid statements, which made in hard to locate the syntax
errors inside those ``elif``/``else`` blocks.
..
.. date: 2024-06-02-06-12-35
.. gh-issue: 119879
.. nonce: Jit951
.. section: Core and Builtins
String search is now slightly faster for certain cases. It now utilizes last
character gap (good suffix rule) for two-way periodic needles.
..
.. date: 2024-05-31-12-06-11
.. gh-issue: 119842
.. nonce: tCGVsv
.. section: Core and Builtins
Honor :c:func:`PyOS_InputHook` in the new REPL. Patch by Pablo Galindo
..
.. date: 2024-05-31-08-23-41
.. gh-issue: 119180
.. nonce: KL4VxZ
.. section: Core and Builtins
:func:`classmethod` and :func:`staticmethod` now wrap the
:attr:`~object.__annotations__` and :attr:`~object.__annotate__` attributes
of their underlying callable lazily. See :pep:`649`. Patch by Jelle
Zijlstra.
..
.. date: 2024-05-30-23-01-00
.. gh-issue: 119821
.. nonce: jPGfvt
.. section: Core and Builtins
Fix execution of :ref:`annotation scopes <annotation-scopes>` within classes
when ``globals`` is set to a non-dict. Patch by Jelle Zijlstra.
..
.. date: 2024-05-30-04-11-36
.. gh-issue: 118934
.. nonce: fbDqve
.. section: Core and Builtins
Make ``PyEval_GetLocals`` return borrowed reference
..
.. date: 2024-05-29-18-53-43
.. gh-issue: 119740
.. nonce: zP2JNM
.. section: Core and Builtins
Remove the previously-deprecated delegation of :func:`int` to
:meth:`~object.__trunc__`.
..
.. date: 2024-05-28-22-49-56
.. gh-issue: 119689
.. nonce: VwLFD5
.. section: Core and Builtins
Generate stack effect metadata for pseudo instructions from bytecodes.c.
..
.. date: 2024-05-27-19-13-49
.. gh-issue: 109218
.. nonce: -sdDg0
.. section: Core and Builtins
:func:`complex` accepts now a string only as a positional argument. Passing
a complex number as the "real" or "imag" argument is deprecated; it should
only be passed as a single positional argument.
..
.. date: 2024-05-25-16-45-27
.. gh-issue: 119548
.. nonce: pqF9Y6
.. section: Core and Builtins
Add a ``clear`` command to the REPL. Patch by Pablo Galindo
..
.. date: 2024-05-25-13-51-48
.. gh-issue: 111999
.. nonce: L0q1gh
.. section: Core and Builtins
Fix the signature of :meth:`str.format_map`.
..
.. date: 2024-05-25-12-52-25
.. gh-issue: 119560
.. nonce: wSlm8q
.. section: Core and Builtins
An invalid assert in beta 1 has been removed. The assert would fail if
``PyState_FindModule()`` was used in an extension module's init function
before the module def had been initialized.
..
.. date: 2024-05-24-21-16-52
.. gh-issue: 119369
.. nonce: qBThho
.. section: Core and Builtins
Fix deadlock during thread deletion in free-threaded build, which could
occur when the GIL was enabled at runtime.
..
.. date: 2024-05-24-21-04-00
.. gh-issue: 119525
.. nonce: zLFLf1
.. section: Core and Builtins
Fix deadlock involving ``_PyType_Lookup()`` cache in the free-threaded build
when the GIL is dynamically enabled at runtime.
..
.. date: 2024-05-23-20-17-37
.. gh-issue: 119258
.. nonce: wZFIpt
.. section: Core and Builtins
Eliminate type version guards in the tier two interpreter.
Note that setting the ``tp_version_tag`` manually (which has never been
supported) may result in crashes.
..
.. date: 2024-05-23-06-34-45
.. gh-issue: 119311
.. nonce: 2DBwKR
.. section: Core and Builtins
Fix bug where names are unexpectedly mangled in the bases of generic
classes.
..
.. date: 2024-05-23-06-34-14
.. gh-issue: 119395
.. nonce: z-Hsqb
.. section: Core and Builtins
Fix bug where names appearing after a generic class are mangled as if they
are in the generic class.
..
.. date: 2024-05-22-12-49-03
.. gh-issue: 119372
.. nonce: PXig1R
.. section: Core and Builtins
Correct invalid corner cases in complex division (resulted in ``(nan+nanj)``
output), e.g. ``1/complex('(inf+infj)')``. Patch by Sergey B Kirpichev.
..
.. date: 2024-05-22-06-22-47
.. gh-issue: 119180
.. nonce: vZMiXm
.. section: Core and Builtins
Evaluation of annotations is now deferred. See :pep:`649` for details.
..
.. date: 2024-05-21-12-17-02
.. gh-issue: 119180
.. nonce: UNDUb9
.. section: Core and Builtins
Replace :opcode:`!LOAD_ASSERTION_ERROR` opcode with
:opcode:`LOAD_COMMON_CONSTANT` and add support for
:exc:`NotImplementedError`.
..
.. date: 2024-05-21-11-27-14
.. gh-issue: 119213
.. nonce: nxjxrt
.. section: Core and Builtins
Non-builtin modules built with argument clinic were crashing if used in a
subinterpreter before the main interpreter. The objects that were causing
the problem by leaking between interpreters carelessly have been fixed.
..
.. date: 2024-05-21-09-46-51
.. gh-issue: 119011
.. nonce: WOe3bu
.. section: Core and Builtins
Fixes ``type.__type_params__`` to return an empty tuple instead of a
descriptor.
..
.. date: 2024-05-20-14-57-39
.. gh-issue: 118692
.. nonce: Qadm7F
.. section: Core and Builtins
Avoid creating unnecessary :exc:`StopIteration` instances for monitoring.
..
.. date: 2024-05-20-10-10-51
.. gh-issue: 119180
.. nonce: 35xqpu
.. section: Core and Builtins
Add an ``__annotate__`` attribute to functions, classes, and modules as part
of :pep:`649`. Patch by Jelle Zijlstra.
..
.. date: 2024-05-16-23-02-03
.. gh-issue: 119049
.. nonce: qpd_S-
.. section: Core and Builtins
Fix displaying the source line for warnings created by the C API if the
:mod:`warnings` module had not yet been imported.
..
.. date: 2024-05-15-12-15-58
.. gh-issue: 119057
.. nonce: P3G9G2
.. section: Core and Builtins
Improve :exc:`ZeroDivisionError` error message. Now, all error messages are
harmonized: all ``/``, ``//``, and ``%`` operations just use "division by
zero" message. And ``0 ** -1`` operation uses "zero to a negative power".
..
.. date: 2024-05-11-21-44-17
.. gh-issue: 118844
.. nonce: q2H_km
.. section: Core and Builtins
Fix build failures when configuring with both ``--disable-gil`` and
``--enable-experimental-jit``.
..
.. date: 2024-05-10-19-54-18
.. gh-issue: 118921
.. nonce: O4ztZG
.. section: Core and Builtins
Add ``copy()`` method for ``FrameLocalsProxy`` which returns a snapshot
``dict`` for local variables.
..
.. date: 2024-05-09-19-47-12
.. gh-issue: 117657
.. nonce: Vn0Yey
.. section: Core and Builtins
Fix data races on the field that stores a pointer to the interpreter's main
thread that occur in free-threaded builds.
..
.. date: 2024-05-09-02-37-25
.. gh-issue: 118750
.. nonce: 7aLfT-
.. section: Core and Builtins
If the C version of the ``decimal`` module is available, ``int(str)`` now
uses it to supply an asymptotically much faster conversion. However, this
only applies if the string contains over about 2 million digits.
..
.. date: 2024-05-08-09-44-15
.. gh-issue: 118767
.. nonce: iFF5F5
.. section: Core and Builtins
Using :data:`NotImplemented` in a boolean context now raises
:exc:`TypeError`. Contributed by Jelle Zijlstra.
..
.. date: 2024-05-07-16-57-56
.. gh-issue: 118561
.. nonce: wNMKVd
.. section: Core and Builtins
Fix race condition in free-threaded build where :meth:`!list.extend` could
expose uninitialised memory to concurrent readers.
..
.. date: 2024-05-01-05-09-16
.. gh-issue: 117139
.. nonce: t41w_D
.. section: Core and Builtins
Convert the Python evaluation stack to use internal stack references. The
purpose is to support tagged pointers. In :pep:`703`, this will allow for
its form of deferred reference counting. For both the default and
free-threaded builds, this sets up the infrastructure for unboxed integers
in the future.
..
.. date: 2024-04-27-18-36-46
.. gh-issue: 115801
.. nonce: SVeHSy
.. section: Core and Builtins
Raise ``TypeError`` when passing a string to :func:`difflib.unified_diff`
and :func:`difflib.context_diff`.
..
.. date: 2024-04-08-13-49-02
.. gh-issue: 117558
.. nonce: 9lSEpR
.. section: Core and Builtins
Improve error messages when a string, bytes or bytearray object of length 1
is expected.
..
.. date: 2024-03-25-15-07-01
.. gh-issue: 117195
.. nonce: OWakgD
.. section: Core and Builtins
Avoid assertion failure for debug builds when calling
``object.__sizeof__(1)``
..
.. date: 2024-03-19-22-21-22
.. gh-issue: 116022
.. nonce: iyHENN
.. section: Core and Builtins
Improve the :meth:`~object.__repr__` output of :class:`~ast.AST` nodes.
..
.. date: 2024-01-15-21-51-26
.. gh-issue: 114091
.. nonce: VOtSJl
.. section: Core and Builtins
Changed the error message for awaiting something that can't be awaited from
"object <type> can't be used in an await expression" to "'<type>' object
can't be awaited".
..
.. date: 2024-01-15-18-11-48
.. gh-issue: 113190
.. nonce: OwQX64
.. section: Core and Builtins
:c:func:`Py_Finalize` now deletes all interned strings.
..
.. date: 2023-10-14-23-05-40
.. gh-issue: 84978
.. nonce: Z0t6dg
.. section: Core and Builtins
Add class methods :meth:`float.from_number` and :meth:`complex.from_number`.
..
.. date: 2022-07-22-15-56-35
.. gh-issue: 95144
.. nonce: FZYWX-
.. section: Core and Builtins
Improve the error message from ``a in b`` when ``b`` is not a container to
mention the term "container".
..
.. bpo: 24766
.. date: 2018-10-09-15-14-53
.. nonce: c_C1Wc
.. section: Core and Builtins
Fix handling of ``doc`` argument to subclasses of ``property``.
..
.. date: 2024-10-03-14-06-08
.. gh-issue: 123961
.. nonce: uwJQTY
.. section: C API
Convert the :ref:`curses.window <curses-window-objects>` static type exposed
by the :c:macro:`!PyCursesWindow_Type` macro in ``Include/py_curses.h`` to a
:ref:`heap type <heap-types>`. Patch by Bénédikt Tran.
..
.. date: 2024-09-25-11-44-02
.. gh-issue: 124502
.. nonce: qWuDjT
.. section: C API
Add :c:func:`PyUnicode_Equal` function to the limited C API: test if two
strings are equal. Patch by Victor Stinner.
..
.. date: 2024-09-24-20-34-21
.. gh-issue: 124296
.. nonce: S4QoS1
.. section: C API
:c:type:`PyDictObject` no longer maintains a private version tag field
``ma_version_tag`` per :pep:`699`. This field was originally added in
Python 3.6 (:pep:`509`) and deprecated in Python 3.12.
..
.. date: 2024-09-18-18-40-30
.. gh-issue: 124160
.. nonce: Zy-VKi
.. section: C API
Fix crash when importing modules containing state and single-phase
initialization in a subinterpreter.
..
.. date: 2024-09-17-05-23-35
.. gh-issue: 124153
.. nonce: L8TWmx
.. section: C API
Add :c:func:`PyType_GetBaseByToken` and :c:data:`Py_tp_token` slot for
easier type checking, related to :pep:`489` and :pep:`630`.
..
.. date: 2024-09-16-16-21-39
.. gh-issue: 124127
.. nonce: LB8DBU
.. section: C API
In the limited C API 3.14 and newer, :c:func:`Py_REFCNT` is now implemented
as an opaque function call to hide implementation details. Patch by Victor
Stinner.
..
.. date: 2024-09-12-16-16-24
.. gh-issue: 123880
.. nonce: 2-8vcj
.. section: C API
Fixed a bug that prevented circular imports of extension modules that use
single-phase initialization.
..
.. date: 2024-09-10-16-54-27
.. gh-issue: 123909
.. nonce: CTGxDR
.. section: C API
:c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` and
:c:func:`PyType_FromModuleAndSpec` will now fail if the metaclass of the new
type has custom :c:member:`~PyTypeObject.tp_new`.
..
.. date: 2024-08-30-14-02-17
.. gh-issue: 107954
.. nonce: TPvj4u
.. section: C API
Add functions to configure the Python initialization (:pep:`741`):
* :c:func:`PyInitConfig_Create`
* :c:func:`PyInitConfig_Free`
* :c:func:`PyInitConfig_GetError`
* :c:func:`PyInitConfig_GetExitCode`
* :c:func:`PyInitConfig_HasOption`
* :c:func:`PyInitConfig_GetInt`
* :c:func:`PyInitConfig_GetStr`
* :c:func:`PyInitConfig_GetStrList`
* :c:func:`PyInitConfig_FreeStrList`
* :c:func:`PyInitConfig_SetInt`
* :c:func:`PyInitConfig_SetStr`
* :c:func:`PyInitConfig_SetStrList`
* :c:func:`PyInitConfig_AddModule`
* :c:func:`Py_InitializeFromInitConfig`
Patch by Victor Stinner.
..
.. date: 2024-08-29-15-55-55
.. gh-issue: 107954
.. nonce: pr2O50
.. section: C API
Add functions to get and set the current runtime Python configuration:
* :c:func:`PyConfig_Get`
* :c:func:`PyConfig_GetInt`
* :c:func:`PyConfig_Set`
* :c:func:`PyConfig_Names`
Patch by Victor Stinner.
..
.. date: 2024-08-29-15-05-19
.. gh-issue: 123465
.. nonce: eqwNWq
.. section: C API
:c:macro:`Py_RELATIVE_OFFSET` is now allowed in :c:type:`PyMemberDef` for
the special offset member ``"__vectorcalloffset__"``, as well as the
discouraged special offset members ``"__dictoffset__"`` and
``"__weaklistoffset__"``
..
.. date: 2024-08-26-13-01-20
.. gh-issue: 100554
.. nonce: 0ku85o
.. section: C API
Added a slot ``Py_tp_vectorcall`` to set
:c:member:`~PyTypeObject.tp_vectorcall` via the :c:func:`PyType_FromSpec`
function family. Limited API extensions can use this feature to provide more
efficient vector call-based implementation of ``__new__`` and ``__init__``.
..
.. date: 2024-08-09-13-12-20
.. gh-issue: 122854
.. nonce: -1OgvU
.. section: C API
Add :c:func:`Py_HashBuffer` to compute and return the hash value of a
buffer. Patch by Antoine Pitrou and Victor Stinner.
..
.. date: 2024-08-06-14-23-11
.. gh-issue: 122728
.. nonce: l-fQ-v
.. section: C API
Fix :c:func:`PyEval_GetLocals` to avoid :exc:`SystemError` ("bad argument to
internal function"). Patch by Victor Stinner.
..
.. date: 2024-07-30-23-48-26
.. gh-issue: 116622
.. nonce: yTTtil
.. section: C API
Make :any:`PyObject_Print` work around a bug in Android and OpenBSD which
prevented it from throwing an exception when trying to write to a read-only
stream.
..
.. date: 2024-07-27-00-28-35
.. gh-issue: 105201
.. nonce: 0-xUWq
.. section: C API
Add :c:func:`PyIter_NextItem` to replace :c:func:`PyIter_Next`, which has an
ambiguous return value. Patch by Irit Katriel and Erlend Aasland.
..
.. date: 2024-07-21-17-40-07
.. gh-issue: 121489
.. nonce: SUMFCr
.. section: C API
Export private :c:func:`!_PyBytes_Join` again.
..
.. date: 2024-07-12-13-40-59
.. gh-issue: 121645
.. nonce: 96QvD3
.. section: C API
Add :c:func:`PyBytes_Join(sep, iterable) <PyBytes_Join>` function, similar
to ``sep.join(iterable)`` in Python. Patch by Victor Stinner.
..
.. date: 2024-07-09-15-55-20
.. gh-issue: 89364
.. nonce: yYYroI
.. section: C API
Export the :c:func:`PySignal_SetWakeupFd` function. Previously, the function
was documented but it couldn't be used in 3rd party code. Patch by Victor
Stinner.
..
.. date: 2024-07-04-15-41-10
.. gh-issue: 113993
.. nonce: cLSiWV
.. section: C API
:c:func:`PyUnicode_InternInPlace` no longer prevents its argument from being
garbage collected.
Several functions that take ``char *`` are now documented as possibly
preventing string objects from being garbage collected; refer to their
documentation for details: :c:func:`PyUnicode_InternFromString`,
:c:func:`PyDict_SetItemString`, :c:func:`PyObject_SetAttrString`,
:c:func:`PyObject_DelAttrString`, :c:func:`PyUnicode_InternFromString`, and
``PyModule_Add*`` convenience functions.
..
.. date: 2024-07-04-13-23-27
.. gh-issue: 113601
.. nonce: K3RLqp
.. section: C API
Removed debug build assertions related to interning strings, which were
falsely triggered by stable ABI extensions.
..
.. date: 2024-07-02-11-03-40
.. gh-issue: 112136
.. nonce: f3fiY8
.. section: C API
Restore the private ``_PyArg_Parser`` structure and the private
``_PyArg_ParseTupleAndKeywordsFast()`` function, previously removed in
Python 3.13 alpha 1. Patch by Victor Stinner.
..
.. date: 2024-06-26-11-29-01
.. gh-issue: 120642
.. nonce: H7P9qK
.. section: C API
Remove the private ``_Py_CODEUNIT`` type from the public C API. The internal
``pycore_code.h`` header should now be used to get this internal type. Patch
by Victor Stinner.
..
.. date: 2024-06-21-16-41-21
.. gh-issue: 120858
.. nonce: Z5_-Mn
.. section: C API
:c:func:`PyDict_Next` no longer locks the dictionary in the free-threaded
build. The locking needs to be done by the caller around the entire
iteration loop.
..
.. date: 2024-06-19-21-27-42
.. gh-issue: 120642
.. nonce: UlKClN
.. section: C API
Remove the following unstable functions:
* ``PyUnstable_Replace_Executor()``
* ``PyUnstable_SetOptimizer()``
* ``PyUnstable_GetOptimizer()``
* ``PyUnstable_GetExecutor()``
* ``PyUnstable_Optimizer_NewCounter()``
* ``PyUnstable_Optimizer_NewUOpOptimizer()``
Patch by Victor Stinner.
..
.. date: 2024-06-19-17-27-22
.. gh-issue: 120389
.. nonce: GSZeHF
.. section: C API
Add new functions to convert C ``<stdint.h>`` numbers from/to Python
:class:`int`:
* :c:func:`PyLong_FromInt32`
* :c:func:`PyLong_FromUInt32`
* :c:func:`PyLong_FromInt64`
* :c:func:`PyLong_FromUInt64`
* :c:func:`PyLong_AsInt32`
* :c:func:`PyLong_AsUInt32`
* :c:func:`PyLong_AsInt64`
* :c:func:`PyLong_AsUInt64`
Patch by Victor Stinner.
..
.. date: 2024-06-16-22-58-47
.. gh-issue: 120600
.. nonce: TJdf0w
.. section: C API
In the limited C API 3.14 and newer, :c:func:`Py_TYPE` is now implemented as
an opaque function call to hide implementation details. Patch by Victor
Stinner.
..
.. date: 2024-06-11-21-38-32
.. gh-issue: 70278
.. nonce: WDE4zM
.. section: C API
:c:func:`PyUnicode_FromFormat` no longer produces the ending ``\ufffd``
character for truncated C string when use precision with ``%s`` and ``%V``.
It now truncates the string before the start of truncated multibyte
sequences.
..
.. date: 2024-06-08-08-33-40
.. gh-issue: 119771
.. nonce: Oip2dL
.. section: C API
Set :data:`errno` in :c:func:`_Py_c_pow` on overflows. Patch by Sergey B
Kirpichev.
..
.. date: 2024-06-07-22-12-30
.. gh-issue: 119182
.. nonce: yt8Ar7
.. section: C API
Add a new :c:type:`PyUnicodeWriter` API to create a Python :class:`str`
object:
* :c:func:`PyUnicodeWriter_Create`.
* :c:func:`PyUnicodeWriter_Discard`.
* :c:func:`PyUnicodeWriter_Finish`.
* :c:func:`PyUnicodeWriter_WriteChar`.
* :c:func:`PyUnicodeWriter_WriteUTF8`.
* :c:func:`PyUnicodeWriter_WriteUCS4`.
* :c:func:`PyUnicodeWriter_WriteWideChar`.
* :c:func:`PyUnicodeWriter_WriteStr`.
* :c:func:`PyUnicodeWriter_WriteRepr`.
* :c:func:`PyUnicodeWriter_WriteSubstring`.
* :c:func:`PyUnicodeWriter_Format`.
* :c:func:`PyUnicodeWriter_DecodeUTF8Stateful`.
Patch by Victor Stinner.
..
.. date: 2024-06-04-10-58-20
.. gh-issue: 119613
.. nonce: qOr9GF
.. section: C API
Soft deprecate the :c:macro:`!Py_MEMCPY` macro: use directly ``memcpy()``
instead. Patch by Victor Stinner.
..
.. date: 2024-05-30-12-51-21
.. gh-issue: 119775
.. nonce: CBq9IG
.. section: C API
Creating :c:data:`immutable types <Py_TPFLAGS_IMMUTABLETYPE>` with mutable
bases was deprecated since 3.12 and now raises a :exc:`TypeError`.
..
.. date: 2024-05-29-21-05-59
.. gh-issue: 119585
.. nonce: Sn7JL3
.. section: C API
Fix crash when a thread state that was created by
:c:func:`PyGILState_Ensure` calls a destructor that during
:c:func:`PyThreadState_Clear` that calls back into
:c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`. This might
occur when in the free-threaded build or when using thread-local variables
whose destructors call :c:func:`PyGILState_Ensure`.
..
.. date: 2024-05-29-09-21-37
.. gh-issue: 119613
.. nonce: J2xfrC
.. section: C API
Macros ``Py_IS_NAN``, ``Py_IS_INFINITY`` and ``Py_IS_FINITE`` are
:term:`soft deprecated`.
..
.. date: 2024-05-22-17-50-48
.. gh-issue: 119336
.. nonce: ff3qnS
.. section: C API
Restore the removed ``_PyLong_NumBits()`` function. It is used by the
pywin32 project. Patch by Ethan Smith
..
.. date: 2024-05-21-19-41-41
.. gh-issue: 119344
.. nonce: QKvzQb
.. section: C API
The critical section API is now public as part of the non-limited C API.
..
.. date: 2024-05-21-18-28-44
.. gh-issue: 119333
.. nonce: OTsYVX
.. section: C API
Add :c:func:`PyContext_AddWatcher` and :c:func:`PyContext_ClearWatcher` APIs
to register callbacks to receive notification on enter and exit of context
objects.
..
.. date: 2024-05-21-11-35-11
.. gh-issue: 119247
.. nonce: U6n6mh
.. section: C API
Added ``Py_BEGIN_CRITICAL_SECTION_SEQUENCE_FAST`` and
``Py_END_CRITICAL_SECTION_SEQUENCE_FAST`` macros to make it possible to use
PySequence_Fast APIs safely when free-threaded, and update str.join to work
without the GIL using them.
..
.. date: 2024-05-20-10-35-22
.. gh-issue: 111389
.. nonce: a6axBk
.. section: C API
Add :c:macro:`PyHASH_MULTIPLIER` constant: prime multiplier used in string
and various other hashes. Patch by Victor Stinner.
..
.. date: 2024-05-10-15-43-14
.. gh-issue: 118771
.. nonce: 5KVglT
.. section: C API
Several C declarations with names that didn't start with the ``Py`` or
``_Py`` prefixes, which were added by mistake in 3.13 alpha and beta
releases, were moved to internal headers.
..
.. date: 2024-05-08-23-14-06
.. gh-issue: 116984
.. nonce: 5sgcDo
.. section: C API
Make mimalloc includes relative to the current file to avoid embedders or
extensions needing to include ``Internal/mimalloc`` if they are already
including internal CPython headers.
..
.. date: 2024-05-08-21-57-50
.. gh-issue: 118789
.. nonce: Ni4UQx
.. section: C API
Add :c:func:`PyUnstable_Object_ClearWeakRefsNoCallbacks`, which clears
weakrefs without calling their callbacks.
..
.. date: 2024-05-08-20-13-00
.. gh-issue: 118789
.. nonce: m88uUa
.. section: C API
Restore ``_PyWeakref_ClearRef`` that was previously removed in Python 3.13
alpha 1.
..
.. date: 2024-04-10-16-48-04
.. gh-issue: 117511
.. nonce: RZtBRK
.. section: C API
Make the :c:type:`PyMutex` public in the non-limited C API.
..
.. date: 2024-03-10-14-55-51
.. gh-issue: 116560
.. nonce: x2mZaO
.. section: C API
Add :c:func:`PyLong_GetSign` function. Patch by Sergey B Kirpichev.
..
.. date: 2022-10-01-09-56-27
.. gh-issue: 97588
.. nonce: Gvg54o
.. section: C API
Fix creating bitfields in :mod:`ctypes` structures and unions. Fields no
longer overlap.
..
.. date: 2022-08-05-19-41-20
.. gh-issue: 87135
.. nonce: SCNBYj
.. section: C API
Attempting to acquire the GIL after runtime finalization has begun in a
different thread now causes the thread to hang rather than terminate, which
avoids potential crashes or memory corruption caused by attempting to
terminate a thread that is running code not specifically designed to support
termination. In most cases this hanging is harmless since the process will
soon exit anyway.
The ``PyThread_exit_thread`` function is now deprecated. Its behavior is
inconsistent across platforms, and it can only be used safely in the
unlikely case that every function in the entire call stack has been designed
to support the platform-dependent termination mechanism. It is recommended
that users of this function change their design to not require thread
termination. In the unlikely case that thread termination is needed and can
be done safely, users may migrate to calling platform-specific APIs such as
``pthread_exit`` (POSIX) or ``_endthreadex`` (Windows) directly.
..
.. bpo: 34008
.. date: 2018-06-30-21-48-16
.. nonce: 2Wjtm0
.. section: C API
Added ``Py_IsInitialized`` to the list of APIs that are safe to call before
the interpreter is initialized, and updated the embedding tests to cover it.
..
.. date: 2024-10-13-21-11-30
.. gh-issue: 125269
.. nonce: BC-fdo
.. section: Build
Fix detection of whether ``-latomic`` is needed when cross-compiling CPython
using the configure script.
..
.. date: 2024-09-23-11-27-25
.. gh-issue: 123990
.. nonce: d6HrYC
.. section: Build
Remove ``WITH_FREELISTS`` macro and ``--without-freelists`` build
configuration
..
.. date: 2024-09-16-09-42-05
.. gh-issue: 124102
.. nonce: Ow254j
.. section: Build
Update internal documentation under PCbuild, so it now correctly states that
Windows requires VS2017 or later and Python 3.10 or later
..
.. date: 2024-09-13-17-48-37
.. gh-issue: 124043
.. nonce: Bruxpq
.. section: Build
Building using :option:`--with-trace-refs` is (temporarily) disallowed when
the GIL is disabled.
..
.. date: 2024-09-04-12-01-43
.. gh-issue: 123418
.. nonce: ynzspB
.. section: Build
Updated Android build to use OpenSSL 3.0.15.
..
.. date: 2024-08-24-19-09-31
.. gh-issue: 123297
.. nonce: fdtXoe
.. section: Build
Propagate the value of ``LDFLAGS`` to ``LDCXXSHARED`` in :mod:`sysconfig`.
Patch by Pablo Galindo
..
.. date: 2024-08-14-19-17-34
.. gh-issue: 121634
.. nonce: eOMfHG
.. section: Build
Allow for specifying the target compile triple for WASI.
..
.. date: 2024-08-12-15-48-49
.. gh-issue: 122578
.. nonce: YJ3xEa
.. section: Build
Use WASI SDK 24 for testing.
..
.. date: 2024-08-07-00-20-18
.. gh-issue: 116622
.. nonce: U9cxHM
.. section: Build
Rename build variable ``MODULE_LDFLAGS`` back to ``LIBPYTHON``, as it's used
by package build systems (e.g. Meson).
..
.. date: 2024-08-02-12-59-15
.. gh-issue: 118943
.. nonce: vZQtET
.. section: Build
Fix an issue where the experimental JIT could be built several times by the
``make regen-all`` target, leading to possible race conditions on heavily
parallelized builds.
..
.. date: 2024-07-19-10-14-31
.. gh-issue: 121996
.. nonce: IEb2sz
.. section: Build
Introduce ./configure --disable-safety and --enable-slower-safety options.
Patch by Donghee Na.
..
.. date: 2024-07-18-07-53-07
.. gh-issue: 120522
.. nonce: dg3o5A
.. section: Build
Added a :option:`--with-app-store-compliance` option to patch out known
issues with macOS/iOS App Store review processes.
..
.. date: 2024-07-16-12-29-54
.. gh-issue: 120371
.. nonce: E7x858
.. section: Build
Support WASI SDK 22 by explicitly skipping functions that are just stubs in
wasi-libc.
..
.. date: 2024-07-14-01-29-47
.. gh-issue: 121731
.. nonce: RMPGP3
.. section: Build
Fix mimalloc compile error on GNU/Hurd
..
.. date: 2024-07-08-14-01-17
.. gh-issue: 121487
.. nonce: ekHmpR
.. section: Build
Fix deprecation warning for ATOMIC_VAR_INIT in mimalloc.
..
.. date: 2024-07-08-01-11-54
.. gh-issue: 121467
.. nonce: 3qWRQj
.. section: Build
Fix a Makefile bug that prevented mimalloc header files from being
installed.
..
.. date: 2024-07-02-20-16-09
.. gh-issue: 121103
.. nonce: TMef9j
.. section: Build
On POSIX systems, excluding macOS framework installs, the lib directory for
the free-threaded build now includes a "t" suffix to avoid conflicts with a
co-located default build installation.
..
.. date: 2024-07-02-12-42-25
.. gh-issue: 120831
.. nonce: i3eIjg
.. section: Build
The default minimum iOS version was increased to 13.0.
..
.. date: 2024-06-27-18-03-20
.. gh-issue: 121082
.. nonce: w3AfRx
.. section: Build
Fix build failure when the developer use ``--enable-pystats`` arguments in
configuration command after #118450.
..
.. date: 2024-06-21-09-24-03
.. gh-issue: 120671
.. nonce: Z8sBQB
.. section: Build
Fix failing configure tests due to a missing space when appending to CFLAGS.
..
.. date: 2024-06-19-21-05-15
.. gh-issue: 120602
.. nonce: UyDARz
.. section: Build
Correctly handle LLVM installs with ``LLVM_VERSION_SUFFIX`` when building
with ``--enable-experimental-jit``.
..
.. date: 2024-06-18-15-32-36
.. gh-issue: 120688
.. nonce: tjIPLD
.. section: Build
On WASI in debug mode, Python is now built with compiler flag ``-O3``
instead of ``-Og``, to support more recursive calls. Patch by Victor
Stinner.
..
.. date: 2024-06-18-15-28-25
.. gh-issue: 118943
.. nonce: aie7nn
.. section: Build
Fix a possible race condition affecting parallel builds configured with
``--enable-experimental-jit``, in which :exc:`FileNotFoundError` could be
caused by another process already moving ``jit_stencils.h.new`` to
``jit_stencils.h``.
..
.. date: 2024-06-11-00-38-05
.. gh-issue: 120326
.. nonce: JHSDF1
.. section: Build
On Windows, fix build error when ``--disable-gil`` and
``--experimental-jit`` options are combined.
..
.. date: 2024-06-09-15-54-22
.. gh-issue: 120291
.. nonce: IpfHzE
.. section: Build
Make the ``python-config`` shell script compatible with non-bash shells.
..
.. date: 2024-06-02-13-23-26
.. gh-issue: 113565
.. nonce: 8xBlId
.. section: Build
Improve :mod:`curses` and :mod:`curses.panel` dependency checks in
:program:`configure`.
..
.. date: 2024-05-29-17-40-50
.. gh-issue: 119729
.. nonce: k0xJ5U
.. section: Build
On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI
flags, which may include debug ("d") and free-threaded ("t"). For example:
* ``python-3.14.pc`` (default, non-debug build) * ``python-3.14d.pc``
(default, debug build) * ``python-3.14t.pc`` (free-threaded build)
..
.. date: 2024-05-22-13-18-02
.. gh-issue: 119400
.. nonce: WEt83v
.. section: Build
``make_ssl_certs``, the script that prepares certificate data for the test
suite, now allows specifying expiration dates.
..
.. date: 2024-05-19-22-54-55
.. gh-issue: 115119
.. nonce: DwMwev
.. section: Build
Fall back to the bundled libmpdec if a system version cannot be found.
..
.. date: 2024-05-17-19-53-27
.. gh-issue: 119132
.. nonce: wepPgM
.. section: Build
Update :data:`sys.version` to identify whether the build is default build or
free-threading build. Patch By Donghee Na.
..
.. date: 2024-05-13-15-57-58
.. gh-issue: 118836
.. nonce: 7yN1iB
.. section: Build
Fix an ``AssertionError`` when building with ``--enable-experimental-jit``
and the compiler emits a ``SHT_NOTE`` section.
..
.. date: 2024-05-11-15-11-30
.. gh-issue: 118943
.. nonce: VI_MnY
.. section: Build
Fix a possible race condition affecting parallel builds configured with
``--enable-experimental-jit``, in which compilation errors could be caused
by an incompletely-generated header file.