.. 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
<typing.runtime_checkable>` 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
:const:`~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``.
