Python 3.6.4rc1

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEDZbfTUEQ5cQ/v7F/LTR+pqplQh0FAlomWJMACgkQLTR+pqpl
 Qh2zrg/+Pt0zn4IwkN/Kjd8K/anUMiNtLfhXalFXgYuyK0kkhkQD58Uh2jGD3zfq
 zrDT2dsFSmLMthIIrHade1kznnQ752+uIAL4Ohytk71vTo2Pjmfd38wWRtE8unHm
 8WKHDraR7mQa5HeALOAiwdKZvfMW17SqUiffhbBcz6dOY1sgnR8LfvsgM8BR/IQK
 oBm2Ywpl8tJ7BNRTmKG9HvxZURhV/6D5MGEJA1W7cQHS9RAdZ5zqlTbqB6K2tCl4
 o91DXAfKatCi9gBJfx3vPS+Cw557wPFkVcwRSUrgns3l0hrFS5n77uHoJpKlT2lx
 e0YYx/EilES2UpgtCqPswNpvNIs0wui83ZSJFvDy5OTPnDAImZ0v8iNc1c729bbD
 JsOPXNXv9mxtkrmbWEzuDJp0vI4VrjLbCiIOtLbbQD8n01FqgimoUPyPGpPr2Gwl
 8a7eUs5l3a1fr8S4urxn4W+aVxLo2txtP5j+zRtw0o1OPX1qnJ2ajOS9gr6Q0Oip
 1crR/Um7YIP8YqXqhq54YqYvVDjOg4/Y9F77fUNTiKRP4N8Ungl5GXv2yG8bJ5Fl
 lWDa7o+WWJIOPZMW9ItTexvZy/4oiGSShN/i0qeiBNLvA9kUby+POxCzk4ipPymP
 4DQPWU+e+OEvyILzBuRPyV+4buONMml1TUuQQPUJv+IkoeJ5OAo=
 =2R3W
 -----END PGP SIGNATURE-----

Merge tag 'v3.6.4rc1' into 3.6
This commit is contained in:
Ned Deily 2017-12-05 20:39:16 -05:00
commit ff69423492
114 changed files with 1153 additions and 294 deletions

View file

