From: Yury Selivanov Date: Wed, 9 Nov 2016 00:59:29 +0000 (-0500) Subject: Merge 3.5 (issue #28639) X-Git-Tag: v3.6.0b4~118 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8aa0c6eec26cd59711a2df6d482171f1804f2a7;p=python Merge 3.5 (issue #28639) --- d8aa0c6eec26cd59711a2df6d482171f1804f2a7 diff --cc Misc/NEWS index ffbdb8918f,7512e1a4d8..d787a29046 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,70 -10,105 +10,73 @@@ What's New in Python 3.6.0 beta Core and Builtins ----------------- -- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug - build. - -- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception - loss in PyTraceBack_Here(). - -- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). +- Issue #28583: PyDict_SetDefault didn't combine split table when needed. Patch by Xiang Zhang. -- Issue #28376: The type of long range iterator is now registered as Iterator. - Patch by Oren Milman. - -- Issue #28376: The constructor of range_iterator now checks that step is not 0. - Patch by Oren Milman. - -- Issue #26906: Resolving special methods of uninitialized type now causes - implicit initialization of the type instead of a fail. - -- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. - Original patch by Niklas Koep. - -- Issue #24098: Fixed possible crash when AST is changed in process of - compiling it. - -- Issue #28350: String constants with null character no longer interned. - -- Issue #26617: Fix crash when GC runs during weakref callbacks. - -- Issue #27942: String constants now interned recursively in tuples and frozensets. +- Issue #27243: Change PendingDeprecationWarning -> DeprecationWarning. + As it was agreed in the issue, __aiter__ returning an awaitable + should result in PendingDeprecationWarning in 3.5 and in + DeprecationWarning in 3.6. -- Issue #21578: Fixed misleading error message when ImportError called with - invalid keyword args. +- Issue #26182: Fix a refleak in code that raises DeprecationWarning. -- Issue #28203: Fix incorrect type in error message from - ``complex(1.0, {2:3})``. Patch by Soumya Sharma. +Library +------- -- Issue #27955: Fallback on reading /dev/urandom device when the getrandom() - syscall fails with EPERM, for example when blocked by SECCOMP. +- Issue #28563: Fixed possible DoS and arbitrary code execution when handle + plural form selections in the gettext module. The expression parser now + supports exact syntax supported by GNU gettext. -- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport - should use the same optimization level as the interpreter. +- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when + the garbage collector is invoked in other thread. Based on patch by + Sebastian Cufre. -- Issue #25221: Fix corrupted result from PyLong_FromLong(0) when - Python is compiled with NSMALLPOSINTS = 0. +- Issue #28600: Optimize loop.call_soon. -- Issue #25758: Prevents zipimport from unnecessarily encoding a filename - (patch by Eryk Sun) +- Issue #28613: Fix get_event_loop() return the current loop if + called from coroutines/callbacks. -- Issue #28189: dictitems_contains no longer swallows compare errors. - (Patch by Xiang Zhang) +- Issue #28634: Fix asyncio.isfuture() to support unittest.Mock. -- Issue #27812: Properly clear out a generator's frame's backreference to the - generator to prevent crashes in frame.clear(). +- Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw. -- Issue #27811: Fix a crash when a coroutine that has not been awaited is - finalized with warnings-as-errors enabled. ++- Issue #28639: Fix inspect.isawaitable to always return bool ++ Patch by Justin Mayfield. + -- Issue #27587: Fix another issue found by PVS-Studio: Null pointer check - after use of 'def' in _PyState_AddModule(). - Initial patch by Christian Heimes. +Documentation +------------- -- Issue #26020: set literal evaluation order did not match documented behaviour. +- Issue #28513: Documented command-line interface of zipfile. -- Issue #27782: Multi-phase extension module import now correctly allows the - ``m_methods`` field to be used to add module level functions to instances - of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang. -- Issue #27936: The round() function accepted a second None argument - for some types but not for others. Fixed the inconsistency by - accepting None for all numeric types. +What's New in Python 3.6.0 beta 3 +================================= -- Issue #27487: Warn if a submodule argument to "python -m" or - runpy.run_module() is found in sys.modules after parent packages are - imported, but before the submodule is executed. +*Release date: 2016-10-31* -- Issue #27558: Fix a SystemError in the implementation of "raise" statement. - In a brand new thread, raise a RuntimeError since there is no active - exception to reraise. Patch written by Xiang Zhang. +Core and Builtins +----------------- -- Issue #27419: Standard __import__() no longer look up "__import__" in globals - or builtins for importing submodules or "from import". Fixed handling an - error of non-string package name. +- Issue #28128: Deprecation warning for invalid str and byte escape + sequences now prints better information about where the error + occurs. Patch by Serhiy Storchaka and Eric Smith. -- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows. +- Issue #28509: dict.update() no longer allocate unnecessary large memory. -- Issue #27514: Make having too many statically nested blocks a SyntaxError - instead of SystemError. +- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug + build. -- Issue #27473: Fixed possible integer overflow in bytes and bytearray - concatenations. Patch by Xiang Zhang. +- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused + keeping unreachable code. -- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by - Xiang Zhang. +- Issue #28214: Improved exception reporting for problematic __set_name__ + attributes. -- Issue #27581: Don't rely on wrapping for overflow check in - PySequence_Tuple(). Patch by Xiang Zhang. +- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception + loss in PyTraceBack_Here(). -- Issue #27443: __length_hint__() of bytearray iterators no longer return a - negative integer for a resized bytearray. +- Issue #28471: Fix "Python memory allocator called without holding the GIL" + crash in socket.setblocking. Library -------