Misc/NEWS.d/3.12.0a7.rst
.. 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: Library
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: Build
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: Library
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.