@ -18,12 +18,12 @@
/*--start constants--*/
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 6
#define PY_MICRO_VERSION 3
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PY_RELEASE_SERIAL 0
#define PY_MICRO_VERSION 4
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.6.3+"
#define PY_VERSION "3.6.4rc1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Mon Sep 18 23:00:11 2017
# Autogenerated by Sphinx on Tue Dec 5 03:11:02 2017
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -2674,7 +2674,6 @@ topics = {'assert': 'The "assert" statement\n'
' mgr = (EXPR)\n'
' aexit = type(mgr).__aexit__\n'
' aenter = type(mgr).__aenter__(mgr)\n'
' exc = True\n'
'\n'
' VAR = await aenter\n'
' try:\n'
@ -4503,12 +4502,6 @@ topics = {'assert': 'The "assert" statement\n'
' 3.14 10. .001 1e100 3.14e-10 0e0 '
'3.14_15_93\n'
'\n'
'Note that numeric literals do not include a sign; a phrase like '
'"-1"\n'
'is actually an expression composed of the unary operator "-" and '
'the\n'
'literal "1".\n'
'\n'
'Changed in version 3.6: Underscores are now allowed for '
'grouping\n'
'purposes in literals.\n',
@ -5497,7 +5490,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'**CPython implementation detail:** The current implementation does '
'not\n'
'enforce some of these restriction, but programs should not abuse '
'enforce some of these restrictions, but programs should not abuse '
'this\n'
'freedom, as future implementations may enforce them or silently '
'change\n'
@ -6744,7 +6737,9 @@ topics = {'assert': 'The "assert" statement\n'
'Addition and subtraction |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "*", "@", "/", "//", "%" | '
'Multiplication, matrix multiplication |\n'
'Multiplication, matrix |\n'
'| | '
'multiplication, division, floor |\n'
'| | '
'division, remainder [5] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
@ -10102,11 +10097,6 @@ topics = {'assert': 'The "assert" statement\n'
'or\n'
'greater must be expressed with escapes.\n'
'\n'
'As of Python 3.3 it is possible again to prefix string literals '
'with a\n'
'"u" prefix to simplify maintenance of dual 2.x and 3.x '
'codebases.\n'
'\n'
'Both string and bytes literals may optionally be prefixed with a\n'
'letter "\'r\'" or "\'R\'"; such strings are called *raw strings* '
'and treat\n'

1142
Misc/NEWS.d/3.6.4rc1.rst Normal file

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
Avoid wholesale rebuild after `make regen-all` if nothing changed.

View file

@ -1 +0,0 @@
Prevent double substitution of prefix in python-config.sh.

View file

@ -1 +0,0 @@
Update OS X installer to use SQLite 3.21.0.

View file

@ -1 +0,0 @@
Update Windows builds to use SQLite 3.21.0.

View file

@ -1,2 +0,0 @@
Fixed Argument Clinic sometimes causing compilation errors when there was
more than one function and/or method in a .c file with the same name.

View file

@ -1 +0,0 @@
Abort the build when building out of a not clean source tree.

View file

@ -1 +0,0 @@
Fixes quotes in PCbuild/clean.bat

View file

@ -1 +0,0 @@
Fixes Windows SDK version detection when building for Windows.

View file

@ -1,2 +0,0 @@
``detect_modules()`` in ``setup.py`` now also searches the sysroot paths
when cross-compiling.

View file

@ -1,4 +0,0 @@
The `PyExc_RecursionErrorInst` singleton is removed and
`PyErr_NormalizeException()` does not use it anymore. This singleton is
persistent and its members being never cleared may cause a segfault during
finalization of the interpreter. See also issue #22898.

View file

@ -1,2 +0,0 @@
Fix memory corruption due to allocator mix in getpath.c between Py_GetPath()
and Py_SetPath()

View file

@ -1,3 +0,0 @@
Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python
thread before PyEval_InitThreads(), only call PyEval_InitThreads() after
calling PyThreadState_New() to fix a crash.

View file

@ -1,2 +0,0 @@
`PyErr_PrintEx()` clears now the ignored exception that may be raised by
`_PySys_SetObjectId()`, for example when no memory.

View file

@ -1,3 +0,0 @@
Fix an assertion failure in `warnings.warn_explicit`, when the return value
of the received loader's get_source() has a bad splitlines() method. Patch
by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix crashes in true division and multiplication of a timedelta object by a
float with a bad as_integer_ratio() method. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix a crash in the ``__setstate__()`` method of `ctypes._CData`, in case of
a bad ``__dict__``. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix an assertion failure in imp.create_dynamic(), when spec.name is not a
string. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix an assertion failure in `_random.Random.seed()` in case the argument has a
bad ``__abs__()`` method. Patch by Oren Milman.

View file

@ -1,3 +0,0 @@
Fix an assertion failure in `ctypes` class definition, in case the class has
an attribute whose name is specified in ``_anonymous_`` but not in
``_fields_``. Patch by Oren Milman.

View file

@ -1,3 +0,0 @@
Fix assertion failures in case of failing to import from a module with a bad
``__name__`` attribute, and in case of failing to access an attribute of such
a module. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix an assertion failure in `json`, in case `_json.make_encoder()` received
a bad `encoder()` argument. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fix an assertion failure in `_warnings.warn()` in case of a bad
``__name__`` global. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Raise a `TypeError` with a helpful error message when class creation fails
due to a metaclass with a bad ``__prepare__()`` method. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fixed an assertion failure in Python parser in case of a bad `unicodedata.normalize()`.
Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
Fixed a ValueError when convert a string with large number of underscores
to integer with binary base.

View file

@ -1,2 +0,0 @@
Fixed a bug in debug memory allocator. There was a write to freed memory
after shrinking a memory block.

View file

@ -1,2 +0,0 @@
Restored blocking "from package import module" by setting
sys.modules["package.module"] to None.

View file

@ -1,3 +0,0 @@
Fix timeout rounding in the select module to round correctly negative timeouts between -1.0 and 0.0.
The functions now block waiting for events as expected. Previously, the call was incorrectly non-blocking.
Patch by Pablo Galindo.

View file

@ -1,3 +0,0 @@
Print the full context/cause chain of exceptions on interpreter exit, even
if an exception in the chain is unhashable or compares equal to later ones.
Patch by Zane Bitter.

View file

@ -1,2 +0,0 @@
Fixed OverflowError in the 'unicode-escape' codec and in
codecs.escape_decode() when decode an escaped non-ascii byte.

View file

@ -1,3 +0,0 @@
BytesWarning no longer emitted when the *fromlist* argument of
``__import__()`` or the ``__all__`` attribute of the module contain bytes
instances.

View file

@ -1,2 +0,0 @@
Fix a segmentation fault caused by a combination of the async soft keyword
and continuation lines.

View file

@ -1,3 +0,0 @@
Bytearray methods partition() and rpartition() now accept only bytes-like
objects as separator, as documented. In particular they now raise TypeError
rather of returning a bogus result when an integer is passed as a separator.

View file

@ -1 +0,0 @@
Fix the interactive interpreter looping endlessly when no memory.

View file

@ -1,9 +0,0 @@
Fixed several issues in printing tracebacks (PyTraceBack_Print()).
* Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
* Setting sys.tracebacklimit to None now causes using the default limit.
* Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.
* Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.
* Fixed output errors handling.

View file

@ -1,5 +0,0 @@
co_flags.CO_NOFREE is now always set correctly by the code object
constructor based on freevars and cellvars, rather than needing to be set
correctly by the caller. This ensures it will be cleared automatically when
additional cell references are injected into a modified code object and
function.

View file

@ -1,2 +0,0 @@
The operator functions without double underscores are preferred for clarity.
The one with underscores are only kept for back-compatibility.

View file

@ -1,2 +0,0 @@
Fix incorrect usage of ``get_history_length`` in readline documentation
example code. Patch by Brad Smith.

View file

@ -1 +0,0 @@
Added asyncio.BaseEventLoop.connect_accepted_socket versionaddded marker.

View file

@ -1,3 +0,0 @@
IDLE module browser now shows nested classes and functions.
Original patches for code and tests by Guilherme Polo and
Cheryl Sabella, respectively.

View file

@ -1 +0,0 @@
Default fonts now are scaled on HiDPI displays.

View file

@ -1,7 +0,0 @@
Rename IDLE's module browser from Class Browser to Module Browser.
The original module-level class and method browser became a module
browser, with the addition of module-level functions, years ago.
Nested classes and functions were added yesterday. For back-
compatibility, the virtual event <<open-class-browser>>, which
appears on the Keys tab of the Settings dialog, is not changed.
Patch by Cheryl Sabella.

View file

@ -1 +0,0 @@
Remove test order dependence in idle_test.test_browser.

View file

@ -1 +0,0 @@
IDLE - Make _htest, _utest parameters keyword only.

View file

@ -1,6 +0,0 @@
Simplify the API of IDLE's Module Browser.
Passing a widget instead of an flist with a root widget opens the option of
creating a browser frame that is only part of a window. Passing a full file
name instead of pieces assumed to come from a .py file opens the possibility
of browsing python files that do not end in .py.

View file

@ -1,15 +0,0 @@
Use non-Latin characters in the IDLE's Font settings sample.
Even if one selects a font that defines a limited subset of the unicode
Basic Multilingual Plane, tcl/tk will use other fonts that define a
character. The expanded example give users of non-Latin characters
a better idea of what they might see in IDLE's shell and editors.
To make room for the expanded sample, frames on the Font tab are
re-arranged. The Font/Tabs help explains a bit about the additions.

View file

@ -1,2 +0,0 @@
Fix a TypeError that caused a shell restart when printing a traceback that
includes an exception that is unhashable. Patch by Zane Bitter.

View file

@ -1,4 +0,0 @@
Test_code_module now passes if run after test_idle, which sets ps1.
The code module uses sys.ps1 if present or sets it to '>>> ' if not.
Test_code_module now properly tests both behaviors. Ditto for ps2.

View file

@ -1,2 +0,0 @@
The font sample in the IDLE configuration dialog is now editable.
Changes persist while IDLE remains open

View file

@ -1,4 +0,0 @@
IDLE -- Restrict shell prompt manipulaton to the shell. Editor and output
windows only see an empty last prompt line. This simplifies the code and
fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on
Shell start-up, but is not set or changed.

View file

@ -1,2 +0,0 @@
IDLE: Fix old and new bugs in pathbrowser; improve tests.
Patch mostly by Cheryl Sabella.

View file

@ -1,2 +0,0 @@
Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in
configdialog was replaced by ttk.Notebook.

View file

@ -1,6 +0,0 @@
Improve tk event exception tracebacks in IDLE.
When tk event handling is driven by IDLE's run loop, a confusing
and distracting queue.EMPTY traceback context is no longer added
to tk event exception tracebacks. The traceback is now the same
as when event handling is driven by user code. Patch based on a
suggestion by Serhiy Storchaka.

View file

@ -1,2 +0,0 @@
Make multiprocessing's forkserver process immune to Ctrl-C and other user interruptions.
If it crashes, restart it when necessary.

View file

@ -1 +0,0 @@
multiprocessing's semaphore tracker should be launched again if crashed.

View file

@ -1,3 +0,0 @@
Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative
timeouts on all OSes where it can only be a non-negative integer or -1.
Patch by Riccardo Coccioli.

View file

@ -1 +0,0 @@
``random.seed()`` now works with bytes in version=1

View file

@ -1,2 +0,0 @@
python -m ensurepip now exits with non-zero exit code if pip bootstrapping
has failed.

View file

@ -1 +0,0 @@
``threading.current_thread()`` should not return a dummy thread at shutdown.

View file

@ -1 +0,0 @@
Stop crashes when concurrently iterate over itertools.groupby() iterators.

View file

@ -1,3 +0,0 @@
inspect.unwrap() will now only try to unwrap an object
sys.getrecursionlimit() times, to protect against objects which create a new
object on every attribute access.

View file

@ -1 +0,0 @@
Avoid venv activate failures with undefined variables

View file

@ -1 +0,0 @@
Added a workaround for getkey() in curses for ncurses 5.7 and earlier.

View file

@ -1 +0,0 @@
Fix the string representation of a netrc object.

View file

@ -1 +0,0 @@
Fixed typo in the name of Tkinter's method adderrorinfo().

View file

@ -1,2 +0,0 @@
Fixed memory leaks in Tkinter's methods splitlist() and split() when pass a
string larger than 2 GiB.

View file

@ -1,2 +0,0 @@
Fix method set_protocol() of class _SSLProtocolTransport in asyncio module.
This method was previously modifying a wrong reference to the protocol.

View file

@ -1,2 +0,0 @@
an empty asyncio.Queue now doesn't leak memory when queue.get pollers
timeout

View file

@ -1,2 +0,0 @@
Prevent crashes in `_elementtree` due to unsafe cleanup of `Element.text`
and `Element.tail`. Patch by Oren Milman.

View file

@ -1 +0,0 @@
On Windows, faulthandler.enable() now ignores MSC and COM exceptions.

View file

@ -1 +0,0 @@
Fix possible crash in timedelta constructor called with custom integers.

View file

@ -1,2 +0,0 @@
Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object is
uninitialized. Patch by Oren Milman.

View file

@ -1,2 +0,0 @@
``idpattern`` in ``string.Template`` matched some non-ASCII characters. Now
it uses ``-i`` regular expression local flag to avoid non-ASCII characters.

View file

@ -1,2 +0,0 @@
Prevent a crash when calling the ``__init__()`` method of a
``sqlite3.Cursor`` object more than once. Patch by Oren Milman.

View file

@ -1 +0,0 @@
Fixed buffer overflow in select.kqueue.control().

View file

@ -1,3 +0,0 @@
traceback: Fix a TypeError that occurred during printing of exception
tracebacks when either the current exception or an exception in its
context/cause chain is unhashable. Patch by Zane Bitter.

View file

@ -1,4 +0,0 @@
Fix timeout rounding in time.sleep(), threading.Lock.acquire() and
socket.socket.settimeout() to round correctly negative timeouts between -1.0 and
0.0. The functions now block waiting for events as expected. Previously, the
call was incorrectly non-blocking. Patch by Pablo Galindo.

View file

@ -1 +0,0 @@
The ``manager`` property on LoggerAdapter objects is now properly settable.

View file

@ -1,2 +0,0 @@
If nested log adapters are used, the inner ``process()`` methods are no
longer omitted.

View file

@ -1 +0,0 @@
Fix multiprocessing.Process when stdout and/or stderr is closed or None.

View file

@ -1,3 +0,0 @@
Instances of pickle.Pickler subclass with the persistent_id() method and
pickle.Unpickler subclass with the persistent_load() method no longer create
reference cycles.

View file

@ -1 +0,0 @@
Fixed building the curses module on NetBSD.

View file

@ -1,2 +0,0 @@
Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
the comparison of the kqueue_event objects.

View file

@ -1,2 +0,0 @@
Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
Yamamoto.

View file

@ -1,2 +0,0 @@
plistlib now catches more errors when read binary plists and raises
InvalidFileException instead of unexpected exceptions.

View file

@ -1,3 +0,0 @@
Fixed stack corruption in curses.box() and curses.ungetmouse() when the size
of types chtype or mmask_t is less than the size of C long. curses.box()
now accepts characters as arguments. Based on patch by Steve Fink.

View file

@ -1,3 +0,0 @@
Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure
or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and
DragonFly BSD.

View file

@ -1,2 +0,0 @@
Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch
by Jack O'Connor.

View file

@ -1 +0,0 @@
Fix potential missed signal in signal.signal().

View file

@ -1,6 +0,0 @@
Fixed determining the MAC address in the uuid module:
* Using ifconfig on NetBSD and OpenBSD.
* Using arp on Linux, FreeBSD, NetBSD and OpenBSD.
Based on patch by Takayuki Shimizukawa.

View file

@ -1 +0,0 @@
Reduce performance overhead of asyncio debug mode.

View file

@ -1,2 +0,0 @@
Restored support of loading marshal files with the TYPE_INT64 code. These
files can be produced in Python 2.7.

View file

@ -1,2 +0,0 @@
Fixed the looping of asyncio in the case of reconnection the socket during
waiting async read/write from/to the socket.

View file

@ -1 +0,0 @@
Make asyncio.IncompleteReadError and LimitOverrunError pickleable.

View file

@ -1,6 +0,0 @@
Fixed issues with binary plists:
* Fixed saving bytearrays.
* Identical objects will be saved only once.
* Equal references will be load as identical objects.
* Added support for saving and loading recursive data structures.

View file

@ -1,3 +0,0 @@
``codecs.StreamReader.read(n)`` now returns not more than *n*
characters/bytes for non-negative *n*. This makes it compatible with
``read()`` methods of other file-like objects.

View file

@ -1,2 +0,0 @@
:func:`msilib.OpenDatabase` now raises a better exception message when it
couldn't open or create an MSI file. Initial patch by William Tisäter.

Some files were not shown because too many files have changed in this diff Show more