+++++++++++
Python News
+++++++++++
What's New in Python 3.6.6 final?
=================================
*Release date: 2018-06-27*
There were no new changes in version 3.6.6.
What's New in Python 3.6.6 release candidate 1?
===============================================
*Release date: 2018-06-11*
Core and Builtins
-----------------
- bpo-33786: Fix asynchronous generators to handle GeneratorExit in athrow()
correctly
- bpo-30654: Fixed reset of the SIGINT handler to SIG_DFL on interpreter
shutdown even when there was a custom handler set previously. Patch by
Philipp Kerling.
- bpo-33622: Fixed a leak when the garbage collector fails to add an object
with the ``__del__`` method or referenced by it into the
:data:`gc.garbage` list. :c:func:`PyGC_Collect` can now be called when an
exception is set and preserves it.
- bpo-31849: Fix signed/unsigned comparison warning in pyhash.c.
- bpo-33391: Fix a leak in set_symmetric_difference().
- bpo-28055: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.
- bpo-33231: Fix potential memory leak in ``normalizestring()``.
- bpo-29922: Improved error messages in 'async with' when ``__aenter__()``
or ``__aexit__()`` return non-awaitable object.
- bpo-33199: Fix ``ma_version_tag`` in dict implementation is uninitialized
when copying from key-sharing dict.
- bpo-33041: Fixed jumping when the function contains an ``async for`` loop.
- bpo-32282: Fix an unnecessary ifdef in the include of VersionHelpers.h in
socketmodule on Windows.
- bpo-21983: Fix a crash in `ctypes.cast()` in case the type argument is a
ctypes structured data type. Patch by Eryk Sun and Oren Milman.
Library
-------
- bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by
Steve Weber.
- bpo-33812: Datetime instance d with non-None tzinfo, but with
d.tzinfo.utcoffset(d) returning None is now treated as naive by the
astimezone() method.
- bpo-30805: Avoid race condition with debug logging
- bpo-33767: The concatenation (``+``) and repetition (``*``) sequence
operations now raise :exc:`TypeError` instead of :exc:`SystemError` when
performed on :class:`mmap.mmap` objects. Patch by Zackery Spytz.
- bpo-32684: Fix gather to propagate cancellation of itself even with
return_exceptions.
- bpo-33674: Fix a race condition in SSLProtocol.connection_made() of
asyncio.sslproto: start immediately the handshake instead of using
call_soon(). Previously, data_received() could be called before the
handshake started, causing the handshake to hang or fail.
- bpo-31467: Fixed bug where calling write_eof() on a
_SelectorSocketTransport after it's already closed raises AttributeError.
- bpo-33672: Fix Task.__repr__ crash with Cython's bogus coroutines
- bpo-33469: Fix RuntimeError after closing loop that used run_in_executor
- bpo-11874: Use a better regex when breaking usage into wrappable parts.
Avoids bogus assertion errors from custom metavar strings.
- bpo-30877: Fixed a bug in the Python implementation of the JSON decoder
that prevented the cache of parsed strings from clearing after finishing
the decoding. Based on patch by c-fos.
- bpo-33548: tempfile._candidate_tempdir_list should consider common TEMP
locations
- bpo-33542: Prevent ``uuid.get_node`` from using a DUID instead of a MAC on
Windows. Patch by Zvi Effron
- bpo-26819: Fix race condition with `ReadTransport.resume_reading` in
Windows proactor event loop.
- bpo-28556: Minor fixes in typing module: add annotations to
``NamedTuple.__new__``, pass ``*args`` and ``**kwds`` in
``Generic.__new__``. Original PRs by Paulius Šarka and Chad Dombrova.
- bpo-20087: Updated alias mapping with glibc 2.27 supported locales.
- bpo-33422: Fix trailing quotation marks getting deleted when looking up
byte/string literals on pydoc. Patch by Andrés Delfino.
- bpo-33197: Update error message when constructing invalid
inspect.Parameters Patch by Dong-hee Na.
- bpo-33383: Fixed crash in the get() method of the :mod:`dbm.ndbm` database
object when it is called with a single argument.
- bpo-33329: Fix multiprocessing regression on newer glibcs
- bpo-991266: Fix quoting of the ``Comment`` attribute of
:class:`http.cookies.SimpleCookie`.
- bpo-33131: Upgrade bundled version of pip to 10.0.1.
- bpo-33308: Fixed a crash in the :mod:`parser` module when converting an ST
object to a tree of tuples or lists with ``line_info=False`` and
``col_info=True``.
- bpo-33263: Fix FD leak in `_SelectorSocketTransport` Patch by Vlad
Starostin.
- bpo-33256: Fix display of ``<module>`` call in the html produced by
``cgitb.html()``. Patch by Stéphane Blondon.
- bpo-33203: ``random.Random.choice()`` now raises ``IndexError`` for empty
sequences consistently even when called from subclasses without a
``getrandbits()`` implementation.
- bpo-33224: Update difflib.mdiff() for PEP 479. Convert an uncaught
StopIteration in a generator into a return-statement.
- bpo-33209: End framing at the end of C implementation of
:func:`pickle.Pickler.dump`.
- bpo-32861: The urllib.robotparser's ``__str__`` representation now
includes wildcard entries and the "Crawl-delay" and "Request-rate" fields.
Patch by Michael Lazar.
- bpo-33096: Allow ttk.Treeview.insert to insert iid that has a false
boolean value. Note iid=0 and iid=False would be same. Patch by Garvit
Khatri.
- bpo-33127: The ssl module now compiles with LibreSSL 2.7.1.
- bpo-33021: Release the GIL during fstat() calls, avoiding hang of all
threads when calling mmap.mmap(), os.urandom(), and random.seed(). Patch
by Nir Soffer.
- bpo-27683: Fix a regression in :mod:`ipaddress` that result of
:meth:`hosts` is empty when the network is constructed by a tuple
containing an integer mask and only 1 bit left for addresses.
- bpo-32844: Fix wrong redirection of a low descriptor (0 or 1) to stderr in
subprocess if another low descriptor is closed.
- bpo-31908: Fix output of cover files for ``trace`` module command-line
tool. Previously emitted cover files only when ``--missing`` option was
used. Patch by Michael Selik.
- bpo-31457: If nested log adapters are used, the inner ``process()``
methods are no longer omitted.
- bpo-16865: Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev Finer.
- bpo-31238: pydoc: the stop() method of the private ServerThread class now
waits until DocServer.serve_until_quit() completes and then explicitly
sets its docserver attribute to None to break a reference cycle.
Documentation
-------------
- bpo-33503: Fix broken pypi link
- bpo-33421: Add missing documentation for ``typing.AsyncContextManager``.
- bpo-33378: Add Korean language switcher for https://docs.python.org/3/
- bpo-33276: Clarify that the ``__path__`` attribute on modules cannot be
just any value.
- bpo-33201: Modernize documentation for writing C extension types.
- bpo-33195: Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document.
``Py_UNICODE`` related APIs are deprecated since Python 3.3, but it is
missed in the document.
- bpo-33126: Document PyBuffer_ToContiguous().
- bpo-27212: Modify documentation for the :func:`islice` recipe to consume
initial values up to the start index.
- bpo-28247: Update :mod:`zipapp` documentation to describe how to make
standalone applications.
- bpo-18802: Documentation changes for ipaddress. Patch by Jon Foster and
Berker Peksag.
- bpo-27428: Update documentation to clarify that ``WindowsRegistryFinder``
implements ``MetaPathFinder``. (Patch by Himanshu Lakhara)
- bpo-8243: Add a note about curses.addch and curses.addstr exception
behavior when writing outside a window, or pad.
- bpo-31432: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_RE