Skip to content

Latest commit

 

History

History
437 lines (312 loc) · 9.5 KB

3.8.0b3.rst

File metadata and controls

437 lines (312 loc) · 9.5 KB

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.