.. date: 2023-03-31-12-22-25 .. gh-issue: 102192 .. nonce: gYxJP_ .. release date: 2023-04-04 .. section: Core and Builtins Deprecated ``_PyErr_ChainExceptions`` in favour of ``_PyErr_ChainExceptions1``. .. .. date: 2023-03-24-02-50-33 .. gh-issue: 89987 .. nonce: oraTzh .. section: Core and Builtins Reduce the number of inline :opcode:`CACHE` entries for :opcode:`BINARY_SUBSCR`. .. .. date: 2023-03-21-00-46-36 .. gh-issue: 102859 .. nonce: PRkGca .. section: Core and Builtins Removed :opcode:`JUMP_IF_FALSE_OR_POP` and :opcode:`JUMP_IF_TRUE_OR_POP` instructions. .. .. date: 2023-03-18-02-36-39 .. gh-issue: 101975 .. nonce: HwMR1d .. section: Core and Builtins Fixed ``stacktop`` value on tracing entries to avoid corruption on garbage collection. .. .. date: 2023-03-17-13-43-34 .. gh-issue: 102778 .. nonce: ANDv8I .. section: Core and Builtins Add :data:`sys.last_exc` and deprecate :data:`sys.last_type`, :data:`sys.last_value` and :data:`sys.last_traceback`, which hold the same information in its legacy form. .. .. date: 2023-03-17-12-09-45 .. gh-issue: 100982 .. nonce: Pf_BI6 .. section: Core and Builtins Replace all occurrences of ``COMPARE_AND_BRANCH`` with :opcode:`COMPARE_OP`. .. .. date: 2023-03-16-17-24-44 .. gh-issue: 102701 .. nonce: iNGVaS .. section: Core and Builtins Fix overflow when creating very large dict. .. .. date: 2023-03-16-14-44-29 .. gh-issue: 102755 .. nonce: j1GxlV .. section: Core and Builtins Add :c:func:`PyErr_DisplayException` which takes just an exception instance, to replace the legacy :c:func:`PyErr_Display` which takes the ``(typ, exc, tb)`` triplet. .. .. date: 2023-03-14-00-11-46 .. gh-issue: 102594 .. nonce: BjU-m2 .. section: Core and Builtins Add note to exception raised in ``PyErr_SetObject`` when normalization fails. .. .. date: 2023-03-09-13-57-35 .. gh-issue: 90997 .. nonce: J-Yhn2 .. section: Core and Builtins Shrink the number of inline :opcode:`CACHE` entries used by :opcode:`LOAD_GLOBAL`. .. .. date: 2023-03-08-08-37-36 .. gh-issue: 102491 .. nonce: SFvvsC .. section: Core and Builtins Improve import time of ``platform`` by removing IronPython version parsing. The IronPython version parsing was not functional (see https://github.com/IronLanguages/ironpython3/issues/1667). .. .. date: 2023-03-06-10-02-22 .. gh-issue: 101291 .. nonce: 0FT2QS .. section: Core and Builtins Rearrage bits in first field (after header) of PyLongObject. * Bits 0 and 1: 1 - sign. I.e. 0 for positive numbers, 1 for zero and 2 for negative numbers. * Bit 2 reserved (probably for the immortal bit) * Bits 3+ the unsigned size. This makes a few operations slightly more efficient, and will enable a more compact and faster 2s-complement representation of most ints in future. .. .. date: 2023-03-04-06-48-34 .. gh-issue: 102397 .. nonce: ACJaOf .. section: Core and Builtins Fix segfault from race condition in signal handling during garbage collection. Patch by Kumar Aditya. .. .. date: 2023-03-03-23-21-16 .. gh-issue: 102406 .. nonce: XLqYO3 .. section: Core and Builtins :mod:`codecs` encoding/decoding errors now get the context information (which operation and which codecs) attached as :pep:`678` notes instead of through chaining a new instance of the exception. .. .. date: 2023-03-02-13-49-21 .. gh-issue: 102281 .. nonce: QCuu2N .. section: Core and Builtins Fix potential nullptr dereference and use of uninitialized memory in fileutils. Patch by Max Bachmann. .. .. date: 2023-02-27-15-48-31 .. gh-issue: 102300 .. nonce: 8o-_Mt .. section: Core and Builtins Reuse operands with refcount of 1 in float specializations of BINARY_OP. .. .. date: 2023-02-26-13-12-55 .. gh-issue: 102213 .. nonce: fTH8X7 .. section: Core and Builtins Fix performance loss when accessing an object's attributes with ``__getattr__`` defined. .. .. date: 2023-02-26-11-43-56 .. gh-issue: 102255 .. nonce: cRnI5x .. section: Core and Builtins Improve build support for the Xbox. Patch by Max Bachmann. .. .. date: 2023-02-21-23-42-39 .. gh-issue: 102027 .. nonce: fQARG0 .. section: Core and Builtins Fix SSE2 and SSE3 detection in ``_blake2`` internal module. Patch by Max Bachmann. .. .. date: 2023-02-21-17-22-06 .. gh-issue: 101865 .. nonce: fwrTOA .. section: Core and Builtins Deprecate ``co_lnotab`` in code objects, schedule it for removal in Python 3.14 .. .. bpo: 1635741 .. date: 2020-07-04-09-04-41 .. nonce: ZsP31Y .. section: Core and Builtins Adapt :mod:`!_pickle` to :pep:`687`. Patch by Mohamed Koubaa and Erlend Aasland. .. .. date: 2023-03-28-15-12-53 .. gh-issue: 103085 .. nonce: DqNehf .. section: Library Pure python :func:`locale.getencoding()` will not warn deprecation. .. .. date: 2023-03-28-05-14-59 .. gh-issue: 103068 .. nonce: YQTmrA .. section: Library It's no longer possible to register conditional breakpoints in :class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao. .. .. date: 2023-03-27-19-21-51 .. gh-issue: 102549 .. nonce: NQ6Nlv .. section: Library Don't ignore exceptions in member type creation. .. .. date: 2023-03-27-15-01-16 .. gh-issue: 103056 .. nonce: -Efh5Q .. section: Library Ensure final ``_generate_next_value_`` is a ``staticmethod``. .. .. date: 2023-03-26-20-54-57 .. gh-issue: 103046 .. nonce: xBlA2l .. section: Library Display current line label correctly in :mod:`dis` when ``show_caches`` is False and ``lasti`` points to a CACHE entry. .. .. date: 2023-03-25-16-57-18 .. gh-issue: 102433 .. nonce: L-7x2Q .. section: Library :func:`isinstance` checks against :func:`runtime-checkable protocols ` now use :func:`inspect.getattr_static` rather than :func:`hasattr` to lookup whether attributes exist. This means that descriptors and :meth:`~object.__getattr__` methods are no longer unexpectedly evaluated during ``isinstance()`` checks against runtime-checkable protocols. However, it may also mean that some objects which used to be considered instances of a runtime-checkable protocol may no longer be considered instances of that protocol on Python 3.12+, and vice versa. Most users are unlikely to be affected by this change. Patch by Alex Waygood. .. .. date: 2023-03-25-02-08-05 .. gh-issue: 103023 .. nonce: Qfn7Hl .. section: Library It's no longer possible to register expressions to display in :class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao. .. .. date: 2023-03-23-13-34-33 .. gh-issue: 102947 .. nonce: cTwcpU .. section: Library Improve traceback when :func:`dataclasses.fields` is called on a non-dataclass. Patch by Alex Waygood .. .. date: 2023-03-22-16-15-18 .. gh-issue: 102780 .. nonce: NEcljy .. section: Library The :class:`asyncio.Timeout` context manager now works reliably even when performing cleanup due to task cancellation. Previously it could raise a :exc:`~asyncio.CancelledError` instead of an :exc:`~asyncio.TimeoutError` in such cases. .. .. date: 2023-03-21-15-17-07 .. gh-issue: 102871 .. nonce: U9mchn .. section: Library Remove support for obsolete browsers from :mod:`webbrowser`. Removed browsers include Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird, and Firefox versions 35 and below. .. .. date: 2023-03-20-12-21-19 .. gh-issue: 102839 .. nonce: RjRi12 .. section: Library Improve performance of :func:`math.log` arguments handling by removing the argument clinic. .. .. date: 2023-03-19-15-30-59 .. gh-issue: 102828 .. nonce: NKClXg .. section: Library Add the ``onexc`` arg to :func:`shutil.rmtree`, which is like ``onerror`` but expects an exception instance rather than an exc_info tuple. Deprecate ``onerror``. .. .. date: 2023-03-18-14-59-21 .. gh-issue: 88965 .. nonce: kA70Km .. section: Library typing: Fix a bug relating to substitution in custom classes generic over a :class:`~typing.ParamSpec`. Previously, if the ``ParamSpec`` was substituted with a parameters list that itself contained a :class:`~typing.TypeVar`, the ``TypeVar`` in the parameters list could not be subsequently substituted. This is now fixed. Patch by Nikita Sobolev. .. .. date: 2023-03-17-19-14-26 .. gh-issue: 76846 .. nonce: KEamjK .. section: Library Fix issue where ``__new__()`` and ``__init__()`` methods of :class:`pathlib.PurePath` and :class:`~pathlib.Path` subclasses were not called in some circumstances. .. .. date: 2023-03-16-16-43-04 .. gh-issue: 78530 .. nonce: Lr8eq_ .. section: Library :func:`asyncio.wait` now accepts generators yielding tasks. Patch by Kumar Aditya. .. .. date: 2023-03-16-08-17-29 .. gh-issue: 102748 .. nonce: WNACpI .. section: Library :func:`asyncio.iscoroutine` now returns ``False`` for generators as :mod:`asyncio` does not support legacy generator-based coroutines. Patch by Kumar Aditya. .. .. date: 2023-03-13-18-27-00 .. gh-issue: 102670 .. nonce: GyoThv .. section: Library Optimized fmean(), correlation(), covariance(), and linear_regression() using the new math.sumprod() function. .. .. date: 2023-03-13-12-05-55 .. gh-issue: 102615 .. nonce: NcA_ZL .. section: Library Typing: Improve the ``repr`` of generic aliases for classes generic over a :class:`~typing.ParamSpec`. (Use square brackets to represent a parameter list.) .. .. date: 2023-03-10-13-51-21 .. gh-issue: 100112 .. nonce: VHh4mw .. section: Library :meth:`asyncio.Task.get_coro` now always returns a coroutine when wrapping an awaitable object. Patch by Kumar Aditya. .. .. date: 2023-03-10-13-21-16 .. gh-issue: 102578 .. nonce: -gujoI .. section: Library Speed up setting or deleting mutable attributes on non-dataclass subclasses of frozen dataclasses. Due to the implementation of ``__setattr__`` and ``__delattr__`` for frozen dataclasses, this previously had a time complexity of ``O(n)``. It now has a time complexity of ``O(1)``. .. .. date: 2023-03-08-23-08-38 .. gh-issue: 102519 .. nonce: wlcsFI .. section: Library Add :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts` functions on Windows for enumerating drives, volumes and mount points .. .. date: 2023-03-04-20-58-29 .. gh-issue: 74468 .. nonce: Ac5Ew_ .. section: Library Attribute name of the extracted :mod:`tarfile` file object now holds filename of itself rather than of the archive it is contained in. Patch by Oleg Iarygin. .. .. date: 2023-03-03-19-53-08 .. gh-issue: 102378 .. nonce: kRdOZc .. section: Library Private helper method ``inspect._signature_strip_non_python_syntax`` will no longer strip ``/`` from the input string. .. .. date: 2023-02-26-17-29-57 .. gh-issue: 79940 .. nonce: SAfmAy .. section: Library Add :func:`inspect.getasyncgenstate` and :func:`inspect.getasyncgenlocals`. Patch by Thomas Krennwallner. .. .. date: 2023-02-21-11-56-16 .. gh-issue: 102103 .. nonce: Dj0WEj .. section: Library Add ``module`` argument to :func:`dataclasses.make_dataclass` and make classes produced by it pickleable. .. .. date: 2023-02-20-16-47-56 .. gh-issue: 102069 .. nonce: FS7f1j .. section: Library Fix ``__weakref__`` descriptor generation for custom dataclasses. .. .. date: 2023-02-19-01-49-46 .. gh-issue: 102038 .. nonce: n3if3D .. section: Library Skip a ``stat`` in :mod:`site` if we have already found a ``pyvenv.cfg`` .. .. date: 2023-02-18-23-03-50 .. gh-issue: 98886 .. nonce: LkKGWv .. section: Library Fix issues when defining dataclasses that have fields with specific underscore names that aren't clearly reserved by :mod:`dataclasses`. .. .. date: 2023-02-09-19-40-41 .. gh-issue: 101673 .. nonce: mX-Ppq .. section: Library Fix a :mod:`pdb` bug where ``ll`` clears the changes to local variables. .. .. date: 2023-01-27-14-51-07 .. gh-issue: 101313 .. nonce: 10AEXh .. section: Library Added -h and --help arguments to the webbrowser CLI .. .. date: 2022-12-20-10-55-14 .. gh-issue: 100372 .. nonce: utfP65 .. section: Library :meth:`ssl.SSLContext.load_verify_locations` no longer incorrectly accepts some cases of trailing data when parsing DER. .. .. date: 2022-12-16-10-27-58 .. gh-issue: 89727 .. nonce: y64ZLM .. section: Library Fix pathlib.Path.walk RecursionError on deep directory trees by rewriting it using iteration instead of recursion. .. .. date: 2022-12-09-11-21-38 .. gh-issue: 100131 .. nonce: v863yR .. section: Library Added an optional ``delete`` keyword argument to :class:`tempfile.TemporaryDirectory`. .. .. date: 2022-11-24-13-23-07 .. gh-issue: 48330 .. nonce: 6uAX9F .. section: Library Added ``--durations`` command line option, showing the N slowest test cases. :class:`unittest.TextTestRunner` and :class:`unittest.TextTestResult` constructors accept a new *durations* keyword argument. Subclasses should take this into account or accept ``**kwargs``. Added :meth:`unittest.TestResult.addDuration` method and :attr:`unittest.TestResult.collectedDurations` attribute. (Contributed by Giampaolo Rodola) .. .. date: 2022-10-10-19-14-51 .. gh-issue: 98169 .. nonce: DBWIxL .. section: Library Fix :func:`dataclasses.astuple` crash when :class:`collections.defaultdict` is present in the attributes. .. .. date: 2022-09-19-08-12-58 .. gh-issue: 96931 .. nonce: x0WQhh .. section: Library Fix incorrect results from :meth:`ssl.SSLSocket.shared_ciphers` .. .. date: 2022-07-30-23-01-43 .. gh-issue: 95495 .. nonce: RA-q1d .. section: Library When built against OpenSSL 3.0, the :mod:`ssl` module had a bug where it reported unauthenticated EOFs (i.e. without close_notify) as a clean TLS-level EOF. It now raises :exc:`~ssl.SSLEOFError`, matching the behavior in previous versions of OpenSSL. The :attr:`~ssl.SSLContext.options` attribute on :class:`~ssl.SSLContext` also no longer includes :data:`~ssl.OP_IGNORE_UNEXPECTED_EOF` by default. This option may be set to specify the previous OpenSSL 3.0 behavior. .. .. date: 2022-07-09-13-07-30 .. gh-issue: 94684 .. nonce: nV5yno .. section: Library Now :func:`uuid.uuid3` and :func:`uuid.uuid5` functions support :class:`bytes` objects as their *name* argument. .. .. date: 2022-06-30-21-28-41 .. gh-issue: 94440 .. nonce: LtgX0d .. section: Library Fix a :mod:`concurrent.futures.process` bug where ``ProcessPoolExecutor`` shutdown could hang after a future has been quickly submitted and canceled. .. .. date: 2022-04-11-18-34-33 .. gh-issue: 72346 .. nonce: pC7gnM .. section: Library Added deprecation warning to *isdst* parameter of :func:`email.utils.localtime`. .. .. bpo: 36305 .. date: 2019-03-15-22-50-27 .. nonce: Pbkv6u .. section: Library Fix handling of Windows filenames that resemble drives, such as ``./a:b``, in :mod:`pathlib`. .. .. date: 2023-03-29-14-51-39 .. gh-issue: 103112 .. nonce: XgGSEO .. section: Documentation Add docstring to :meth:`http.client.HTTPResponse.read` to fix ``pydoc`` output. .. .. date: 2023-03-23-23-25-18 .. gh-issue: 102980 .. nonce: Zps4QF .. section: Tests Improve test coverage on :mod:`pdb`. .. .. date: 2023-03-08-13-54-20 .. gh-issue: 102537 .. nonce: Vfplpb .. section: Tests Adjust the error handling strategy in ``test_zoneinfo.TzPathTest.python_tzpath_context``. Patch by Paul Ganssle. .. .. date: 2023-01-27-18-10-40 .. gh-issue: 101377 .. nonce: IJGpqh .. section: Tests Improved test_locale_calendar_formatweekday of calendar. .. .. date: 2023-03-23-20-58-56 .. gh-issue: 102973 .. nonce: EaJUrw .. section: Build Add a dev container (along with accompanying Dockerfile) for development purposes. .. .. date: 2023-03-15-02-03-39 .. gh-issue: 102711 .. nonce: zTkjts .. section: Build Fix ``-Wstrict-prototypes`` compiler warnings. .. .. date: 2023-03-14-10-52-43 .. gh-issue: 102690 .. nonce: sbXtqk .. section: Windows Update :mod:`webbrowser` to fall back to Microsoft Edge instead of Internet Explorer. .. .. date: 2023-02-22-17-26-10 .. gh-issue: 99726 .. nonce: 76t957 .. section: Windows Improves correctness of stat results for Windows, and uses faster API when available .. .. date: 2023-03-21-01-27-07 .. gh-issue: 102809 .. nonce: 2F1Byz .. section: Tools/Demos ``Misc/gdbinit`` was removed. .. .. date: 2023-02-18-00-55-14 .. gh-issue: 102013 .. nonce: 83mrtI .. section: C API Add a new (unstable) C-API function for iterating over GC'able objects using a callback: ``PyUnstable_VisitObjects``.