summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/3.9.0a5.rst
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2020-03-23 16:19:13 (GMT)
committerŁukasz Langa <lukasz@langa.pl>2020-03-23 16:19:13 (GMT)
commitdcd4c4f9c9f9fb75ad4c1f138a285fbe19a9cb61 (patch)
tree4f19e6ab3567e77ff8a7a57ea90bd48cfae60a1e /Misc/NEWS.d/3.9.0a5.rst
parent9a81ab107a54b8ca320fb703f7c68e14ccd9d016 (diff)
downloadcpython-dcd4c4f9c9f9fb75ad4c1f138a285fbe19a9cb61.zip
cpython-dcd4c4f9c9f9fb75ad4c1f138a285fbe19a9cb61.tar.gz
cpython-dcd4c4f9c9f9fb75ad4c1f138a285fbe19a9cb61.tar.bz2
Python 3.9.0a5v3.9.0a5
Diffstat (limited to 'Misc/NEWS.d/3.9.0a5.rst')
-rw-r--r--Misc/NEWS.d/3.9.0a5.rst1310
1 files changed, 1310 insertions, 0 deletions
diff --git a/Misc/NEWS.d/3.9.0a5.rst b/Misc/NEWS.d/3.9.0a5.rst
new file mode 100644
index 0000000..7e2eaa3
--- /dev/null
+++ b/Misc/NEWS.d/3.9.0a5.rst
@@ -0,0 +1,1310 @@
+.. bpo: 38576
+.. date: 2020-03-14-14-57-44
+.. nonce: OowwQn
+.. release date: 2020-03-23
+.. section: Security
+
+Disallow control characters in hostnames in http.client, addressing
+CVE-2019-18348. Such potentially malicious header injection URLs now cause a
+InvalidURL to be raised.
+
+..
+
+.. bpo: 40010
+.. date: 2020-03-20-13-51-55
+.. nonce: QGf5s8
+.. section: Core and Builtins
+
+Optimize pending calls in multithreaded applications. If a thread different
+than the main thread schedules a pending call (:c:func:`Py_AddPendingCall`),
+the bytecode evaluation loop is no longer interrupted at each bytecode
+instruction to check for pending calls which cannot be executed. Only the
+main thread can execute pending calls.
+
+Previously, the bytecode evaluation loop was interrupted at each instruction
+until the main thread executes pending calls.
+
+..
+
+.. 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: 1635741
+.. date: 2020-03-19-23-34-22
+.. nonce: ayunLM
+.. section: Core and Builtins
+
+Port _collections module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 40010
+.. date: 2020-03-19-02-26-13
+.. nonce: Y-LIR0
+.. section: Core and Builtins
+
+Optimize signal handling in multithreaded applications. If a thread
+different than the main thread gets a signal, the bytecode evaluation loop
+is no longer interrupted at each bytecode instruction to check for pending
+signals which cannot be handled. Only the main thread of the main
+interpreter can handle signals.
+
+Previously, the bytecode evaluation loop was interrupted at each instruction
+until the main thread handles signals.
+
+..
+
+.. bpo: 39984
+.. date: 2020-03-19-00-45-37
+.. nonce: u-bHIq
+.. section: Core and Builtins
+
+If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function
+is now scheduled to be called from the subinterpreter, rather than being
+called from the main interpreter. Each subinterpreter now has its own list
+of scheduled calls.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-18-19-48-53
+.. nonce: ELEihr
+.. section: Core and Builtins
+
+Port _heapq module to multiphase initialization.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-18-00-17-26
+.. nonce: 7AtdhP
+.. section: Core and Builtins
+
+Port itertools module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 37207
+.. date: 2020-03-17-22-35-29
+.. nonce: sBAV1j
+.. section: Core and Builtins
+
+Speed up calls to ``frozenset()`` by using the :pep:`590` ``vectorcall``
+calling convention. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39984
+.. date: 2020-03-17-01-55-33
+.. nonce: y5Chgb
+.. section: Core and Builtins
+
+subinterpreters: Move ``_PyRuntimeState.ceval.tracing_possible`` to
+``PyInterpreterState.ceval.tracing_possible``: each interpreter now has its
+own variable.
+
+..
+
+.. bpo: 37207
+.. date: 2020-03-15-23-16-00
+.. nonce: 6XbnQA
+.. section: Core and Builtins
+
+Speed up calls to ``set()`` by using the :pep:`590` ``vectorcall`` calling
+convention. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-15-20-51-15
+.. nonce: iH0JND
+.. section: Core and Builtins
+
+Port _statistics module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 39968
+.. date: 2020-03-15-13-51-10
+.. nonce: f-Xi39
+.. section: Core and Builtins
+
+Use inline function to replace extension modules' get_module_state macros.
+
+..
+
+.. bpo: 39965
+.. date: 2020-03-15-03-52-01
+.. nonce: Od3ZdP
+.. section: Core and Builtins
+
+Correctly raise ``SyntaxError`` if *await* is used inside non-async
+functions and ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in the asyncio
+REPL). Patch by Pablo Galindo.
+
+..
+
+.. bpo: 39562
+.. date: 2020-03-12-22-13-50
+.. nonce: E2u273
+.. section: Core and Builtins
+
+Allow executing asynchronous comprehensions on the top level when the
+``PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag is given. Patch by Batuhan Taskaya.
+
+..
+
+.. bpo: 37207
+.. date: 2020-03-12-02-41-12
+.. nonce: ye7OM3
+.. section: Core and Builtins
+
+Speed up calls to ``tuple()`` by using the :pep:`590` ``vectorcall`` calling
+convention. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 38373
+.. date: 2020-03-11-12-28-16
+.. nonce: FE9S21
+.. section: Core and Builtins
+
+Chaged list overallocation strategy. It no longer overallocates if the new
+size is closer to overalocated size than to the old size and adds padding.
+
+..
+
+.. bpo: 39926
+.. date: 2020-03-10-19-14-42
+.. nonce: H19bAa
+.. section: Core and Builtins
+
+Update Unicode database to Unicode version 13.0.0.
+
+..
+
+.. bpo: 19466
+.. date: 2020-03-08-12-11-38
+.. nonce: OdOpXP
+.. section: Core and Builtins
+
+Clear the frames of daemon threads earlier during the Python shutdown to
+call objects destructors. So "unclosed file" resource warnings are now
+emitted for daemon threads in a more reliable way.
+
+..
+
+.. bpo: 38894
+.. date: 2020-03-06-21-04-39
+.. nonce: nfcGKv
+.. section: Core and Builtins
+
+Fix a bug that was causing incomplete results when calling
+``pathlib.Path.glob`` in the presence of symlinks that point to files where
+the user does not have read access. Patch by Pablo Galindo and Matt
+Wozniski.
+
+..
+
+.. bpo: 39877
+.. date: 2020-03-06-18-30-00
+.. nonce: bzd1y0
+.. section: Core and Builtins
+
+Fix :c:func:`PyEval_RestoreThread` random crash at exit with daemon threads.
+It now accesses the ``_PyRuntime`` variable directly instead of using
+``tstate->interp->runtime``, since ``tstate`` can be a dangling pointer
+after :c:func:`Py_Finalize` has been called. Moreover, the daemon thread now
+exits before trying to take the GIL.
+
+..
+
+.. bpo: 39871
+.. date: 2020-03-06-06-12-37
+.. nonce: dCAj_2
+.. section: Core and Builtins
+
+Fix a possible :exc:`SystemError` in ``math.{atan2,copysign,remainder}()``
+when the first argument cannot be converted to a :class:`float`. Patch by
+Zachary Spytz.
+
+..
+
+.. bpo: 39776
+.. date: 2020-03-02-20-12-33
+.. nonce: fNaxi_
+.. section: Core and Builtins
+
+Fix race condition where threads created by PyGILState_Ensure() could get a
+duplicate id.
+
+This affects consumers of tstate->id like the contextvar caching machinery,
+which could return invalid cached objects under heavy thread load (observed
+in embedded scenarios).
+
+..
+
+.. bpo: 39778
+.. date: 2020-03-02-19-21-21
+.. nonce: _YGLEc
+.. section: Core and Builtins
+
+Fixed a crash due to incorrect handling of weak references in
+``collections.OrderedDict`` classes. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-02-22-14-33-59
+.. nonce: BTJ0cX
+.. section: Core and Builtins
+
+Port audioop extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 39702
+.. date: 2020-02-20-08-12-52
+.. nonce: 4_AmyF
+.. section: Core and Builtins
+
+Relax :term:`decorator` grammar restrictions to allow any valid expression
+(:pep:`614`).
+
+..
+
+.. bpo: 38091
+.. date: 2020-02-14-23-10-07
+.. nonce: pwR0K7
+.. section: Core and Builtins
+
+Tweak import deadlock detection code to not deadlock itself.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-02-05-07-55-57
+.. nonce: H_tCC9
+.. section: Core and Builtins
+
+Port _locale extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 39087
+.. date: 2020-02-03-21-12-39
+.. nonce: YnbUpL
+.. section: Core and Builtins
+
+Optimize :c:func:`PyUnicode_AsUTF8` and :c:func:`PyUnicode_AsUTF8AndSize`
+slightly when they need to create internal UTF-8 cache.
+
+..
+
+.. bpo: 39520
+.. date: 2020-02-02-00-12-07
+.. nonce: uicBq6
+.. section: Core and Builtins
+
+Fix unparsing of ext slices with no items (``foo[:,]``). Patch by Batuhan
+Taskaya.
+
+..
+
+.. bpo: 39220
+.. date: 2020-01-06-13-58-37
+.. nonce: KGFovE
+.. section: Core and Builtins
+
+Do not optimize annotations if 'from __future__ import annotations' is used.
+Patch by Pablo Galindo.
+
+..
+
+.. bpo: 35712
+.. date: 2019-05-08-11-11-45
+.. nonce: KJthus
+.. section: Core and Builtins
+
+Using :data:`NotImplemented` in a boolean context has been deprecated. Patch
+contributed by Josh Rosenberg.
+
+..
+
+.. bpo: 22490
+.. date: 2018-09-23-16-32-58
+.. nonce: 8e0YDf
+.. section: Core and Builtins
+
+Don't leak environment variable ``__PYVENV_LAUNCHER__`` into the interpreter
+session on macOS.
+
+..
+
+.. bpo: 39830
+.. date: 2020-03-23-05-21-13
+.. nonce: IkqU1Y
+.. section: Library
+
+Add :class:`zipfile.Path` to ``__all__`` in the :mod:`zipfile` module.
+
+..
+
+.. bpo: 40000
+.. date: 2020-03-18-12-54-25
+.. nonce: FnsPZC
+.. section: Library
+
+Improved error messages for validation of ``ast.Constant`` nodes. Patch by
+Batuhan Taskaya.
+
+..
+
+.. bpo: 39999
+.. date: 2020-03-18-11-50-25
+.. nonce: 8aOXDT
+.. section: Library
+
+``__module__`` of the AST node classes is now set to "ast" instead of
+"_ast". Added docstrings for dummy AST node classes and deprecated
+attributes.
+
+..
+
+.. bpo: 39991
+.. date: 2020-03-17-12-40-38
+.. nonce: hLPPs4
+.. section: Library
+
+:func:`uuid.getnode` now skips IPv6 addresses with the same string length
+than a MAC address (17 characters): only use MAC addresses.
+
+..
+
+.. bpo: 39988
+.. date: 2020-03-17-09-35-00
+.. nonce: kXGl35
+.. section: Library
+
+Deprecated ``ast.AugLoad`` and ``ast.AugStore`` node classes because they
+are no longer used.
+
+..
+
+.. bpo: 39656
+.. date: 2020-03-16-11-38-45
+.. nonce: MaNOgm
+.. section: Library
+
+Ensure ``bin/python3.#`` is always present in virtual environments on POSIX
+platforms - by Anthony Sottile.
+
+..
+
+.. bpo: 39969
+.. date: 2020-03-15-17-56-48
+.. nonce: 6snm0c
+.. section: Library
+
+Deprecated ``ast.Param`` node class because it's no longer used. Patch by
+Batuhan Taskaya.
+
+..
+
+.. bpo: 39360
+.. date: 2020-03-15-05-41-05
+.. nonce: cmcU5p
+.. section: Library
+
+Ensure all workers exit when finalizing a :class:`multiprocessing.Pool`
+implicitly via the module finalization handlers of multiprocessing. This
+fixes a deadlock situation that can be experienced when the Pool is not
+properly finalized via the context manager or a call to
+``multiprocessing.Pool.terminate``. Patch by Batuhan Taskaya and Pablo
+Galindo.
+
+..
+
+.. bpo: 35370
+.. date: 2020-03-13-14-41-28
+.. nonce: df50Q7
+.. section: Library
+
+sys.settrace(), sys.setprofile() and _lsprof.Profiler.enable() now properly
+report :c:func:`PySys_Audit` error if "sys.setprofile" or "sys.settrace"
+audit event is denied.
+
+..
+
+.. bpo: 39936
+.. date: 2020-03-12-21-59-47
+.. nonce: Ca9IKe
+.. section: Library
+
+AIX: Fix _aix_support module when the subprocess is not available, when
+building Python from scratch. It now uses new private _bootsubprocess
+module, rather than having two implementations depending if subprocess is
+available or not. So _aix_support.aix_platform() result is now the same if
+subprocess is available or not.
+
+..
+
+.. bpo: 36144
+.. date: 2020-03-12-11-55-16
+.. nonce: 9bxGH_
+.. section: Library
+
+:class:`collections.OrderedDict` now implements ``|`` and ``|=``
+(:pep:`584`).
+
+..
+
+.. bpo: 39652
+.. date: 2020-03-11-23-08-25
+.. nonce: gbasrk
+.. section: Library
+
+The column name found in ``sqlite3.Cursor.description`` is now truncated on
+the first '[' only if the PARSE_COLNAMES option is set.
+
+..
+
+.. bpo: 39915
+.. date: 2020-03-10-19-38-47
+.. nonce: CjPeiY
+.. section: Library
+
+Ensure :attr:`unittest.mock.AsyncMock.await_args_list` has call objects in
+the order of awaited arguments instead of using
+:attr:`unittest.mock.Mock.call_args` which has the last value of the call.
+Patch by Karthikeyan Singaravelan.
+
+..
+
+.. bpo: 36144
+.. date: 2020-03-10-19-22-31
+.. nonce: LABm7W
+.. section: Library
+
+Updated :data:`os.environ` and :data:`os.environb` to support :pep:`584`'s
+merge (``|``) and update (``|=``) operators.
+
+..
+
+.. bpo: 38662
+.. date: 2020-03-10-15-32-31
+.. nonce: o1DMXj
+.. section: Library
+
+The ``ensurepip`` module now invokes ``pip`` via the ``runpy`` module. Hence
+it is no longer tightly coupled with the internal API of the bundled ``pip``
+version, allowing easier updates to a newer ``pip`` version both internally
+and for distributors.
+
+..
+
+.. bpo: 38075
+.. date: 2020-03-10-12-52-06
+.. nonce: qbESAF
+.. section: Library
+
+Fix the :meth:`random.Random.seed` method when a :class:`bool` is passed as
+the seed.
+
+..
+
+.. bpo: 39916
+.. date: 2020-03-09-18-56-27
+.. nonce: BHHyp3
+.. section: Library
+
+More reliable use of ``os.scandir()`` in ``Path.glob()``. It no longer emits
+a ResourceWarning when interrupted.
+
+..
+
+.. bpo: 39850
+.. date: 2020-03-09-01-45-06
+.. nonce: eaJNIE
+.. section: Library
+
+:mod:`multiprocessing` now supports abstract socket addresses (if abstract
+sockets are supported in the running platform). When creating arbitrary
+addresses (like when default-constructing
+:class:`multiprocessing.connection.Listener` objects) abstract sockets are
+preferred to avoid the case when the temporary-file-generated address is too
+large for an AF_UNIX socket address. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 36287
+.. date: 2020-03-08-09-53-55
+.. nonce: mxr5m8
+.. section: Library
+
+:func:`ast.dump()` no longer outputs optional fields and attributes with
+default values. The default values for optional fields and attributes of AST
+nodes are now set as class attributes (e.g. ``Constant.kind`` is set to
+``None``).
+
+..
+
+.. bpo: 39889
+.. date: 2020-03-07-16-44-51
+.. nonce: 3RYqeX
+.. section: Library
+
+Fixed :func:`ast.unparse` for extended slices containing a single element
+(e.g. ``a[i:j,]``). Remove redundant tuples when index with a tuple (e.g.
+``a[i, j]``).
+
+..
+
+.. bpo: 39828
+.. date: 2020-03-05-00-57-49
+.. nonce: yWq9NJ
+.. section: Library
+
+Fix :mod:`json.tool` to catch :exc:`BrokenPipeError`. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 13487
+.. date: 2020-03-04-16-10-59
+.. nonce: gqe4Fb
+.. section: Library
+
+Avoid a possible *"RuntimeError: dictionary changed size during iteration"*
+from :func:`inspect.getmodule` when it tried to loop through
+:attr:`sys.modules`.
+
+..
+
+.. bpo: 39674
+.. date: 2020-03-03-16-21-41
+.. nonce: HJVkD5
+.. section: Library
+
+Revert "bpo-37330: open() no longer accept 'U' in file mode". The "U" mode
+of open() is kept in Python 3.9 to ease transition from Python 2.7, but will
+be removed in Python 3.10.
+
+..
+
+.. bpo: 28577
+.. date: 2020-03-02-23-52-38
+.. nonce: EK91ae
+.. section: Library
+
+The hosts method on 32-bit prefix length IPv4Networks and 128-bit prefix
+IPv6Networks now returns a list containing the single Address instead of an
+empty list.
+
+..
+
+.. bpo: 39826
+.. date: 2020-03-02-15-15-01
+.. nonce: DglHk7
+.. section: Library
+
+Add getConnection method to logging HTTPHandler to enable custom
+connections.
+
+..
+
+.. bpo: 39763
+.. date: 2020-03-02-14-43-19
+.. nonce: 5a822c
+.. section: Library
+
+Reimplement :func:`distutils.spawn.spawn` function with the
+:mod:`subprocess` module.
+
+..
+
+.. bpo: 39794
+.. date: 2020-02-29-19-17-39
+.. nonce: 7VjatS
+.. section: Library
+
+Add --without-decimal-contextvar build option. This enables a thread-local
+rather than a coroutine local context.
+
+..
+
+.. bpo: 36144
+.. date: 2020-02-29-15-54-08
+.. nonce: 4GgTZs
+.. section: Library
+
+:class:`collections.defaultdict` now implements ``|`` (:pep:`584`).
+
+..
+
+.. bpo: 39517
+.. date: 2020-02-29-11-20-50
+.. nonce: voQZb8
+.. section: Library
+
+Fix runpy.run_path() when using pathlike objects
+
+..
+
+.. bpo: 39775
+.. date: 2020-02-28-16-42-16
+.. nonce: IuSvVb
+.. section: Library
+
+Change ``inspect.Signature.parameters`` back to ``collections.OrderedDict``.
+This was changed to ``dict`` in Python 3.9.0a4.
+
+..
+
+.. bpo: 39678
+.. date: 2020-02-28-12-59-30
+.. nonce: 3idfxM
+.. section: Library
+
+Refactor queue_manager in :class:`concurrent.futures.ProcessPoolExecutor` to
+make it easier to maintain.
+
+..
+
+.. bpo: 39764
+.. date: 2020-02-27-18-21-07
+.. nonce: wqPk68
+.. section: Library
+
+Fix AttributeError when calling get_stack on a PyAsyncGenObject Task
+
+..
+
+.. bpo: 39769
+.. date: 2020-02-27-00-40-21
+.. nonce: hJmxu4
+.. section: Library
+
+The :func:`compileall.compile_dir` function's *ddir* parameter and the
+compileall command line flag `-d` no longer write the wrong pathname to the
+generated pyc file for submodules beneath the root of the directory tree
+being compiled. This fixes a regression introduced with Python 3.5.
+
+..
+
+.. bpo: 36144
+.. date: 2020-02-25-09-28-06
+.. nonce: Rbvvi7
+.. section: Library
+
+:class:`types.MappingProxyType` objects now support the merge (``|``)
+operator from :pep:`584`.
+
+..
+
+.. bpo: 38691
+.. date: 2020-02-23-02-09-03
+.. nonce: oND8Sk
+.. section: Library
+
+The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK`
+environment variable when the :option:`-E` or :option:`-I` command line
+options are being used.
+
+..
+
+.. bpo: 39719
+.. date: 2020-02-21-22-35-57
+.. nonce: 2jLy1C
+.. section: Library
+
+Remove :meth:`tempfile.SpooledTemporaryFile.softspace` as files no longer
+have the ``softspace`` attribute in Python 3. Patch by Shantanu.
+
+..
+
+.. bpo: 39667
+.. date: 2020-02-17-22-38-15
+.. nonce: QuzEHH
+.. section: Library
+
+Improve pathlib.Path compatibility on zipfile.Path and correct performance
+degradation as found in zipp 3.0.
+
+..
+
+.. bpo: 39638
+.. date: 2020-02-15-20-38-11
+.. nonce: wm_RS3
+.. section: Library
+
+Keep ASDL signatures in the docstrings for ``AST`` nodes. Patch by Batuhan
+Taskaya
+
+..
+
+.. bpo: 39639
+.. date: 2020-02-15-15-29-34
+.. nonce: 3mqJjm
+.. section: Library
+
+Deprecated ``ast.Suite`` node class because it's no longer used. Patch by
+Batuhan Taskaya.
+
+..
+
+.. bpo: 39609
+.. date: 2020-02-11-19-45-31
+.. nonce: dk40Uw
+.. section: Library
+
+Add thread_name_prefix to default asyncio executor
+
+..
+
+.. bpo: 39548
+.. date: 2020-02-06-05-33-52
+.. nonce: DF4FFe
+.. section: Library
+
+Fix handling of header in :class:`urllib.request.AbstractDigestAuthHandler`
+when the optional ``qop`` parameter is not present.
+
+..
+
+.. bpo: 39509
+.. date: 2020-02-01-00-03-06
+.. nonce: -YxUSf
+.. section: Library
+
+HTTP status codes ``103 EARLY_HINTS`` and ``425 TOO_EARLY`` are added to
+:class:`http.HTTPStatus`. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39507
+.. date: 2020-01-31-14-24-05
+.. nonce: 3oln1a
+.. section: Library
+
+Adding HTTP status 418 "I'm a Teapot" to HTTPStatus in http library. Patch
+by Ross Rhodes.
+
+..
+
+.. bpo: 39495
+.. date: 2020-01-30-07-02-02
+.. nonce: 8LsIRN
+.. section: Library
+
+Remove default value from *attrs* parameter of
+:meth:`xml.etree.ElementTree.TreeBuilder.start` for consistency between
+Python and C implementations.
+
+..
+
+.. bpo: 38971
+.. date: 2019-12-20-16-06-28
+.. nonce: fKRYlF
+.. section: Library
+
+Open issue in the BPO indicated a desire to make the implementation of
+codecs.open() at parity with io.open(), which implements a try/except to
+assure file stream gets closed before an exception is raised.
+
+..
+
+.. bpo: 38641
+.. date: 2019-10-30-15-31-09
+.. nonce: HrTL9k
+.. section: Library
+
+Added starred expressions support to ``return`` and ``yield`` statements for
+``lib2to3``. Patch by Vlad Emelianov.
+
+..
+
+.. bpo: 37534
+.. date: 2019-08-20-00-02-37
+.. nonce: TvjAUi
+.. section: Library
+
+When using minidom module to generate XML documents the ability to add
+Standalone Document Declaration is added. All the changes are made to
+generate a document in compliance with Extensible Markup Language (XML) 1.0
+(Fifth Edition) W3C Recommendation (available here:
+https://www.w3.org/TR/xml/#sec-prolog-dtd).
+
+..
+
+.. bpo: 34788
+.. date: 2019-07-17-08-26-14
+.. nonce: pwV1OK
+.. section: Library
+
+Add support for scoped IPv6 addresses to :mod:`ipaddress`. Patch by
+Oleksandr Pavliuk.
+
+..
+
+.. bpo: 34822
+.. date: 2018-09-27-19-31-47
+.. nonce: EztBhL
+.. section: Library
+
+Simplified AST for subscription. Simple indices are now represented by their
+value, extended slices are represented as tuples. :mod:`ast` classes
+``Index`` and ``ExtSlice`` are considered deprecated and will be removed in
+future Python versions. In the meantime, ``Index(value)`` now returns a
+``value`` itself, ``ExtSlice(slices)`` returns ``Tuple(slices, Load())``.
+
+..
+
+.. bpo: 39868
+.. date: 2020-03-05-16-29-03
+.. nonce: JQoHhO
+.. section: Documentation
+
+Updated the Language Reference for :pep:`572`.
+
+..
+
+.. bpo: 13790
+.. date: 2020-02-28-14-39-25
+.. nonce: hvLaRI
+.. section: Documentation
+
+Change 'string' to 'specification' in format doc.
+
+..
+
+.. bpo: 17422
+.. date: 2020-02-27-17-35-27
+.. nonce: eS1hVh
+.. section: Documentation
+
+The language reference no longer restricts default class namespaces to dicts
+only.
+
+..
+
+.. bpo: 39530
+.. date: 2020-02-23-13-26-40
+.. nonce: _bCvzQ
+.. section: Documentation
+
+Fix misleading documentation about mixed-type numeric comparisons.
+
+..
+
+.. bpo: 39718
+.. date: 2020-02-21-22-05-20
+.. nonce: xtBoSi
+.. section: Documentation
+
+Update :mod:`token` documentation to reflect additions in Python 3.8
+
+..
+
+.. bpo: 39677
+.. date: 2020-02-18-14-28-31
+.. nonce: vNHqoX
+.. section: Documentation
+
+Changed operand name of **MAKE_FUNCTION** from *argc* to *flags* for module
+:mod:`dis`
+
+..
+
+.. bpo: 40019
+.. date: 2020-03-20-00-30-36
+.. nonce: zOqHpQ
+.. section: Tests
+
+test_gdb now skips tests if it detects that gdb failed to read debug
+information because the Python binary is optimized.
+
+..
+
+.. bpo: 27807
+.. date: 2020-03-18-16-04-33
+.. nonce: 9gKjET
+.. section: Tests
+
+``test_site.test_startup_imports()`` is now skipped if a path of
+:data:`sys.path` contains a ``.pth`` file.
+
+..
+
+.. bpo: 26067
+.. date: 2020-03-16-20-54-55
+.. nonce: m18_VV
+.. section: Tests
+
+Do not fail test_shutil test_chown test when uid or gid of user cannot be
+resolved to a name.
+
+..
+
+.. bpo: 39855
+.. date: 2020-03-04-23-03-01
+.. nonce: Ql5xv8
+.. section: Tests
+
+test_subprocess.test_user() now skips the test on an user name if the user
+name doesn't exist. For example, skip the test if the user "nobody" doesn't
+exist on Linux.
+
+..
+
+.. bpo: 39761
+.. date: 2020-03-03-15-56-07
+.. nonce: k10aGe
+.. section: Build
+
+Fix build with DTrace but without additional DFLAGS.
+
+..
+
+.. bpo: 39763
+.. date: 2020-03-02-14-44-09
+.. nonce: GGEwhH
+.. section: Build
+
+setup.py now uses a basic implementation of the :mod:`subprocess` module if
+the :mod:`subprocess` module is not available: before required C extension
+modules are built.
+
+..
+
+.. bpo: 1294959
+.. date: 2020-02-06-18-08-25
+.. nonce: AZPg4R
+.. section: Build
+
+Add ``--with-platlibdir`` option to the configure script: name of the
+platform-specific library directory, stored in the new
+:attr:`sys.platlibdir` attribute. It is used to build the path of
+platform-specific dynamic libraries and the path of the standard library. It
+is equal to ``"lib"`` on most platforms. On Fedora and SuSE, it is equal to
+``"lib64"`` on 64-bit platforms. Patch by Jan Matějek, Matěj Cepl,
+Charalampos Stratakis and Victor Stinner.
+
+..
+
+.. bpo: 39930
+.. date: 2020-03-11-10-15-56
+.. nonce: LGHw1j
+.. section: Windows
+
+Ensures the required :file:`vcruntime140.dll` is included in install
+packages.
+
+..
+
+.. bpo: 39847
+.. date: 2020-03-04-17-05-11
+.. nonce: C3N2m3
+.. section: Windows
+
+Avoid hang when computer is hibernated whilst waiting for a mutex (for
+lock-related objects from :mod:`threading`) around 49-day uptime.
+
+..
+
+.. bpo: 38597
+.. date: 2020-03-01-15-04-54
+.. nonce: MnHdYl
+.. section: Windows
+
+:mod:`distutils` will no longer statically link :file:`vcruntime140.dll`
+when a redistributable version is unavailable. All future releases of
+CPython will include a copy of this DLL to ensure distributed extensions can
+continue to load.
+
+..
+
+.. bpo: 38380
+.. date: 2020-02-28-23-51-27
+.. nonce: TpOBCj
+.. section: Windows
+
+Update Windows builds to use SQLite 3.31.1
+
+..
+
+.. bpo: 39789
+.. date: 2020-02-28-22-46-09
+.. nonce: 67XRoP
+.. section: Windows
+
+Update Windows release build machines to Visual Studio 2019 (MSVC 14.2).
+
+..
+
+.. bpo: 34803
+.. date: 2020-02-25-18-43-34
+.. nonce: S3VcS0
+.. section: Windows
+
+Package for nuget.org now includes repository reference and bundled icon
+image.
+
+..
+
+.. bpo: 38380
+.. date: 2020-02-28-23-51-47
+.. nonce: u-ySyA
+.. section: macOS
+
+Update macOS builds to use SQLite 3.31.1
+
+..
+
+.. bpo: 27115
+.. date: 2020-03-09-02-45-12
+.. nonce: 8hSHMo
+.. section: IDLE
+
+For 'Go to Line', use a Query box subclass with IDLE standard behavior and
+improved error checking.
+
+..
+
+.. bpo: 39885
+.. date: 2020-03-08-14-27-36
+.. nonce: 29ERiR
+.. section: IDLE
+
+Since clicking to get an IDLE context menu moves the cursor, any text
+selection should be and now is cleared.
+
+..
+
+.. bpo: 39852
+.. date: 2020-03-06-01-55-14
+.. nonce: QjA1qF
+.. section: IDLE
+
+Edit "Go to line" now clears any selection, preventing accidental deletion.
+It also updates Ln and Col on the status bar.
+
+..
+
+.. bpo: 39781
+.. date: 2020-02-27-22-17-09
+.. nonce: bbYBeL
+.. section: IDLE
+
+Selecting code context lines no longer causes a jump.
+
+..
+
+.. bpo: 36184
+.. date: 2020-03-09-13-28-13
+.. nonce: BMPJ0D
+.. section: Tools/Demos
+
+Port python-gdb.py to FreeBSD. python-gdb.py now checks for "take_gil"
+function name to check if a frame tries to acquire the GIL, instead of
+checking for "pthread_cond_timedwait" which is specific to Linux and can be
+a different condition than the GIL.
+
+..
+
+.. bpo: 38080
+.. date: 2019-09-18-13-49-56
+.. nonce: Nbl7lF
+.. section: Tools/Demos
+
+Added support to fix ``getproxies`` in the :mod:`lib2to3.fixes.fix_urllib`
+module. Patch by José Roberto Meza Cabrera.
+
+..
+
+.. bpo: 40024
+.. date: 2020-03-20-18-41-33
+.. nonce: 9zHpve
+.. section: C API
+
+Add :c:func:`PyModule_AddType` helper function: add a type to a module.
+Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39946
+.. date: 2020-03-20-17-05-52
+.. nonce: 3NS-Ls
+.. section: C API
+
+Remove ``_PyRuntime.getframe`` hook and remove ``_PyThreadState_GetFrame``
+macro which was an alias to ``_PyRuntime.getframe``. They were only exposed
+by the internal C API. Remove also ``PyThreadFrameGetter`` type.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-20-14-55-09
+.. nonce: W7uCJ3
+.. section: C API
+
+Add :c:func:`PyThreadState_GetFrame` function: get the current frame of a
+Python thread state.
+
+..
+
+.. bpo: 37207
+.. date: 2020-03-14-01-56-03
+.. nonce: R3jaTy
+.. section: C API
+
+Add _PyArg_NoKwnames helper function. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-13-18-10-58
+.. nonce: gmEAaU
+.. section: C API
+
+Add :c:func:`PyThreadState_GetInterpreter`: get the interpreter of a Python
+thread state.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-13-17-43-00
+.. nonce: 1Cu_d2
+.. section: C API
+
+Add :c:func:`PyInterpreterState_Get` function to the limited C API.
+
+..
+
+.. bpo: 35370
+.. date: 2020-03-13-16-44-23
+.. nonce: sXRA-r
+.. section: C API
+
+If :c:func:`PySys_Audit` fails in :c:func:`PyEval_SetProfile` or
+:c:func:`PyEval_SetTrace`, log the error as an unraisable exception.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-13-00-15-19
+.. nonce: w3dIru
+.. section: C API
+
+Move the static inline function flavor of Py_EnterRecursiveCall() and
+Py_LeaveRecursiveCall() to the internal C API: they access PyThreadState
+attributes. The limited C API provides regular functions which hide
+implementation details.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-12-23-47-57
+.. nonce: -nCdFV
+.. section: C API
+
+Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no longer access
+PyThreadState attributes, but call new private _PyTrash_begin() and
+_PyTrash_end() functions which hide implementation details.
+
+..
+
+.. bpo: 39884
+.. date: 2020-03-12-00-27-26
+.. nonce: CGOJBO
+.. section: C API
+
+:c:func:`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` now include the
+method name in the SystemError "bad call flags" error message to ease debug.
+
+..
+
+.. bpo: 39877
+.. date: 2020-03-10-00-18-16
+.. nonce: GOYtIm
+.. section: C API
+
+Deprecated :c:func:`PyEval_InitThreads` and
+:c:func:`PyEval_ThreadsInitialized`. Calling :c:func:`PyEval_InitThreads`
+now does nothing.
+
+..
+
+.. bpo: 38249
+.. date: 2020-03-09-20-27-19
+.. nonce: IxYbQy
+.. section: C API
+
+:c:macro:`Py_UNREACHABLE` is now implemented with
+``__builtin_unreachable()`` and analogs in release mode.
+
+..
+
+.. bpo: 38643
+.. date: 2020-03-08-22-56-22
+.. nonce: k2ixx6
+.. section: C API
+
+:c:func:`PyNumber_ToBase` now raises a :exc:`SystemError` instead of
+crashing when called with invalid base.
+
+..
+
+.. bpo: 39882
+.. date: 2020-03-06-23-56-04
+.. nonce: Iqhcqm
+.. section: C API
+
+The :c:func:`Py_FatalError` function is replaced with a macro which logs
+automatically the name of the current function, unless the
+``Py_LIMITED_API`` macro is defined.
+
+..
+
+.. bpo: 39824
+.. date: 2020-03-02-11-29-45
+.. nonce: 71_ZMn
+.. section: C API
+
+Extension modules: :c:member:`~PyModuleDef.m_traverse`,
+:c:member:`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free`
+functions of :c:type:`PyModuleDef` are no longer called if the module state
+was requested but is not allocated yet. This is the case immediately after
+the module is created and before the module is executed
+(:c:data:`Py_mod_exec` function). More precisely, these functions are not
+called if :c:member:`~PyModuleDef.m_size` is greater than 0 and the module
+state (as returned by :c:func:`PyModule_GetState`) is ``NULL``.
+
+Extension modules without module state (``m_size <= 0``) are not affected.
+
+..
+
+.. bpo: 38913
+.. date: 2020-02-25-20-10-34
+.. nonce: siF1lS
+.. section: C API
+
+Fixed segfault in ``Py_BuildValue()`` called with a format containing "#"
+and undefined PY_SSIZE_T_CLEAN whwn an exception is set.
+
+..
+
+.. bpo: 38500
+.. date: 2019-11-22-14-06-28
+.. nonce: nPEdjH
+.. section: C API
+
+Add a private API to get and set the frame evaluation function: add
+:c:func:`_PyInterpreterState_GetEvalFrameFunc` and
+:c:func:`_PyInterpreterState_SetEvalFrameFunc` C functions. The
+:c:type:`_PyFrameEvalFunction` function type now takes a *tstate* parameter.