mirror of
https://github.com/python/cpython.git
synced 2024-12-19 23:04:14 +08:00
65de194dd8
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
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 incorrectly using 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 :const:`~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 :const:`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.
|