mirror of https://github.com/python/cpython
987 lines
21 KiB
ReStructuredText
987 lines
21 KiB
ReStructuredText
|
.. bpo: 45773
|
||
|
.. date: 2022-02-01-14-30-56
|
||
|
.. nonce: Up77LD
|
||
|
.. release date: 2022-02-03
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Remove two invalid "peephole" optimizations from the bytecode compiler.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46564
|
||
|
.. date: 2022-02-01-10-23-21
|
||
|
.. nonce: 6Xc2_H
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Do not create frame objects when creating :class:`super` object. Patch by
|
||
|
Kumar Aditya.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45885
|
||
|
.. date: 2022-02-01-01-17-28
|
||
|
.. nonce: CjyNf_
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Added more fined-grained specialization failure stats regarding the
|
||
|
``COMPARE_OP`` bytecode.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 44977
|
||
|
.. date: 2022-01-30-18-23-08
|
||
|
.. nonce: BQV_zS
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
The delegation of :func:`int` to :meth:`__trunc__` is now deprecated.
|
||
|
Calling ``int(a)`` when ``type(a)`` implements :meth:`__trunc__` but not
|
||
|
:meth:`__int__` or :meth:`__index__` now raises a :exc:`DeprecationWarning`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46458
|
||
|
.. date: 2022-01-27-10-49-34
|
||
|
.. nonce: 5Gm3Gv
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Reorder code emitted by the compiler for a :keyword:`try`-:keyword:`except`
|
||
|
block so that the :keyword:`else` block's code immediately follows the
|
||
|
:keyword:`try` body (without a jump). This is more optimal for the happy
|
||
|
path.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46527
|
||
|
.. date: 2022-01-25-19-34-55
|
||
|
.. nonce: mQLNPk
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Allow passing ``iterable`` as a keyword argument to :func:`enumerate` again.
|
||
|
Patch by Jelle Zijlstra.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46528
|
||
|
.. date: 2022-01-25-17-40-07
|
||
|
.. nonce: 2Qmni9
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Replace several stack manipulation instructions (``DUP_TOP``,
|
||
|
``DUP_TOP_TWO``, ``ROT_TWO``, ``ROT_THREE``, ``ROT_FOUR``, and ``ROT_N``)
|
||
|
with new :opcode:`COPY` and :opcode:`SWAP` instructions.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46329
|
||
|
.. date: 2022-01-25-11-44-17
|
||
|
.. nonce: SEhynE
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Use two or three bytecodes to implement most calls.
|
||
|
|
||
|
Calls without named arguments are implemented as a sequence of two
|
||
|
instructions: ``PRECALL; CALL``. Calls with named arguments are implemented
|
||
|
as a sequence of three instructions: ``PRECALL; KW_NAMES; CALL``. There are
|
||
|
two different ``PRECALL`` instructions: ``PRECALL_FUNTION`` and
|
||
|
``PRECALL_METHOD``. The latter pairs with ``LOAD_METHOD``.
|
||
|
|
||
|
This partition into pre-call and call allows better specialization, and thus
|
||
|
better performance ultimately.
|
||
|
|
||
|
There is no change in semantics.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46503
|
||
|
.. date: 2022-01-24-21-24-41
|
||
|
.. nonce: 4UrPsE
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fix an assert when parsing some invalid \N escape sequences in f-strings.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46431
|
||
|
.. date: 2022-01-24-16-58-01
|
||
|
.. nonce: N6mKAx
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Improve error message on invalid calls to
|
||
|
:meth:`BaseExceptionGroup.__new__`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46476
|
||
|
.. date: 2022-01-24-15-39-34
|
||
|
.. nonce: cvP1Mr
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fix memory leak in code objects generated by deepfreeze. Patch by Kumar
|
||
|
Aditya.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46481
|
||
|
.. date: 2022-01-23-06-56-33
|
||
|
.. nonce: X_FfnB
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Speed up calls to :meth:`weakref.ref.__call__` by using the :pep:`590`
|
||
|
``vectorcall`` calling convention. Patch by Dong-hee Na.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46417
|
||
|
.. date: 2022-01-22-14-39-23
|
||
|
.. nonce: 3U5SfN
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fix a race condition on setting a type ``__bases__`` attribute: the internal
|
||
|
function ``add_subclass()`` now gets the ``PyTypeObject.tp_subclasses``
|
||
|
member after calling :c:func:`PyWeakref_NewRef` which can trigger a garbage
|
||
|
collection which can indirectly modify ``PyTypeObject.tp_subclasses``. Patch
|
||
|
by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46417
|
||
|
.. date: 2022-01-21-12-24-14
|
||
|
.. nonce: i3IqMf
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
``python -X showrefcount`` now shows the total reference count after
|
||
|
clearing and destroyed the main Python interpreter. Previously, it was shown
|
||
|
before. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43683
|
||
|
.. date: 2022-01-20-17-13-49
|
||
|
.. nonce: BqQ26Z
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Add ASYNC_GEN_WRAP opcode to wrap the value to be yielded in async
|
||
|
generators. Removes the need to special case async generators in the
|
||
|
``YIELD_VALUE`` instruction.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46407
|
||
|
.. date: 2022-01-17-23-12-01
|
||
|
.. nonce: 2_5a7R
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Optimize some modulo operations in ``Objects/longobject.c``. Patch by
|
||
|
Jeremiah Vivian.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46409
|
||
|
.. date: 2022-01-17-12-57-27
|
||
|
.. nonce: HouS6m
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Add new ``RETURN_GENERATOR`` bytecode to make generators. Simplifies calling
|
||
|
Python functions in the VM, as they no longer any need to special case
|
||
|
generator functions.
|
||
|
|
||
|
Also add ``JUMP_NO_INTERRUPT`` bytecode that acts like ``JUMP_ABSOLUTE``,
|
||
|
but does not check for interrupts.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46406
|
||
|
.. date: 2022-01-16-15-40-11
|
||
|
.. nonce: g0mke-
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
The integer division ``//`` implementation has been optimized to better let
|
||
|
the compiler understand its constraints. It can be 20% faster on the amd64
|
||
|
platform when dividing an int by a value smaller than ``2**30``.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46383
|
||
|
.. date: 2022-01-14-20-55-34
|
||
|
.. nonce: v8MTl4
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fix invalid signature of ``_zoneinfo``'s ``module_free`` function to resolve
|
||
|
a crash on wasm32-emscripten platform.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46361
|
||
|
.. date: 2022-01-12-17-15-17
|
||
|
.. nonce: mgI_j_
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Ensure that "small" integers created by :meth:`int.from_bytes` and
|
||
|
:class:`decimal.Decimal` are properly cached.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46161
|
||
|
.. date: 2021-12-23-12-32-45
|
||
|
.. nonce: EljBmu
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fix the class building error when the arguments are constants and
|
||
|
CALL_FUNCTION_EX is used.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46028
|
||
|
.. date: 2021-12-16-15-04-58
|
||
|
.. nonce: zfWacB
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Fixes calculation of :data:`sys._base_executable` when inside a virtual
|
||
|
environment that uses symlinks with different binary names than the base
|
||
|
environment provides.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46091
|
||
|
.. date: 2021-12-16-00-24-00
|
||
|
.. nonce: rJ_e_e
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Correctly calculate indentation levels for lines with whitespace character
|
||
|
that are ended by line continuation characters. Patch by Pablo Galindo
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 30512
|
||
|
.. date: 2021-12-12-00-49-19
|
||
|
.. nonce: nU9E9V
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Add CAN Socket support for NetBSD.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46045
|
||
|
.. date: 2021-12-11-11-36-48
|
||
|
.. nonce: sfThay
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Do not use POSIX semaphores on NetBSD
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 44024
|
||
|
.. date: 2021-05-04-21-55-49
|
||
|
.. nonce: M9m8Qd
|
||
|
.. section: Core and Builtins
|
||
|
|
||
|
Improve the exc:`TypeError` message for non-string second arguments passed
|
||
|
to the built-in functions :func:`getattr` and :func:`hasattr`. Patch by Géry
|
||
|
Ogam.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46624
|
||
|
.. date: 2022-02-03-12-07-41
|
||
|
.. nonce: f_Qqh0
|
||
|
.. section: Library
|
||
|
|
||
|
Restore support for non-integer arguments of :func:`random.randrange` and
|
||
|
:func:`random.randint`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46591
|
||
|
.. date: 2022-01-31-15-40-38
|
||
|
.. nonce: prBD1M
|
||
|
.. section: Library
|
||
|
|
||
|
Make the IDLE doc URL on the About IDLE dialog clickable.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46565
|
||
|
.. date: 2022-01-28-19-48-31
|
||
|
.. nonce: bpZXO4
|
||
|
.. section: Library
|
||
|
|
||
|
Remove loop variables that are leaking into modules' namespaces.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46553
|
||
|
.. date: 2022-01-28-08-47-53
|
||
|
.. nonce: f7Uc96
|
||
|
.. section: Library
|
||
|
|
||
|
In :func:`typing.get_type_hints`, support evaluating bare stringified
|
||
|
``ClassVar`` annotations. Patch by Gregory Beauregard.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46544
|
||
|
.. date: 2022-01-27-13-30-02
|
||
|
.. nonce: oFDVWj
|
||
|
.. section: Library
|
||
|
|
||
|
Don't leak ``x`` & ``uspace`` intermediate vars in
|
||
|
:class:`textwrap.TextWrapper`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46487
|
||
|
.. date: 2022-01-27-12-24-38
|
||
|
.. nonce: UDkN2z
|
||
|
.. section: Library
|
||
|
|
||
|
Add the ``get_write_buffer_limits`` method to
|
||
|
:class:`asyncio.transports.WriteTransport` and to the SSL transport.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45173
|
||
|
.. date: 2022-01-27-11-16-59
|
||
|
.. nonce: wreRF2
|
||
|
.. section: Library
|
||
|
|
||
|
Note the configparser deprecations will be removed in Python 3.12.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45162
|
||
|
.. date: 2022-01-26-23-58-48
|
||
|
.. nonce: 4Jmg_j
|
||
|
.. section: Library
|
||
|
|
||
|
The deprecated :mod:`unittest` APIs removed in 3.11a1 have been temporarily
|
||
|
restored to be removed in 3.12 while cleanups in external projects go in.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46539
|
||
|
.. date: 2022-01-26-20-36-30
|
||
|
.. nonce: 23iW1d
|
||
|
.. section: Library
|
||
|
|
||
|
In :func:`typing.get_type_hints`, support evaluating stringified
|
||
|
``ClassVar`` and ``Final`` annotations inside ``Annotated``. Patch by
|
||
|
Gregory Beauregard.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46510
|
||
|
.. date: 2022-01-25-10-59-41
|
||
|
.. nonce: PM5svI
|
||
|
.. section: Library
|
||
|
|
||
|
Add missing test for :class:`types.TracebackType` and
|
||
|
:class:`types.FrameType`. Calculate them directly from the caught exception
|
||
|
without calling :func:`sys.exc_info`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46491
|
||
|
.. date: 2022-01-24-23-55-30
|
||
|
.. nonce: jmIKHo
|
||
|
.. section: Library
|
||
|
|
||
|
Allow :data:`typing.Annotated` to wrap :data:`typing.Final` and
|
||
|
:data:`typing.ClassVar`. Patch by Gregory Beauregard.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46483
|
||
|
.. date: 2022-01-24-13-00-09
|
||
|
.. nonce: 9XnmKp
|
||
|
.. section: Library
|
||
|
|
||
|
Remove :meth:`~object.__class_getitem__` from :class:`pathlib.PurePath` as
|
||
|
this class was not supposed to be generic.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46436
|
||
|
.. date: 2022-01-23-19-37-00
|
||
|
.. nonce: Biz1p9
|
||
|
.. section: Library
|
||
|
|
||
|
Fix command-line option ``-d``/``--directory`` in module :mod:`http.server`
|
||
|
which is ignored when combined with command-line option ``--cgi``. Patch by
|
||
|
Géry Ogam.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 41403
|
||
|
.. date: 2022-01-23-18-04-45
|
||
|
.. nonce: SgoHqV
|
||
|
.. section: Library
|
||
|
|
||
|
Make :meth:`mock.patch` raise a :exc:`TypeError` with a relevant error
|
||
|
message on invalid arg. Previously it allowed a cryptic
|
||
|
:exc:`AttributeError` to escape.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46474
|
||
|
.. date: 2022-01-22-14-49-10
|
||
|
.. nonce: eKQhvx
|
||
|
.. section: Library
|
||
|
|
||
|
In ``importlib.metadata.EntryPoint.pattern``, avoid potential REDoS by
|
||
|
limiting ambiguity in consecutive whitespace.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46474
|
||
|
.. date: 2022-01-22-14-45-46
|
||
|
.. nonce: 2DUC62
|
||
|
.. section: Library
|
||
|
|
||
|
Removed private method from ``importlib.metadata.Path``. Sync with
|
||
|
importlib_metadata 4.10.0.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46470
|
||
|
.. date: 2022-01-22-13-17-35
|
||
|
.. nonce: MnNhgU
|
||
|
.. section: Library
|
||
|
|
||
|
Remove unused branch from ``typing._remove_dups_flatten``
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46469
|
||
|
.. date: 2022-01-22-05-05-08
|
||
|
.. nonce: plUab5
|
||
|
.. section: Library
|
||
|
|
||
|
:mod:`asyncio` generic classes now return :class:`types.GenericAlias` in
|
||
|
``__class_getitem__`` instead of the same class.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 41906
|
||
|
.. date: 2022-01-21-18-19-45
|
||
|
.. nonce: YBaquj
|
||
|
.. section: Library
|
||
|
|
||
|
Support passing filter instances in the ``filters`` values of ``handlers``
|
||
|
and ``loggers`` in the dictionary passed to
|
||
|
:func:`logging.config.dictConfig`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46422
|
||
|
.. date: 2022-01-20-10-35-50
|
||
|
.. nonce: 1UAEHL
|
||
|
.. section: Library
|
||
|
|
||
|
Use ``dis.Positions`` in ``dis.Instruction`` instead of a regular ``tuple``.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46434
|
||
|
.. date: 2022-01-20-10-35-10
|
||
|
.. nonce: geS-aP
|
||
|
.. section: Library
|
||
|
|
||
|
:mod:`pdb` now gracefully handles ``help`` when :attr:`__doc__` is missing,
|
||
|
for example when run with pregenerated optimized ``.pyc`` files.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43869
|
||
|
.. date: 2022-01-18-17-24-21
|
||
|
.. nonce: NayN12
|
||
|
.. section: Library
|
||
|
|
||
|
Python uses the same time Epoch on all platforms. Add an explicit unit test
|
||
|
to ensure that it's the case. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46414
|
||
|
.. date: 2022-01-17-10-00-02
|
||
|
.. nonce: Ld0b_y
|
||
|
.. section: Library
|
||
|
|
||
|
Add :func:`typing.reveal_type`. Patch by Jelle Zijlstra.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40280
|
||
|
.. date: 2022-01-16-14-07-14
|
||
|
.. nonce: LtFHfF
|
||
|
.. section: Library
|
||
|
|
||
|
:mod:`subprocess` now imports Windows-specific imports when ``msvcrt``
|
||
|
module is available, and POSIX-specific imports on all other platforms. This
|
||
|
gives a clean exception when ``_posixsubprocess`` is not available (e.g.
|
||
|
Emscripten browser target).
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40066
|
||
|
.. date: 2022-01-13-11-41-24
|
||
|
.. nonce: 1QuVli
|
||
|
.. section: Library
|
||
|
|
||
|
``IntEnum``, ``IntFlag``, and ``StrEnum`` use the mixed-in type for their
|
||
|
``str()`` and ``format()`` output.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46316
|
||
|
.. date: 2022-01-09-15-04-56
|
||
|
.. nonce: AMTyd0
|
||
|
.. section: Library
|
||
|
|
||
|
Optimize :meth:`pathlib.Path.iterdir` by removing an unnecessary check for
|
||
|
special entries.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 29688
|
||
|
.. date: 2022-01-05-03-21-21
|
||
|
.. nonce: W06bSH
|
||
|
.. section: Library
|
||
|
|
||
|
Document :meth:`pathlib.Path.absolute` (which has always existed).
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43012
|
||
|
.. date: 2022-01-05-03-09-29
|
||
|
.. nonce: RVhLIL
|
||
|
.. section: Library
|
||
|
|
||
|
The pathlib module's obsolete and internal ``_Accessor`` class has been
|
||
|
removed to prepare the terrain for upcoming enhancements to the module.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46258
|
||
|
.. date: 2022-01-04-18-05-25
|
||
|
.. nonce: DYgwRo
|
||
|
.. section: Library
|
||
|
|
||
|
Speed up :func:`math.isqrt` for small positive integers by replacing two
|
||
|
division steps with a lookup table.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46242
|
||
|
.. date: 2022-01-03-16-25-06
|
||
|
.. nonce: f4l_CL
|
||
|
.. section: Library
|
||
|
|
||
|
Improve error message when creating a new :class:`enum.Enum` type
|
||
|
subclassing an existing ``Enum`` with ``_member_names_`` using
|
||
|
:meth:`enum.Enum.__call__`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43118
|
||
|
.. date: 2021-12-29-14-42-09
|
||
|
.. nonce: BoVi_5
|
||
|
.. section: Library
|
||
|
|
||
|
Fix a bug in :func:`inspect.signature` that was causing it to fail on some
|
||
|
subclasses of classes with a ``__text_signature__`` referencing module
|
||
|
globals. Patch by Weipeng Hong.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 26552
|
||
|
.. date: 2021-12-29-13-42-55
|
||
|
.. nonce: 1BqeAn
|
||
|
.. section: Library
|
||
|
|
||
|
Fixed case where failing :func:`asyncio.ensure_future` did not close the
|
||
|
coroutine. Patch by Kumar Aditya.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 21987
|
||
|
.. date: 2021-12-28-11-55-10
|
||
|
.. nonce: avBK-p
|
||
|
.. section: Library
|
||
|
|
||
|
Fix an issue with :meth:`tarfile.TarFile.getmember` getting a directory name
|
||
|
with a trailing slash.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46124
|
||
|
.. date: 2021-12-18-18-41-30
|
||
|
.. nonce: ESPrb7
|
||
|
.. section: Library
|
||
|
|
||
|
Update :mod:`zoneinfo` to rely on importlib.resources traversable API.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46103
|
||
|
.. date: 2021-12-16-23-42-54
|
||
|
.. nonce: LMnZAN
|
||
|
.. section: Library
|
||
|
|
||
|
Now :func:`inspect.getmembers` only gets :attr:`__bases__` attribute from
|
||
|
class type. Patch by Weipeng Hong.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46080
|
||
|
.. date: 2021-12-15-06-29-00
|
||
|
.. nonce: AuQpLt
|
||
|
.. section: Library
|
||
|
|
||
|
Fix exception in argparse help text generation if a
|
||
|
:class:`argparse.BooleanOptionalAction` argument's default is
|
||
|
``argparse.SUPPRESS`` and it has ``help`` specified. Patch by Felix
|
||
|
Fontein.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 44791
|
||
|
.. date: 2021-07-31-23-18-50
|
||
|
.. nonce: 4jFdpO
|
||
|
.. section: Library
|
||
|
|
||
|
Fix substitution of :class:`~typing.ParamSpec` in
|
||
|
:data:`~typing.Concatenate` with different parameter expressions.
|
||
|
Substitution with a list of types returns now a tuple of types. Substitution
|
||
|
with ``Concatenate`` returns now a ``Concatenate`` with concatenated lists
|
||
|
of arguments.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46463
|
||
|
.. date: 2022-01-21-21-33-48
|
||
|
.. nonce: fBbdTG
|
||
|
.. section: Documentation
|
||
|
|
||
|
Fixes :file:`escape4chm.py` script used when building the CHM documentation
|
||
|
file
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43478
|
||
|
.. date: 2022-02-03-00-21-32
|
||
|
.. nonce: 0nfcam
|
||
|
.. section: Tests
|
||
|
|
||
|
Mocks can no longer be provided as the specs for other Mocks. As a result,
|
||
|
an already-mocked object cannot be passed to `mock.Mock()`. This can uncover
|
||
|
bugs in tests since these Mock-derived Mocks will always pass certain tests
|
||
|
(e.g. isinstance) and builtin assert functions (e.g.
|
||
|
assert_called_once_with) will unconditionally pass.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46616
|
||
|
.. date: 2022-02-02-18-14-38
|
||
|
.. nonce: URvBtE
|
||
|
.. section: Tests
|
||
|
|
||
|
Ensures ``test_importlib.test_windows`` cleans up registry keys after
|
||
|
completion.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 44359
|
||
|
.. date: 2022-02-02-02-24-04
|
||
|
.. nonce: kPPSmN
|
||
|
.. section: Tests
|
||
|
|
||
|
test_ftplib now silently ignores socket errors to prevent logging unhandled
|
||
|
threading exceptions. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46600
|
||
|
.. date: 2022-02-01-17-13-53
|
||
|
.. nonce: FMCk8Z
|
||
|
.. section: Tests
|
||
|
|
||
|
Fix test_gdb.test_pycfunction() for Python built with ``clang -Og``.
|
||
|
Tolerate inlined functions in the gdb traceback. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46542
|
||
|
.. date: 2022-01-31-17-34-13
|
||
|
.. nonce: RTMm1T
|
||
|
.. section: Tests
|
||
|
|
||
|
Fix a Python crash in test_lib2to3 when using Python built in debug mode:
|
||
|
limit the recursion limit. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46576
|
||
|
.. date: 2022-01-29-12-37-53
|
||
|
.. nonce: -prRaV
|
||
|
.. section: Tests
|
||
|
|
||
|
test_peg_generator now disables compiler optimization when testing
|
||
|
compilation of its own C extensions to significantly speed up the testing on
|
||
|
non-debug builds of CPython.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46542
|
||
|
.. date: 2022-01-28-01-17-10
|
||
|
.. nonce: xRLTdj
|
||
|
.. section: Tests
|
||
|
|
||
|
Fix ``test_json`` tests checking for :exc:`RecursionError`: modify these
|
||
|
tests to use ``support.infinite_recursion()``. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 13886
|
||
|
.. date: 2022-01-17-13-10-04
|
||
|
.. nonce: 5mZH4b
|
||
|
.. section: Tests
|
||
|
|
||
|
Skip test_builtin PTY tests on non-ASCII characters if the readline module
|
||
|
is loaded. The readline module changes input() behavior, but test_builtin is
|
||
|
not intented to test the readline module. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40280
|
||
|
.. date: 2022-01-16-14-11-57
|
||
|
.. nonce: fNnFfx
|
||
|
.. section: Tests
|
||
|
|
||
|
Add :func:`test.support.requires_fork` decorators to mark tests that require
|
||
|
a working :func:`os.fork`.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40280
|
||
|
.. date: 2022-01-14-23-22-41
|
||
|
.. nonce: nHLWoD
|
||
|
.. section: Tests
|
||
|
|
||
|
Add :func:`test.support.requires_subprocess` decorator to mark tests which
|
||
|
require working :mod:`subprocess` module or ``os.spawn*``. The
|
||
|
wasm32-emscripten platform has no support for processes.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46126
|
||
|
.. date: 2021-12-18-22-23-50
|
||
|
.. nonce: 0LH3Yb
|
||
|
.. section: Tests
|
||
|
|
||
|
Disable 'descriptions' when running tests internally.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46602
|
||
|
.. date: 2022-02-02-02-06-07
|
||
|
.. nonce: 8GaOZ2
|
||
|
.. section: Build
|
||
|
|
||
|
Tidied up configure.ac so that conftest.c is truncated rather than appended.
|
||
|
This assists in the case where the 'rm' of conftest.c fails to happen
|
||
|
between tests. Downstream issues such as a clobbered SOABI can result.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46600
|
||
|
.. date: 2022-02-01-14-07-37
|
||
|
.. nonce: NNLnfj
|
||
|
.. section: Build
|
||
|
|
||
|
Fix the test checking if the C compiler supports ``-Og`` option in the
|
||
|
``./configure`` script to also use ``-Og`` on clang which supports it. Patch
|
||
|
by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 38472
|
||
|
.. date: 2022-01-26-22-59-12
|
||
|
.. nonce: RxfLho
|
||
|
.. section: Build
|
||
|
|
||
|
Fix GCC detection in setup.py when cross-compiling. The C compiler is now
|
||
|
run with LC_ALL=C. Previously, the detection failed with a German locale.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46513
|
||
|
.. date: 2022-01-25-12-32-37
|
||
|
.. nonce: mPm9B4
|
||
|
.. section: Build
|
||
|
|
||
|
:program:`configure` no longer uses ``AC_C_CHAR_UNSIGNED`` macro and
|
||
|
``pyconfig.h`` no longer defines reserved symbol ``__CHAR_UNSIGNED__``.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46471
|
||
|
.. date: 2022-01-22-11-06-23
|
||
|
.. nonce: 03snrE
|
||
|
.. section: Build
|
||
|
|
||
|
Use global singletons for single byte bytes objects in deepfreeze.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46443
|
||
|
.. date: 2022-01-20-05-27-07
|
||
|
.. nonce: udCVII
|
||
|
.. section: Build
|
||
|
|
||
|
Deepfreeze now uses cached small integers as it saves some space for common
|
||
|
small integers.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46429
|
||
|
.. date: 2022-01-19-04-36-15
|
||
|
.. nonce: y0OtVL
|
||
|
.. section: Build
|
||
|
|
||
|
Merge all deep-frozen files into one for space savings. Patch by Kumar
|
||
|
Aditya.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45569
|
||
|
.. date: 2022-01-09-11-24-54
|
||
|
.. nonce: zCIENy
|
||
|
.. section: Build
|
||
|
|
||
|
The build now defaults to using 30-bit digits for Python integers.
|
||
|
Previously either 15-bit or 30-bit digits would be selected, depending on
|
||
|
the platform. 15-bit digits may still be selected using the
|
||
|
``--enable-big-digits=15`` option to the ``configure`` script, or by
|
||
|
defining ``PYLONG_BITS_IN_DIGIT`` in ``pyconfig.h``.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45925
|
||
|
.. date: 2022-01-08-12-43-31
|
||
|
.. nonce: 38F3NO
|
||
|
.. section: Build
|
||
|
|
||
|
Update Windows installer to use SQLite 3.37.2.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 43112
|
||
|
.. date: 2021-02-10-17-54-04
|
||
|
.. nonce: H5Lat6
|
||
|
.. section: Build
|
||
|
|
||
|
Detect musl libc as a separate SOABI (tagged as ``linux-musl``).
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 33125
|
||
|
.. date: 2022-01-25-14-48-39
|
||
|
.. nonce: 5WyY_J
|
||
|
.. section: Windows
|
||
|
|
||
|
The traditional EXE/MSI based installer for Windows is now available for
|
||
|
ARM64
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46362
|
||
|
.. date: 2022-01-13-22-31-09
|
||
|
.. nonce: f2cuEb
|
||
|
.. section: Windows
|
||
|
|
||
|
os.path.abspath("C:\CON") is now fixed to return "\\.\CON", not the same
|
||
|
path. The regression was true of all legacy DOS devices such as COM1, LPT1,
|
||
|
or NUL.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 44934
|
||
|
.. date: 2021-09-01-10-48-11
|
||
|
.. nonce: W1xPATH
|
||
|
.. section: Windows
|
||
|
|
||
|
The installer now offers a command-line only option to add the installation
|
||
|
directory to the end of :envvar:`PATH` instead of at the start.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45925
|
||
|
.. date: 2022-01-26-12-04-09
|
||
|
.. nonce: yBSiYO
|
||
|
.. section: macOS
|
||
|
|
||
|
Update macOS installer to SQLite 3.37.2.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45296
|
||
|
.. date: 2022-01-26-19-33-55
|
||
|
.. nonce: LzZKdU
|
||
|
.. section: IDLE
|
||
|
|
||
|
Clarify close, quit, and exit in IDLE. In the File menu, 'Close' and 'Exit'
|
||
|
are now 'Close Window' (the current one) and 'Exit' is now 'Exit IDLE' (by
|
||
|
closing all windows). In Shell, 'quit()' and 'exit()' mean 'close Shell'.
|
||
|
If there are no other windows, this also exits IDLE.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40170
|
||
|
.. date: 2022-01-27-02-51-22
|
||
|
.. nonce: uPolek
|
||
|
.. section: C API
|
||
|
|
||
|
Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public
|
||
|
C API by mistake, it must only be used by Python internally. Use the
|
||
|
``PyTypeObject.tp_members`` member instead. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 40170
|
||
|
.. date: 2022-01-27-02-37-18
|
||
|
.. nonce: XxQB0i
|
||
|
.. section: C API
|
||
|
|
||
|
Move _Py_GetAllocatedBlocks() and _PyObject_DebugMallocStats() private
|
||
|
functions to the internal C API. Patch by Victor Stinner.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 46433
|
||
|
.. date: 2022-01-19-16-51-54
|
||
|
.. nonce: Er9ApS
|
||
|
.. section: C API
|
||
|
|
||
|
The internal function _PyType_GetModuleByDef now correctly handles
|
||
|
inheritance patterns involving static types.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 45459
|
||
|
.. date: 2021-10-18-16-54-24
|
||
|
.. nonce: Y1pEZs
|
||
|
.. section: C API
|
||
|
|
||
|
:c:type:`Py_buffer` and various ``Py_buffer`` related functions are now part
|
||
|
of the limited API and stable ABI.
|
||
|
|
||
|
..
|
||
|
|
||
|
.. bpo: 14916
|
||
|
.. date: 2020-09-11-02-50-41
|
||
|
.. nonce: QN1Y03
|
||
|
.. section: C API
|
||
|
|
||
|
Fixed bug in the tokenizer that prevented ``PyRun_InteractiveOne`` from
|
||
|
parsing from the provided FD.
|