#4655: Python-3.8.3
--------------------+-----------------------
Reporter: bdubbs | Owner: lfs-book
Type: task | Status: new
Priority: normal | Milestone: 9.2
Component: Book | Version: SVN
Severity: normal | Resolution:
Keywords: |
--------------------+-----------------------
Comment (by bdubbs):
What's New in Python 3.8.3 final?
Release date: 2020-05-13
Core and Builtins
- bpo-40527: Fix command line argument parsing: no longer write errors
multiple times into stderr.
- bpo-40417: Fix imp module deprecation warning when PyImport_ReloadModule
is called. Patch by Robert Rouhani.
- bpo-39562: The constant values of future flags in the :mod:`__future__`
module are updated in order to prevent collision with compiler flags.
Previously ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with
``CO_FUTURE_DIVISION``.
Library
- bpo-40559: Fix possible memory leak in the C implementation of
:class:`asyncio.Task`.
- bpo-40355: Improve error reporting in :func:`ast.literal_eval` in the
presence of malformed :class:`ast.Dict` nodes instead of silently
ignoring
any non-conforming elements. Patch by Curtis Bucher.
- bpo-40459: :func:`platform.win32_ver` now produces correct *ptype*
strings
instead of empty strings.
- bpo-40398: :func:`typing.get_args` now always returns an empty tuple for
special generic aliases.
Documentation
- bpo-40561: Provide docstrings for webbrowser open functions.
- bpo-39435: Fix an incorrect signature for :func:`pickle.loads` in the
docs
Windows
- bpo-40458: Increase reserved stack space to prevent overflow crash on
Windows.
C API
- bpo-40412: Nullify inittab_copy during finalization, preventing future
interpreter initializations in an embedded situation from crashing.
Patch
by Gregory Szorc.
What's New in Python 3.8.3 release candidate 1?
Security
- bpo-40121: Fixes audit events raised on creating a new socket.
- bpo-38576: 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-39503: 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.
Core and Builtins
- bpo-20526: 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-39965: Correctly raise ``SyntaxError`` if *await* is used inside
non-async functions and ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in
the
asyncio REPL).
- bpo-39562: Allow executing asynchronous comprehensions on the top level
when the ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag is given.
- bpo-38894: 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.
- bpo-39871: Fix a possible :exc:`SystemError` in
``math.{atan2,copysign,remainder}()`` when the first argument cannot be
converted to a :class:`float`.
- bpo-39776: 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: Fixed a crash due to incorrect handling of weak references in
``collections.OrderedDict`` classes. Patch by Pablo Galindo.
- bpo-39520: Fix unparsing of ext slices with no items (``foo[:,]``).
Patch
by Batuhan Taskaya.
- bpo-22490: Don't leak environment variable ``__PYVENV_LAUNCHER__`` into
the interpreter session on macOS.
Library
- bpo-40138: 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: Set "__main__" as the default module name when "__name__" is
missing in :class:`typing.TypeVar`. Patch by Weipeng Hong.
- bpo-40330: In :meth:`ShareableList.__setitem__`, check the size of a new
string item after encoding it to utf-8, not before.
- bpo-40287: Fixed ``SpooledTemporaryFile.seek()`` to return the position.
- bpo-40260: Ensure :mod:`modulefinder` uses :func:`io.open_code` and
respects coding comments.
- bpo-40196: Fix a bug in the :mod:`symtable` module that was causing
incorrectly report global variables as local. Patch by Pablo Galindo.
- bpo-40126: 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-40089: 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-39503: :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-40014: 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-40016: In re docstring, clarify the relationship between inline and
argument compile flags.
- bpo-39953: Update internal table of OpenSSL error codes in the ``ssl``
module.
- bpo-39360: 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``.
- bpo-39652: The column name found in ``sqlite3.Cursor.description`` is
now
truncated on the first '[' only if the PARSE_COLNAMES option is set.
- bpo-39915: 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-38662: 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-39916: More reliable use of ``os.scandir()`` in ``Path.glob()``. It
no
longer emits a ResourceWarning when interrupted.
- bpo-39850: :mod:`multiprocessing` now supports abstract socket addresses
(if abstract sockets are supported in the running platform). Patch by
Pablo Galindo.
- bpo-39828: Fix :mod:`json.tool` to catch :exc:`BrokenPipeError`. Patch
by
Dong-hee Na.
- bpo-13487: Avoid a possible *"RuntimeError: dictionary changed size
during
iteration"* from :func:`inspect.getmodule` when it tried to loop through
:attr:`sys.modules`.
- bpo-39794: Add --without-decimal-contextvar build option. This enables
a
thread-local rather than a coroutine local context.
- bpo-39769: 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-39517: Fix runpy.run_path() when using pathlike objects
- bpo-39764: Fix AttributeError when calling get_stack on a
PyAsyncGenObject
Task
- bpo-30566: Fix :exc:`IndexError` when trying to decode an invalid string
with punycode codec.
- bpo-39667: Correct performance degradation in ``zipfile.Path`` as found
in
zipp 3.0. While retaining compatibility, this change discourages the use
of ``zipfile.Path.open`` due to the signature change in Python 3.9. For
compatibility across Python 3.8 and later versions, consider using
``zipp.Path`` on Python 3.8.x and earlier.
- bpo-39548: Fix handling of header in
:class:`urllib.request.AbstractDigestAuthHandler` when the optional
``qop`` parameter is not present.
- bpo-38971: 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-38410: Properly handle :func:`sys.audit` failures in
:func:`sys.set_asyncgen_hooks`.
- bpo-36541: lib2to3 now recognizes named assignment expressions (the
walrus
operator, ``:=``)
- bpo-31758: Prevent crashes when using an uninitialized
``_elementtree.XMLParser`` object.
Build
- bpo-38360: Support single-argument form of macOS -isysroot flag.
- bpo-40204: Pin Sphinx version to 1.8.2 in ``Doc/Makefile``.
- bpo-40158: Fix CPython MSBuild Properties in NuGet Package
(build/native/python.props)
- bpo-38527: Fix configure check on Solaris for "float word ordering":
sometimes, the correct "grep" command was not being used.
--
Ticket URL: <http://wiki.linuxfromscratch.org/lfs/ticket/4655#comment:1>
LFS Trac <http://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.
--
http://lists.linuxfromscratch.org/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page