Fix an infinite loop when parsing specially crafted email headers. Patch by Abhilash Raj.
Swap the positions of the posonlyargs and args parameters in the constructor of :class:`ast.parameters` nodes.
Implemented separate vectorcall functions for every calling convention of builtin functions and methods. This improves performance for calls.
Syncronize importlib.metadata
with importlib_metadata 0.19,
improving handling of EGG-INFO files and fixing a crash when entry point
names contained colons.
Let math.dist() accept coordinates as sequences (or iterables) rather than just tuples.
Update wheels bundled with ensurepip (pip 19.2.1 and setuptools 41.0.1)
Make internal attributes for statistics.NormalDist() private.
Fix IndexError
when parsing email headers with unexpectedly ending
bare-quoted string value. Patch by Abhilash Raj.
Return :exc:`NotImplemented` in Python implementation of __eq__
for
:class:`~datetime.timedelta` and :class:`~datetime.time` when the other
object being compared is not of the same type to match C implementation.
Patch by Karthikeyan Singaravelan.
Record calls to parent when autospecced object is attached to a mock using :func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan.
pickle.loads() no longer raises TypeError when the buffers argument is set to None
Correct behavior for zipfile.Path.parent when the path object identifies a subdirectory.
Fix the .col_offset
attribute of nested :class:`ast.BinOp` instances
which had a too large value in some situations.
Fix :func:`multiprocessing.util.get_temp_dir` finalizer: clear also the
'tempdir' configuration of the current process, so next call to
get_temp_dir()
will create a new temporary directory, rather than
reusing the removed temporary directory.
The distutils bdist_wininst
command is deprecated in Python 3.8, use
bdist_wheel
(wheel packages) instead.
An :class:`~argparse.ArgumentParser` with allow_abbrev=False
no longer
disables grouping of short flags, such as -vv
, but only disables
abbreviation of long flags as documented. Patch by Zac Hatfield-Dodds.
:meth:`sqlite3.Connection.create_aggregate`, :meth:`sqlite3.Connection.create_function`, :meth:`sqlite3.Connection.set_authorizer`, :meth:`sqlite3.Connection.set_progress_handler` :meth:`sqlite3.Connection.set_trace_callback` methods lead to segfaults if some of these methods are called twice with an equal object but not the same. Now callbacks are stored more carefully. Patch by Aleksandr Balezin.
Fix infinite loop in email header folding logic that would be triggered when an email policy's max_line_length is not long enough to include the required markup and any values in the message. Patch by Paul Ganssle
Remove implementation-specific behaviour of how venv's Deactivate works.
Add a brief note to indicate that any new sys.implementation
required
attributes must go through the PEP process.
Documented that :class:`mailbox.Maildir` constructor doesn't attempt to verify the maildir folder layout correctness. Patch by Sviatoslav Sydorenko.
Fix importlib examples to insert any newly created modules via importlib.util.module_from_spec() immediately into sys.modules instead of after calling loader.exec_module().
Thanks to Benjamin Mintz for finding the bug.
Slash ('/') is now part of syntax.
Fix PyList_GetItem index description to include 0.
Replace the dead link to the Tkinter 8.5 reference by John Shipman, New Mexico Tech, with a link to the archive.org copy.
Added possible exceptions to the description of os.chdir().
Fix test_shared_memory_cleaned_after_process_termination name handling
Add :func:`test.support.catch_threading_exception`: context manager catching :class:`threading.Thread` exception using :func:`threading.excepthook`.
test_concurrent_futures now explicitly stops the ForkServer instance if it's running.
multiprocessing tests now stop the ForkServer instance if it's running: close the "alive" file descriptor to ask the server to stop and then remove its UNIX address.
Reduce the number of unit tests run for the PGO generation task. This speeds up the task by a factor of about 15x. Running the full unit test suite is slow. This change may result in a slightly less optimized build since not as many code branches will be executed. If you are willing to wait for the much slower build, the old behavior can be restored using './configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no guarantees as to which PGO task set produces a faster build. Users who care should run their own relevant benchmarks as results can depend on the environment, workload, and compiler tool chain.
Switch Windows Store package's pip to use bundled :file:`pip.ini` instead of :envvar:`PIP_USER` variable.
Improve highlight config sample with example shell interaction and better labels for shell elements.
Settings dialog no longer expands with font size.
Initialize the Customize Run dialog with the command line arguments most recently entered before. The user can optionally edit before submitting them.
Fix code context not showing the correct context when first toggled on.
Optimize code context to reduce unneeded background activity. Font and highlight changes now occur along with text changes instead of after a random delay.
Cleanup config.py
by inlining RemoveFile
and simplifying the
handling of file
in CreateConfigHandlers
.
Add optional line numbers for IDLE editor windows. Windows open without line numbers unless set otherwise in the General tab of the configuration dialog.
To compensate for stack frames added by IDLE and avoid possible problems with low recursion limits, add 30 to limits in the user code execution process. Subtract 30 when reporting recursion limits to make this addition mostly transparent.
Gather Format menu functions into format.py. Combine paragraph.py, rstrip.py, and format methods from editor.py.
2to3 now works when run from a zipped standard library.