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