| .. date: 2025-10-06-23-56-36 |
| .. gh-issue: 124111 |
| .. nonce: KOlBvs |
| .. release date: 2025-10-07 |
| .. section: macOS |
| |
| Update macOS installer to use Tcl/Tk 8.6.17. |
| |
| .. |
| |
| .. date: 2025-10-04-12-29-31 |
| .. gh-issue: 139573 |
| .. nonce: vVpHaP |
| .. section: macOS |
| |
| Updated bundled version of OpenSSL to 3.0.18. |
| |
| .. |
| |
| .. 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-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-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-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-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-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-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-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 ``_interpreters.create`` when the process is out of |
| memory. |
| |
| .. |
| |
| .. 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-16-19-05-29 |
| .. gh-issue: 138998 |
| .. nonce: URl0Y_ |
| .. section: Library |
| |
| Update bundled libexpat to 2.7.2 |
| |
| .. |
| |
| .. 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-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-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-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-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-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-10-04-28 |
| .. gh-issue: 60462 |
| .. nonce: yh_vDc |
| .. section: Library |
| |
| Fix :func:`locale.strxfrm` on Solaris (and possibly other platforms). |
| |
| .. |
| |
| .. 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-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-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-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-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-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-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-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-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-10-21-00-48 |
| .. gh-issue: 126631 |
| .. nonce: eITVJd |
| .. section: Library |
| |
| Fix :mod:`multiprocessing` ``forkserver`` bug which prevented ``__main__`` |
| from being preloaded. |
| |
| .. |
| |
| .. date: 2024-08-17-08-17-20 |
| .. gh-issue: 123085 |
| .. nonce: 7Io2yH |
| .. section: Library |
| |
| In a bare call to :func:`importlib.resources.files`, ensure the caller's |
| frame is properly detected when ``importlib.resources`` is itself available |
| as a compiled module only (no source). |
| |
| .. |
| |
| .. date: 2024-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-02-13-20-34-52 |
| .. gh-issue: 78319 |
| .. nonce: V1zzed |
| .. section: Library |
| |
| UTF8 support for the IMAP APPEND command has been made RFC compliant. |
| |
| .. |
| |
| .. 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: 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. |
| |
| .. |
| |
| .. 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-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-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-04-11-52-23 |
| .. gh-issue: 134163 |
| .. nonce: EqKyn8 |
| .. section: Core and Builtins |
| |
| Fix a hang when the process is out of memory inside an exception handler. |
| |
| .. |
| |
| .. 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-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-04-20-10-37-39 |
| .. gh-issue: 132744 |
| .. nonce: ArrCp8 |
| .. section: Core and Builtins |
| |
| Certain calls now check for runaway recursion and respect the system |
| recursion limit. |
| |
| .. |
| |
| .. date: 2022-08-05-19-41-20 |
| .. gh-issue: 87135 |
| .. nonce: SCNBYj |
| .. section: C API |
| |
| Attempting to acquire the GIL after runtime finalization has begun in a |
| different thread now causes the thread to hang rather than terminate, which |
| avoids potential crashes or memory corruption caused by attempting to |
| terminate a thread that is running code not specifically designed to support |
| termination. In most cases this hanging is harmless since the process will |
| soon exit anyway. |
| |
| While not officially marked deprecated until 3.14, ``PyThread_exit_thread`` |
| is no longer called internally and remains solely for interface |
| compatibility. Its behavior is inconsistent across platforms, and it can |
| only be used safely in the unlikely case that every function in the entire |
| call stack has been designed to support the platform-dependent termination |
| mechanism. It is recommended that users of this function change their |
| design to not require thread termination. In the unlikely case that thread |
| termination is needed and can be done safely, users may migrate to calling |
| platform-specific APIs such as ``pthread_exit`` (POSIX) or ``_endthreadex`` |
| (Windows) directly. |
| |
| .. |
| |
| .. date: 2025-08-20-16-45-34 |
| .. gh-issue: 135734 |
| .. nonce: 2hvJCe |
| .. section: Build |
| |
| Python can correctly be configured and built with ``./configure |
| --enable-optimizations --disable-test-modules``. Previously, the profile |
| data generation step failed due to PGO tests where immortalization couldn't |
| be properly suppressed. Patch by Bénédikt Tran. |