diff options
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) |
commit | dcd4c4f9c9f9fb75ad4c1f138a285fbe19a9cb61 (patch) | |
tree | 4f19e6ab3567e77ff8a7a57ea90bd48cfae60a1e /Misc/NEWS.d/3.9.0a5.rst | |
parent | 9a81ab107a54b8ca320fb703f7c68e14ccd9d016 (diff) | |
download | cpython-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.rst | 1310 |
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. |