1212 lines
25 KiB
ReStructuredText
1212 lines
25 KiB
ReStructuredText
|
.. bpo: 40121
|
|||
|
.. date: 2020-03-30-23-16-25
|
|||
|
.. nonce: p2LIio
|
|||
|
.. release date: 2020-04-27
|
|||
|
.. section: Security
|
|||
|
|
|||
|
Fixes audit events raised on creating a new socket.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39073
|
|||
|
.. date: 2020-03-15-01-28-36
|
|||
|
.. nonce: 6Szd3i
|
|||
|
.. section: Security
|
|||
|
|
|||
|
Disallow CR or LF in email.headerregistry.Address arguments to guard against
|
|||
|
header injection attacks.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39503
|
|||
|
.. date: 2020-01-30-16-15-29
|
|||
|
.. nonce: B299Yq
|
|||
|
.. section: Security
|
|||
|
|
|||
|
CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class
|
|||
|
of the :mod:`urllib.request` module uses an inefficient regular expression
|
|||
|
which can be exploited by an attacker to cause a denial of service. Fix the
|
|||
|
regex to prevent the catastrophic backtracking. Vulnerability reported by
|
|||
|
Ben Caller and Matt Schwager.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40313
|
|||
|
.. date: 2020-04-20-23-58-35
|
|||
|
.. nonce: USVRW8
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Improve the performance of bytes.hex().
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40334
|
|||
|
.. date: 2020-04-20-14-06-19
|
|||
|
.. nonce: CTLGEp
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Switch to a new parser, based on PEG. For more details see PEP 617. To
|
|||
|
temporarily switch back to the old parser, use ``-X oldparser`` or
|
|||
|
``PYTHONOLDPARSER=1``. In Python 3.10 we will remove the old parser
|
|||
|
completely, including the ``parser`` module (already deprecated) and
|
|||
|
anything that depends on it.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40267
|
|||
|
.. date: 2020-04-14-18-54-50
|
|||
|
.. nonce: Q2N6Bw
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Fix the tokenizer to display the correct error message, when there is a
|
|||
|
SyntaxError on the last input character and no newline follows. It used to
|
|||
|
be `unexpected EOF while parsing`, while it should be `invalid syntax`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39522
|
|||
|
.. date: 2020-04-14-18-47-00
|
|||
|
.. nonce: uVeIV_
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Correctly unparse explicit ``u`` prefix for strings when postponed
|
|||
|
evaluation for annotations activated. Patch by Batuhan Taskaya.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40246
|
|||
|
.. date: 2020-04-11-17-52-03
|
|||
|
.. nonce: vXPze5
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Report a specialized error message, `invalid string prefix`, when the
|
|||
|
tokenizer encounters a string with an invalid prefix.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40082
|
|||
|
.. date: 2020-04-08-22-33-24
|
|||
|
.. nonce: WI3-lu
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Fix the signal handler: it now always uses the main interpreter, rather than
|
|||
|
trying to get the current Python thread state.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 37388
|
|||
|
.. date: 2020-04-07-15-44-29
|
|||
|
.. nonce: stlxBq
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
str.encode() and str.decode() no longer check the encoding and errors in
|
|||
|
development mode or in debug mode during Python finalization. The codecs
|
|||
|
machinery can no longer work on very late calls to str.encode() and
|
|||
|
str.decode().
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40077
|
|||
|
.. date: 2020-04-04-12-43-19
|
|||
|
.. nonce: m15TTX
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Fix possible refleaks in :mod:`_json`, memo of PyScannerObject should be
|
|||
|
traversed.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 37207
|
|||
|
.. date: 2020-04-02-00-25-19
|
|||
|
.. nonce: ZTPmKJ
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Speed up calls to ``dict()`` by using the :pep:`590` ``vectorcall`` calling
|
|||
|
convention.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40141
|
|||
|
.. date: 2020-04-01-21-50-37
|
|||
|
.. nonce: 8fCRVj
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Add column and line information to ``ast.keyword`` nodes. Patch by Pablo
|
|||
|
Galindo.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-04-01-00-08-18
|
|||
|
.. nonce: bhGWam
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port :mod:`resource` to multiphase initialization (:pep:`489`).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-31-22-15-04
|
|||
|
.. nonce: 8Ir1a0
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port :mod:`math` to multiphase initialization (:pep:`489`).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-31-21-12-27
|
|||
|
.. nonce: S2nkF3
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port _uuid module to multiphase initialization (:pep:`489`).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40077
|
|||
|
.. date: 2020-03-27-01-11-08
|
|||
|
.. nonce: wT002V
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Convert json module to use :c:func:`PyType_FromSpec`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40067
|
|||
|
.. date: 2020-03-25-20-34-01
|
|||
|
.. nonce: 0bFda2
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Improve the error message for multiple star expressions in an assignment.
|
|||
|
Patch by Furkan Onder
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-24-22-26-26
|
|||
|
.. nonce: AB38ot
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port _functools module to multiphase initialization (PEP 489). Patch by
|
|||
|
Paulo Henrique Silva.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-24-22-17-12
|
|||
|
.. nonce: jWaMRV
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port operator module to multiphase initialization (PEP 489). Patch by Paulo
|
|||
|
Henrique Silva.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 20526
|
|||
|
.. date: 2020-03-23-18-08-34
|
|||
|
.. nonce: NHNZIv
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed
|
|||
|
reference, not a strong reference: ``PyThreadState_Clear()`` must not call
|
|||
|
``Py_CLEAR(tstate->frame)``.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-22-01-01-41
|
|||
|
.. nonce: gR7Igp
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port time module to multiphase initialization (:pep:`489`). Patch by Paulo
|
|||
|
Henrique Silva.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1635741
|
|||
|
.. date: 2020-03-20-13-42-35
|
|||
|
.. nonce: bhIu5M
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Port _weakref extension module to multiphase initialization (:pep:`489`).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40020
|
|||
|
.. date: 2020-03-19-21-53-41
|
|||
|
.. nonce: n-26G7
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Fix a leak and subsequent crash in parsetok.c caused by realloc misuse on a
|
|||
|
rare codepath.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39939
|
|||
|
.. date: 2020-03-11-19-17-36
|
|||
|
.. nonce: NwCnAM
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Added str.removeprefix and str.removesuffix methods and corresponding bytes,
|
|||
|
bytearray, and collections.UserString methods to remove affixes from a
|
|||
|
string if present. See :pep:`616` for a full description. Patch by Dennis
|
|||
|
Sweeney.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39481
|
|||
|
.. date: 2020-01-28-17-19-18
|
|||
|
.. nonce: rqSeGl
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Implement PEP 585. This supports list[int], tuple[str, ...] etc.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 32894
|
|||
|
.. date: 2019-12-01-21-36-49
|
|||
|
.. nonce: 5g_UQr
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Support unparsing of infinity numbers in postponed annotations. Patch by
|
|||
|
Batuhan Taşkaya.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 37207
|
|||
|
.. date: 2019-06-09-10-54-31
|
|||
|
.. nonce: bLjgLS
|
|||
|
.. section: Core and Builtins
|
|||
|
|
|||
|
Speed up calls to ``list()`` by using the :pep:`590` ``vectorcall`` calling
|
|||
|
convention. Patch by Mark Shannon.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40398
|
|||
|
.. date: 2020-04-26-22-25-36
|
|||
|
.. nonce: OdXnR3
|
|||
|
.. section: Library
|
|||
|
|
|||
|
:func:`typing.get_args` now always returns an empty tuple for special
|
|||
|
generic aliases.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40396
|
|||
|
.. date: 2020-04-26-19-07-40
|
|||
|
.. nonce: Fn-is1
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Functions :func:`typing.get_origin`, :func:`typing.get_args` and
|
|||
|
:func:`typing.get_type_hints` support now generic aliases like
|
|||
|
``list[int]``.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38061
|
|||
|
.. date: 2020-04-24-01-55-00
|
|||
|
.. nonce: XmULB3
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Optimize the :mod:`subprocess` module on FreeBSD using ``closefrom()``. A
|
|||
|
single ``close(fd)`` syscall is cheap, but when ``sysconf(_SC_OPEN_MAX)`` is
|
|||
|
high, the loop calling ``close(fd)`` on each file descriptor can take
|
|||
|
several milliseconds.
|
|||
|
|
|||
|
The workaround on FreeBSD to improve performance was to load and mount the
|
|||
|
fdescfs kernel module, but this is not enabled by default.
|
|||
|
|
|||
|
Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
|
|||
|
and Kubilay Kocak (koobs):
|
|||
|
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38061
|
|||
|
.. date: 2020-04-24-01-27-08
|
|||
|
.. nonce: cdlkMz
|
|||
|
.. section: Library
|
|||
|
|
|||
|
On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls
|
|||
|
``closefrom(fd_low)`` if *fd_high* is greater than or equal to
|
|||
|
``sysconf(_SC_OPEN_MAX)``.
|
|||
|
|
|||
|
Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
|
|||
|
and Kubilay Kocak (koobs):
|
|||
|
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40360
|
|||
|
.. date: 2020-04-22-20-55-17
|
|||
|
.. nonce: Er8sv-
|
|||
|
.. section: Library
|
|||
|
|
|||
|
The :mod:`lib2to3` module is pending deprecation due to :pep:`617`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40138
|
|||
|
.. date: 2020-04-22-00-05-10
|
|||
|
.. nonce: i_oGqa
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix the Windows implementation of :func:`os.waitpid` for exit code larger
|
|||
|
than ``INT_MAX >> 8``. The exit status is now interpreted as an unsigned
|
|||
|
number.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39942
|
|||
|
.. date: 2020-04-20-20-16-02
|
|||
|
.. nonce: NvGnTc
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Set "__main__" as the default module name when "__name__" is missing in
|
|||
|
:class:`typing.TypeVar`. Patch by Weipeng Hong.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40275
|
|||
|
.. date: 2020-04-20-19-06-55
|
|||
|
.. nonce: 9UcN2g
|
|||
|
.. section: Library
|
|||
|
|
|||
|
The :mod:`logging` package is now imported lazily in :mod:`unittest` only
|
|||
|
when the :meth:`~unittest.TestCase.assertLogs` assertion is used.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40275
|
|||
|
.. date: 2020-04-20-18-50-25
|
|||
|
.. nonce: Ofk6J8
|
|||
|
.. section: Library
|
|||
|
|
|||
|
The :mod:`asyncio` package is now imported lazily in :mod:`unittest` only
|
|||
|
when the :class:`~unittest.IsolatedAsyncioTestCase` class is used.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40330
|
|||
|
.. date: 2020-04-19-17-31-29
|
|||
|
.. nonce: DGjoIS
|
|||
|
.. section: Library
|
|||
|
|
|||
|
In :meth:`ShareableList.__setitem__`, check the size of a new string item
|
|||
|
after encoding it to utf-8, not before.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40148
|
|||
|
.. date: 2020-04-19-14-16-43
|
|||
|
.. nonce: pDZR6V
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Added :meth:`pathlib.Path.with_stem()` to create a new Path with the stem
|
|||
|
replaced.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40325
|
|||
|
.. date: 2020-04-18-19-40-00
|
|||
|
.. nonce: KWSvix
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Deprecated support for set objects in random.sample().
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40257
|
|||
|
.. date: 2020-04-18-10-52-15
|
|||
|
.. nonce: lv4WTq
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Improved help for the :mod:`typing` module. Docstrings are now shown for all
|
|||
|
special forms and special generic aliases (like ``Union`` and ``List``).
|
|||
|
Using ``help()`` with generic alias like ``List[int]`` will show the help
|
|||
|
for the correspondent concrete type (``list`` in this case).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40257
|
|||
|
.. date: 2020-04-15-19-34-11
|
|||
|
.. nonce: ux8FUr
|
|||
|
.. section: Library
|
|||
|
|
|||
|
func:`inspect.getdoc` no longer returns docstring inherited from the type of
|
|||
|
the object or from parent class if it is a class if it is not defined in the
|
|||
|
object itself. In :mod:`pydoc` the documentation string is now shown not
|
|||
|
only for class, function, method etc, but for any object that has its own
|
|||
|
``__doc__`` attribute.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40287
|
|||
|
.. date: 2020-04-15-17-21-48
|
|||
|
.. nonce: -mkEJH
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fixed ``SpooledTemporaryFile.seek()`` to return the position.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40290
|
|||
|
.. date: 2020-04-15-16-43-48
|
|||
|
.. nonce: eqCMGJ
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Added zscore() to statistics.NormalDist().
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40282
|
|||
|
.. date: 2020-04-15-10-23-52
|
|||
|
.. nonce: rIYJmu
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Allow ``random.getrandbits(0)`` to succeed and to return 0.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40286
|
|||
|
.. date: 2020-04-15-00-39-25
|
|||
|
.. nonce: ai80FA
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Add :func:`random.randbytes` function and :meth:`random.Random.randbytes`
|
|||
|
method to generate random bytes.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40277
|
|||
|
.. date: 2020-04-14-21-53-18
|
|||
|
.. nonce: NknSaf
|
|||
|
.. section: Library
|
|||
|
|
|||
|
:func:`collections.namedtuple` now provides a human-readable repr for its
|
|||
|
field accessors.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40270
|
|||
|
.. date: 2020-04-14-16-18-49
|
|||
|
.. nonce: XVJzeG
|
|||
|
.. section: Library
|
|||
|
|
|||
|
The included copy of sqlite3 on Windows is now compiled with the json
|
|||
|
extension. This allows the use of functions such as ``json_object``.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 29255
|
|||
|
.. date: 2020-04-14-11-31-07
|
|||
|
.. nonce: 4EcyIN
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Wait in `KqueueSelector.select` when no fds are registered
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40260
|
|||
|
.. date: 2020-04-12-21-18-56
|
|||
|
.. nonce: F6VWaE
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Ensure :mod:`modulefinder` uses :func:`io.open_code` and respects coding
|
|||
|
comments.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40234
|
|||
|
.. date: 2020-04-10-16-13-47
|
|||
|
.. nonce: tar4d_
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Allow again to spawn daemon threads in subinterpreters (revert change which
|
|||
|
denied them).
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39207
|
|||
|
.. date: 2020-04-10-01-24-58
|
|||
|
.. nonce: 2dE5Ox
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned
|
|||
|
on demand, only when there are no available idle workers to reuse. This
|
|||
|
optimizes startup overhead and reduces the amount of lost CPU time to idle
|
|||
|
workers. Patch by Kyle Stanley.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40091
|
|||
|
.. date: 2020-04-07-23-26-25
|
|||
|
.. nonce: 5M9AW5
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix a hang at fork in the logging module: the new private _at_fork_reinit()
|
|||
|
method is now used to reinitialize locks at fork in the child process.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40149
|
|||
|
.. date: 2020-04-07-18-06-38
|
|||
|
.. nonce: mMU2iu
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Implement traverse and clear slots in _abc._abc_data type.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40208
|
|||
|
.. date: 2020-04-06-20-09-33
|
|||
|
.. nonce: 3rO_q7
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Remove deprecated :meth:`symtable.SymbolTable.has_exec`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40196
|
|||
|
.. date: 2020-04-06-11-05-13
|
|||
|
.. nonce: Jqowse
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix a bug in the :mod:`symtable` module that was causing incorrectly report
|
|||
|
global variables as local. Patch by Pablo Galindo.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40190
|
|||
|
.. date: 2020-04-05-02-58-17
|
|||
|
.. nonce: HF3OWo
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Add support for ``_SC_AIX_REALMEM`` to :func:`posix.sysconf`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40182
|
|||
|
.. date: 2020-04-04-23-44-09
|
|||
|
.. nonce: Bf_kFN
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Removed the ``_field_types`` attribute of the :class:`typing.NamedTuple`
|
|||
|
class.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 36517
|
|||
|
.. date: 2020-04-04-17-49-39
|
|||
|
.. nonce: Ilj1IJ
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Multiple inheritance with :class:`typing.NamedTuple` now raises an error
|
|||
|
instead of silently ignoring other types.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40126
|
|||
|
.. date: 2020-04-04-00-47-40
|
|||
|
.. nonce: Y-bTNP
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fixed reverting multiple patches in unittest.mock. Patcher's ``__exit__()``
|
|||
|
is now never called if its ``__enter__()`` is failed. Returning true from
|
|||
|
``__exit__()`` silences now the exception.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40094
|
|||
|
.. date: 2020-04-02-01-13-28
|
|||
|
.. nonce: AeZ34K
|
|||
|
.. section: Library
|
|||
|
|
|||
|
CGIHTTPRequestHandler of http.server now logs the CGI script exit code,
|
|||
|
rather than the CGI script exit status of os.waitpid(). For example, if the
|
|||
|
script is killed by signal 11, it now logs: "CGI script exit code -11."
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40108
|
|||
|
.. date: 2020-03-31-01-11-20
|
|||
|
.. nonce: EGDVQ_
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Improve the error message when triying to import a module using :mod:`runpy`
|
|||
|
and incorrently use the ".py" extension at the end of the module name. Patch
|
|||
|
by Pablo Galindo.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40094
|
|||
|
.. date: 2020-03-28-18-25-49
|
|||
|
.. nonce: v-wQIU
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Add :func:`os.waitstatus_to_exitcode` function: convert a wait status to an
|
|||
|
exit code.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40089
|
|||
|
.. date: 2020-03-27-17-22-34
|
|||
|
.. nonce: -lFsD0
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix threading._after_fork(): if fork was not called by a thread spawned by
|
|||
|
threading.Thread, threading._after_fork() now creates a _MainThread instance
|
|||
|
for _main_thread, instead of a _DummyThread instance.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40089
|
|||
|
.. date: 2020-03-27-16-54-29
|
|||
|
.. nonce: VTq_8s
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Add a private ``_at_fork_reinit()`` method to :class:`_thread.Lock`,
|
|||
|
:class:`_thread.RLock`, :class:`threading.RLock` and
|
|||
|
:class:`threading.Condition` classes: reinitialize the lock at fork in the
|
|||
|
child process, reset the lock to the unlocked state. Rename also the private
|
|||
|
``_reset_internal_locks()`` method of :class:`threading.Event` to
|
|||
|
``_at_fork_reinit()``.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 25780
|
|||
|
.. date: 2020-03-27-08-57-46
|
|||
|
.. nonce: kIjVge
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Expose :data:`~socket.CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39503
|
|||
|
.. date: 2020-03-25-16-02-16
|
|||
|
.. nonce: YmMbYn
|
|||
|
.. section: Library
|
|||
|
|
|||
|
:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
|
|||
|
now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
|
|||
|
per header: use the realm of the first Basic challenge.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39812
|
|||
|
.. date: 2020-03-25-00-35-48
|
|||
|
.. nonce: rIKnms
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Removed daemon threads from :mod:`concurrent.futures` by adding an internal
|
|||
|
`threading._register_atexit()`, which calls registered functions prior to
|
|||
|
joining all non-daemon threads. This allows for compatibility with
|
|||
|
subinterpreters, which don't support daemon threads.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40050
|
|||
|
.. date: 2020-03-24-16-17-20
|
|||
|
.. nonce: 6GrOlz
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix ``importlib._bootstrap_external``: avoid creating a new ``winreg``
|
|||
|
builtin module if it's already available in :data:`sys.modules`, and remove
|
|||
|
redundant imports.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40014
|
|||
|
.. date: 2020-03-23-17-52-00
|
|||
|
.. nonce: Ya70VG
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix ``os.getgrouplist()``: if ``getgrouplist()`` function fails because the
|
|||
|
group list is too small, retry with a larger group list. On failure, the
|
|||
|
glibc implementation of ``getgrouplist()`` sets ``ngroups`` to the total
|
|||
|
number of groups. For other implementations, double the group list size.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40017
|
|||
|
.. date: 2020-03-21-00-46-18
|
|||
|
.. nonce: HFpHZS
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Add :data:`time.CLOCK_TAI` constant if the operating system support it.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40016
|
|||
|
.. date: 2020-03-19-19-40-27
|
|||
|
.. nonce: JWtxqJ
|
|||
|
.. section: Library
|
|||
|
|
|||
|
In re docstring, clarify the relationship between inline and argument
|
|||
|
compile flags.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39953
|
|||
|
.. date: 2020-03-19-16-33-03
|
|||
|
.. nonce: yy5lC_
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Update internal table of OpenSSL error codes in the ``ssl`` module.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 36144
|
|||
|
.. date: 2020-03-18-14-51-41
|
|||
|
.. nonce: lQm_RK
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Added :pep:`584` operators to :class:`weakref.WeakValueDictionary`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 36144
|
|||
|
.. date: 2020-03-18-14-02-58
|
|||
|
.. nonce: ooyn6Z
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Added :pep:`584` operators to :class:`weakref.WeakKeyDictionary`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38891
|
|||
|
.. date: 2020-03-15-08-06-05
|
|||
|
.. nonce: 56Yokh
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Fix linear runtime behaviour of the `__getitem__` and `__setitem__` methods
|
|||
|
in :class:`multiprocessing.shared_memory.ShareableList`. This avoids
|
|||
|
quadratic performance when iterating a `ShareableList`. Patch by Thomas
|
|||
|
Krennwallner.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39682
|
|||
|
.. date: 2020-03-08-11-00-01
|
|||
|
.. nonce: AxXZNz
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Remove undocumented support for *closing* a `pathlib.Path` object via its
|
|||
|
context manager. The context manager magic methods remain, but they are now
|
|||
|
a no-op, making `Path` objects immutable.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 36144
|
|||
|
.. date: 2020-03-07-11-26-08
|
|||
|
.. nonce: FG9jqy
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Added :pep:`584` operators (``|`` and ``|=``) to
|
|||
|
:class:`collections.ChainMap`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39011
|
|||
|
.. date: 2020-02-12-01-48-51
|
|||
|
.. nonce: hGve_t
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Normalization of line endings in ElementTree attributes was removed, as line
|
|||
|
endings which were replaced by entity numbers should be preserved in
|
|||
|
original form.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38410
|
|||
|
.. date: 2019-10-09-08-14-25
|
|||
|
.. nonce: _YyoMV
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Properly handle :func:`sys.audit` failures in
|
|||
|
:func:`sys.set_asyncgen_hooks`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 36541
|
|||
|
.. date: 2019-06-18-19-38-27
|
|||
|
.. nonce: XI8mi1
|
|||
|
.. section: Library
|
|||
|
|
|||
|
lib2to3 now recognizes named assignment expressions (the walrus operator,
|
|||
|
``:=``)
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 35967
|
|||
|
.. date: 2019-04-14-14-11-07
|
|||
|
.. nonce: KUMT9E
|
|||
|
.. section: Library
|
|||
|
|
|||
|
In platform, delay the invocation of 'uname -p' until the processor
|
|||
|
attribute is requested.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 35113
|
|||
|
.. date: 2018-11-03-16-18-20
|
|||
|
.. nonce: vwvWKG
|
|||
|
.. section: Library
|
|||
|
|
|||
|
:meth:`inspect.getsource` now returns correct source code for inner class
|
|||
|
with same name as module level class. Decorators are also returned as part
|
|||
|
of source of the class. Patch by Karthikeyan Singaravelan.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 33262
|
|||
|
.. date: 2018-04-17-13-23-29
|
|||
|
.. nonce: vHC7YQ
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Deprecate passing None as an argument for :func:`shlex.split()`'s ``s``
|
|||
|
parameter. Patch by Zackery Spytz.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 31758
|
|||
|
.. date: 2017-10-14-21-02-40
|
|||
|
.. nonce: 563ZZb
|
|||
|
.. section: Library
|
|||
|
|
|||
|
Prevent crashes when using an uninitialized ``_elementtree.XMLParser``
|
|||
|
object. Patch by Oren Milman.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 27635
|
|||
|
.. date: 2020-04-01-00-27-03
|
|||
|
.. nonce: VwxUty
|
|||
|
.. section: Documentation
|
|||
|
|
|||
|
The pickle documentation incorrectly claimed that ``__new__`` isn't called
|
|||
|
by default when unpickling.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39879
|
|||
|
.. date: 2020-03-16-18-12-02
|
|||
|
.. nonce: CnQ7Cv
|
|||
|
.. section: Documentation
|
|||
|
|
|||
|
Updated :ref:`datamodel` docs to include :func:`dict` insertion order
|
|||
|
preservation. Patch by Furkan Onder and Samy Lahfa.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38387
|
|||
|
.. date: 2019-10-06-23-44-15
|
|||
|
.. nonce: fZoq0S
|
|||
|
.. section: Documentation
|
|||
|
|
|||
|
Document :c:macro:`PyDoc_STRVAR` macro in the C-API reference.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 13743
|
|||
|
.. date: 2019-09-25-23-20-55
|
|||
|
.. nonce: 5ToLDy
|
|||
|
.. section: Documentation
|
|||
|
|
|||
|
Some methods within xml.dom.minidom.Element class are now better documented.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 31904
|
|||
|
.. date: 2020-04-09-16-29-18
|
|||
|
.. nonce: ej348T
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Set expected default encoding in test_c_locale_coercion.py for VxWorks RTOS.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40162
|
|||
|
.. date: 2020-04-03-02-40-16
|
|||
|
.. nonce: v3pQW_
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Update Travis CI configuration to OpenSSL 1.1.1f.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40146
|
|||
|
.. date: 2020-04-02-02-14-37
|
|||
|
.. nonce: J-Yo9G
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Update OpenSSL to 1.1.1f in Azure Pipelines.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40094
|
|||
|
.. date: 2020-03-31-18-57-52
|
|||
|
.. nonce: m3fTJe
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Add :func:`test.support.wait_process` function.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40003
|
|||
|
.. date: 2020-03-31-16-07-15
|
|||
|
.. nonce: SOruLY
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
``test.bisect_cmd`` now copies Python command line options like ``-O`` or
|
|||
|
``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
|
|||
|
``-w``/``--verbose2`` option.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39380
|
|||
|
.. date: 2020-03-22-20-00-04
|
|||
|
.. nonce: ZXlRQU
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Add the encoding in :class:`ftplib.FTP` and :class:`ftplib.FTP_TLS` to the
|
|||
|
constructor as keyword-only and change the default from ``latin-1`` to
|
|||
|
``utf-8`` to follow :rfc:`2640`.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39793
|
|||
|
.. date: 2020-02-29-12-58-17
|
|||
|
.. nonce: Og2SUN
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Use the same domain when testing ``make_msgid``. Patch by Batuhan Taskaya.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 1812
|
|||
|
.. date: 2019-11-25-21-46-47
|
|||
|
.. nonce: sAbTbY
|
|||
|
.. section: Tests
|
|||
|
|
|||
|
Fix newline handling in doctest.testfile when loading from a package whose
|
|||
|
loader has a get_data method. Patch by Peter Donis.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38360
|
|||
|
.. date: 2020-04-22-02-33-54
|
|||
|
.. nonce: 74C68u
|
|||
|
.. section: Build
|
|||
|
|
|||
|
Support single-argument form of macOS -isysroot flag.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40158
|
|||
|
.. date: 2020-04-03-17-54-33
|
|||
|
.. nonce: MWUTs4
|
|||
|
.. section: Build
|
|||
|
|
|||
|
Fix CPython MSBuild Properties in NuGet Package (build/native/python.props)
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38527
|
|||
|
.. date: 2020-03-28-10-43-09
|
|||
|
.. nonce: fqCRgD
|
|||
|
.. section: Build
|
|||
|
|
|||
|
Fix configure check on Solaris for "float word ordering": sometimes, the
|
|||
|
correct "grep" command was not being used. Patch by Arnon Yaari.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40164
|
|||
|
.. date: 2020-04-04-13-13-44
|
|||
|
.. nonce: SPrSn5
|
|||
|
.. section: Windows
|
|||
|
|
|||
|
Updates Windows to OpenSSL 1.1.1f
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 8901
|
|||
|
.. date: 2020-01-24-09-15-41
|
|||
|
.. nonce: hVnhGO
|
|||
|
.. section: Windows
|
|||
|
|
|||
|
Ignore the Windows registry when the ``-E`` option is used.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38329
|
|||
|
.. date: 2020-04-22-03-39-22
|
|||
|
.. nonce: H0a8JV
|
|||
|
.. section: macOS
|
|||
|
|
|||
|
python.org macOS installers now update the Current version symlink of
|
|||
|
/Library/Frameworks/Python.framework/Versions for 3.9 installs. Previously,
|
|||
|
Current was only updated for Python 2.x installs. This should make it easier
|
|||
|
to embed Python 3 into other macOS applications.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40164
|
|||
|
.. date: 2020-04-21-19-46-35
|
|||
|
.. nonce: 6HA6IC
|
|||
|
.. section: macOS
|
|||
|
|
|||
|
Update macOS installer builds to use OpenSSL 1.1.1g.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38439
|
|||
|
.. date: 2019-12-05-14-20-53
|
|||
|
.. nonce: j_L2PI
|
|||
|
.. section: IDLE
|
|||
|
|
|||
|
Add a 256×256 pixel IDLE icon to support more modern environments. Created
|
|||
|
by Andrew Clover. Delete the unused macOS idle.icns icon file.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 38689
|
|||
|
.. date: 2019-11-14-12-59-19
|
|||
|
.. nonce: Lgfxva
|
|||
|
.. section: IDLE
|
|||
|
|
|||
|
IDLE will no longer freeze when inspect.signature fails when fetching a
|
|||
|
calltip.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40385
|
|||
|
.. date: 2020-04-24-21-08-19
|
|||
|
.. nonce: nWIQdq
|
|||
|
.. section: Tools/Demos
|
|||
|
|
|||
|
Removed the checkpyc.py tool. Please see compileall without force mode as a
|
|||
|
potential alternative.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40179
|
|||
|
.. date: 2020-04-04-19-35-22
|
|||
|
.. nonce: u9FH10
|
|||
|
.. section: Tools/Demos
|
|||
|
|
|||
|
Fixed translation of ``#elif`` in Argument Clinic.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40094
|
|||
|
.. date: 2020-04-02-01-22-21
|
|||
|
.. nonce: 1XQQF6
|
|||
|
.. section: Tools/Demos
|
|||
|
|
|||
|
Fix ``which.py`` script exit code: it now uses
|
|||
|
:func:`os.waitstatus_to_exitcode` to convert :func:`os.system` exit status
|
|||
|
into an exit code.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40241
|
|||
|
.. date: 2020-04-13-02-56-24
|
|||
|
.. nonce: _FOf7E
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Move the :c:type:`PyGC_Head` structure to the internal C API.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-11-06-12-44
|
|||
|
.. nonce: cmM9oK
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Convert :c:func:`PyObject_IS_GC` macro to a function to hide implementation
|
|||
|
details.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40241
|
|||
|
.. date: 2020-04-10-19-43-04
|
|||
|
.. nonce: Xm3w-1
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Add the functions :c:func:`PyObject_GC_IsTracked` and
|
|||
|
:c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if
|
|||
|
Python objects are being currently tracked or have been already finalized by
|
|||
|
the garbage collector respectively. Patch by Pablo Galindo.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-05-00-37-34
|
|||
|
.. nonce: Seuh3D
|
|||
|
.. section: C API
|
|||
|
|
|||
|
The :c:func:`PyObject_NEW` macro becomes an alias to the
|
|||
|
:c:func:`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro
|
|||
|
becomes an alias to the :c:func:`PyObject_NewVar` macro, to hide
|
|||
|
implementation details. They no longer access directly the
|
|||
|
:c:member:`PyTypeObject.tp_basicsize` member.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-05-00-21-38
|
|||
|
.. nonce: Tx0vy6
|
|||
|
.. section: C API
|
|||
|
|
|||
|
:c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags` to
|
|||
|
hide implementation details. Previously, it accessed directly the
|
|||
|
:c:member:`PyTypeObject.tp_flags` member when the limited C API was not
|
|||
|
used.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-05-00-10-45
|
|||
|
.. nonce: 6nFYbY
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Convert the :c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro to a function to
|
|||
|
hide implementation details: the macro accessed directly to the
|
|||
|
:c:member:`PyTypeObject.tp_weaklistoffset` member.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-05-00-02-13
|
|||
|
.. nonce: IFsGZ-
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Convert :c:func:`PyObject_CheckBuffer` macro to a function to hide
|
|||
|
implementation details: the macro accessed directly the
|
|||
|
:c:member:`PyTypeObject.tp_as_buffer` member.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 40170
|
|||
|
.. date: 2020-04-04-23-51-59
|
|||
|
.. nonce: uXQ701
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Always declare :c:func:`PyIndex_Check` as an opaque function to hide
|
|||
|
implementation details: remove ``PyIndex_Check()`` macro. The macro accessed
|
|||
|
directly the :c:member:`PyTypeObject.tp_as_number` member.
|
|||
|
|
|||
|
..
|
|||
|
|
|||
|
.. bpo: 39947
|
|||
|
.. date: 2020-03-25-19-44-55
|
|||
|
.. nonce: 2OxvPt
|
|||
|
.. section: C API
|
|||
|
|
|||
|
Add :c:func:`PyThreadState_GetID` function: get the unique identifier of a
|
|||
|
Python thread state.
|