.. 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 and Seth Larson . Reported by Ellie .. .. 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 `. 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 ` 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 ` 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 ` 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 ` 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() `. .. .. date: 2024-07-15-19-25-25 .. gh-issue: 121798 .. nonce: GmuBDu .. section: Library Add alternative :class:`~decimal.Decimal` constructor :meth:`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__ ` 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 ` :func:`os.popen` and :func:`os.spawn* ` 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() ` 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() `. 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 `_, 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 ` 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 ````, ````, and ```` 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 ```` and ```` 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 ` 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' `. .. .. 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 ` 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 ` 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 can't be used in an await expression" to "'' 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 ` static type exposed by the :c:macro:`!PyCursesWindow_Type` macro in ``Include/py_curses.h`` to a :ref:`heap type `. 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) ` 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 ```` 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 ` 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.