Rather than silently producing a class that doesn't support zero-argument
super()
in methods, failing to pass the new __classcell__
namespace
entry up to type.__new__
now results in a DeprecationWarning
and a
class that supports zero-argument super()
.
Modifying the class __dict__ inside the __set_name__ method of a descriptor that is used inside that class no longer prevents calling the __set_name__ method of other descriptors.
Fix a bug in the implementation yield from
when checking if the next
instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).
Unknown escapes in re.sub() replacement template are allowed again. But they still are deprecated and will be disabled in 3.7.
Fix a regression introduced in warnings.catch_warnings(): call warnings.showwarning() if it was overridden inside the context manager.
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.
Add new :const:`socket.TCP_CONGESTION` (Linux 2.6.13) and :const:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by Omar Sandoval.
Reading a corrupt config file left configparser in an invalid state. Original patch by Florian Höch.
Fix asyncio C Task to handle exceptions __traceback__.
PyUnicode_CompareWithASCIIString() now never raises exceptions.
The data model reference and the porting section in the What's New guide now
cover the additional __classcell__
handling needed for custom
metaclasses to fully support PEP 487 and zero-argument super()
.
Fix python-gdb.py didn't support new dict implementation.