- Issue #28583: PyDict_SetDefault didn't combine split table when needed.
Patch by Xiang Zhang.
-- 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 #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 #26182: Fix a refleak in code that raises DeprecationWarning.
+- Issue #28509: dict.update() no longer allocate unnecessary large memory.
-- Issue #28721: Fix asynchronous generators aclose() and athrow() to
- handle StopAsyncIteration propagation properly.
+- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
+ build.
-Library
--------
+- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused
+ keeping unreachable code.
-- Issue #26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
- :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by
- Omar Sandoval.
+- Issue #28214: Improved exception reporting for problematic __set_name__
+ attributes.
-- Issue #28752: Restored the __reduce__() methods of datetime objects.
+- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception
+ loss in PyTraceBack_Here().
-- Issue #28727: Regular expression patterns, _sre.SRE_Pattern objects created
- by re.compile(), become comparable (only x==y and x!=y operators). This
- change should fix the issue #18383: don't duplicate warning filters when the
- warnings module is reloaded (thing usually only done in unit tests).
+- Issue #28183: Optimize and cleanup dict iteration.
-- Issue #20572: The subprocess.Popen.wait method's undocumented
- endtime parameter now raises a DeprecationWarning.
+- Issue #26081: Added C implementation of asyncio.Future.
+ Original patch by Yury Selivanov.
-- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and
- from_buffer_copy() methods on abstract classes like Array.
+- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
+ Patch by Xiang Zhang.
-- Issue #19717: Makes Path.resolve() succeed on paths that do not exist.
- Patch by Vajrasky Kok
+- Issue #28376: The type of long range iterator is now registered as Iterator.
+ Patch by Oren Milman.
-- 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 #28376: Creating instances of range_iterator by calling range_iterator
+ type now is disallowed. Calling iter() on range instance is the only way.
+ Patch by Oren Milman.
-- 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 #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 #28201: Dict reduces possibility of 2nd conflict in hash table when
+ hashes have same lower bits.
+
+- Issue #28350: String constants with null character no longer interned.
-- Issue #28600: Optimize loop.call_soon.
+- Issue #26617: Fix crash when GC runs during weakref callbacks.
-- Issue #28613: Fix get_event_loop() return the current loop if
- called from coroutines/callbacks.
+- Issue #27942: String constants now interned recursively in tuples and frozensets.
-- Issue #28634: Fix asyncio.isfuture() to support unittest.Mock.
+- Issue #28289: ImportError.__init__ now resets not specified attributes.
-- Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw.
+- Issue #21578: Fixed misleading error message when ImportError called with
+ invalid keyword args.
-- Issue #28639: Fix inspect.isawaitable to always return bool
- Patch by Justin Mayfield.
+- Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message.
+ Patch by Soumya Sharma.
-- Issue #28652: Make loop methods reject socket kinds they do not support.
+- Issue #28086: Single var-positional argument of tuple subtype was passed
+ unscathed to the C-defined function. Now it is converted to exact tuple.
-- Issue #28653: Fix a refleak in functools.lru_cache.
+- Issue #28214: Now __set_name__ is looked up on the class instead of the
+ instance.
-- Issue #28703: Fix asyncio.iscoroutinefunction to handle Mock objects.
+- Issue #27955: Fallback on reading /dev/urandom device when the getrandom()
+ syscall fails with EPERM, for example when blocked by SECCOMP.
-- Issue #28704: Fix create_unix_server to support Path-like objects
- (PEP 519).
+- Issue #28192: Don't import readline in isolated mode.
-- Issue #28720: Add collections.abc.AsyncGenerator.
+- Issue #27441: Remove some redundant assignments to ob_size in longobject.c.
+ Thanks Oren Milman.
-Documentation
--------------
+- Issue #27222: Clean up redundant code in long_rshift function. Thanks
+ Oren Milman.
-- Issue #28513: Documented command-line interface of zipfile.
+- Upgrade internal unicode databases to Unicode version 9.0.0.
-Tests
------
+- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport
+ should use the same optimization level as the interpreter.
-- Issue #28666: Now test.support.rmtree is able to remove unwritable or
- unreadable directories.
+- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
+ optimize memcpy().
-- Issue #23839: Various caches now are cleared before running every test file.
+- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a
+ "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
-Build
------
+- Issue #26182: Raise DeprecationWarning when async and await keywords are
+ used as variable/attribute/class/function name.
-- Issue #10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and
- Michael Haubenwallner.
+- Issue #26182: Fix a refleak in code that raises DeprecationWarning.
-- Issue #26359: Rename --with-optimiations to --enable-optimizations.
+- Issue #28721: Fix asynchronous generators aclose() and athrow() to
+ handle StopAsyncIteration propagation properly.
-- Issue #28676: Prevent missing 'getentropy' declaration warning on macOS.
- Patch by Gareth Rees.
+Library
+-------
-What's New in Python 3.6.0 beta 3
-=================================
++- Issue #26937: The chown() method of the tarfile.TarFile class does not fail
++ now when the grp module cannot be imported, as for example on Android
++ platforms.
+
+- Issue #28847: dbm.dumb now supports reading read-only files and no longer
+ writes the index file when it is not changed. A deprecation warning is now
+ emitted if the index file is missed and recreated in the 'r' and 'w' modes
+ (will be an error in future Python releases).
-*Release date: 2016-10-31*
+- Issue #27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
+ re.sub() replacement templates regular expressions now are errors.
-Core and Builtins
------------------
+- Issue #28835: Fix a regression introduced in warnings.catch_warnings():
+ call warnings.showwarning() if it was overriden inside the context manager.
-- 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 #27172: To assist with upgrades from 2.7, the previously documented
+ deprecation of ``inspect.getfullargspec()`` has been reversed. This decision
+ may be revisited again after the Python 2.7 branch is no longer officially
+ supported.
-- Issue #28509: dict.update() no longer allocate unnecessary large memory.
+- Issue #28740: Add sys.getandroidapilevel(): return the build time API version
+ of Android as an integer. Function only available on Android.
-- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
- build.
+- Issue #26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
+ :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by
+ Omar Sandoval.
-- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused
- keeping unreachable code.
+- Issue #28752: Restored the __reduce__() methods of datetime objects.
-- Issue #28214: Improved exception reporting for problematic __set_name__
- attributes.
+- Issue #28727: Regular expression patterns, _sre.SRE_Pattern objects created
+ by re.compile(), become comparable (only x==y and x!=y operators). This
+ change should fix the issue #18383: don't duplicate warning filters when the
+ warnings module is reloaded (thing usually only done in unit tests).
-- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception
- loss in PyTraceBack_Here().
+- Issue #20572: Remove the subprocess.Popen.wait endtime parameter. It was
+ deprecated in 3.4 and undocumented prior to that.
-- Issue #28471: Fix "Python memory allocator called without holding the GIL"
- crash in socket.setblocking.
+- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and
+ from_buffer_copy() methods on abstract classes like Array.
-Library
--------
+- Issue #28548: In the "http.server" module, parse the protocol version if
+ possible, to avoid using HTTP 0.9 in some error responses.
+
+- Issue #19717: Makes Path.resolve() succeed on paths that do not exist.
+ Patch by Vajrasky Kok
+
+- 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 #28387: Fixed possible crash in _io.TextIOWrapper deallocator when
+ the garbage collector is invoked in other thread. Based on patch by
+ Sebastian Cufre.
- Issue #27517: LZMA compressor and decompressor no longer raise exceptions if
given empty data twice. Patch by Benjamin Fogle.