D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
doc
/
python3-docs
/
html
/
whatsnew
/
Filename :
changelog.html
back
Copy
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Changelog — Python 3.6.7 documentation</title> <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/sidebar.js"></script> <link rel="search" type="application/opensearchdescription+xml" title="Search within Python 3.6.7 documentation" href="../_static/opensearch.xml"/> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="copyright" title="Copyright" href="../copyright.html" /> <link rel="next" title="The Python Tutorial" href="../tutorial/index.html" /> <link rel="prev" title="What’s New in Python 2.0" href="2.0.html" /> <link rel="shortcut icon" type="image/png" href="../_static/py.png" /> <link rel="canonical" href="https://docs.python.org/3/whatsnew/changelog.html" /> <script type="text/javascript" src="../_static/copybutton.js"></script> <script type="text/javascript"> $(document).ready(function() { // add the search form and bind the events $('h1').after([ '<p>Filter entries by content:', '<input type="text" value="" id="searchbox" style="width: 50%">', '<input type="submit" id="searchbox-submit" value="Filter"></p>' ].join('\n')); function dofilter() { try { var query = new RegExp($('#searchbox').val(), 'i'); } catch (e) { return; // not a valid regex (yet) } // find headers for the versions (What's new in Python X.Y.Z?) $('#changelog h2').each(function(index1, h2) { var h2_parent = $(h2).parent(); var sections_found = 0; // find headers for the sections (Core, Library, etc.) h2_parent.find('h3').each(function(index2, h3) { var h3_parent = $(h3).parent(); var entries_found = 0; // find all the entries h3_parent.find('li').each(function(index3, li) { var li = $(li); // check if the query matches the entry if (query.test(li.text())) { li.show(); entries_found++; } else { li.hide(); } }); // if there are entries, show the section, otherwise hide it if (entries_found > 0) { h3_parent.show(); sections_found++; } else { h3_parent.hide(); } }); if (sections_found > 0) h2_parent.show(); else h2_parent.hide(); }); } $('#searchbox').keyup(dofilter); $('#searchbox-submit').click(dofilter); }); </script> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="../tutorial/index.html" title="The Python Tutorial" accesskey="N">next</a> |</li> <li class="right" > <a href="2.0.html" title="What’s New in Python 2.0" accesskey="P">previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li> <a href="../index.html">3.6.7 Documentation</a> » </li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">What’s New in Python</a> »</li> <li class="right"> <div class="inline-search" style="display: none" role="search"> <form class="inline-search" action="../search.html" method="get"> <input placeholder="Quick search" type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('.inline-search').show(0);</script> | </li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="changelog"> <span id="id1"></span><h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1> <div class="section" id="python-3-6-7-final"> <h2>Python 3.6.7 final<a class="headerlink" href="#python-3-6-7-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-10-20</em></p> <p>There were no new changes in version 3.6.7.</p> </div> <div class="section" id="python-3-6-7-release-candidate-2"> <h2>Python 3.6.7 release candidate 2<a class="headerlink" href="#python-3-6-7-release-candidate-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-10-13</em></p> <div class="section" id="core-and-builtins"> <h3>Core and Builtins<a class="headerlink" href="#core-and-builtins" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34879">bpo-34879</a>: Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz.</li> <li><a class="reference external" href="https://bugs.python.org/issue34320">bpo-34320</a>: Fix <code class="docutils literal notranslate"><span class="pre">dict(od)</span></code> didn’t copy iteration order of OrderedDict.</li> </ul> </div> <div class="section" id="library"> <h3>Library<a class="headerlink" href="#library" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34769">bpo-34769</a>: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread.</li> <li><a class="reference external" href="https://bugs.python.org/issue34922">bpo-34922</a>: Fixed integer overflow in the <a class="reference internal" href="../library/hashlib.html#hashlib.shake.digest" title="hashlib.shake.digest"><code class="xref py py-meth docutils literal notranslate"><span class="pre">digest()</span></code></a> and <a class="reference internal" href="../library/hashlib.html#hashlib.shake.hexdigest" title="hashlib.shake.hexdigest"><code class="xref py py-meth docutils literal notranslate"><span class="pre">hexdigest()</span></code></a> methods for the SHAKE algorithm in the <a class="reference internal" href="../library/hashlib.html#module-hashlib" title="hashlib: Secure hash and message digest algorithms."><code class="xref py py-mod docutils literal notranslate"><span class="pre">hashlib</span></code></a> module.</li> <li><a class="reference external" href="https://bugs.python.org/issue34871">bpo-34871</a>: Fix inspect module polluted <code class="docutils literal notranslate"><span class="pre">sys.modules</span></code> when parsing <code class="docutils literal notranslate"><span class="pre">__text_signature__</span></code> of callable.</li> <li><a class="reference external" href="https://bugs.python.org/issue34872">bpo-34872</a>: Fix self-cancellation in C implementation of asyncio.Task</li> <li><a class="reference external" href="https://bugs.python.org/issue34819">bpo-34819</a>: Use a monotonic clock to compute timeouts in <code class="xref py py-meth docutils literal notranslate"><span class="pre">Executor.map()</span></code> and <code class="xref py py-func docutils literal notranslate"><span class="pre">as_completed()</span></code>, in order to prevent timeouts from deviating when the system clock is adjusted.</li> <li><a class="reference external" href="https://bugs.python.org/issue34521">bpo-34521</a>: Use <a class="reference internal" href="../library/socket.html#socket.CMSG_SPACE" title="socket.CMSG_SPACE"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.CMSG_SPACE()</span></code></a> to calculate ancillary data size instead of <a class="reference internal" href="../library/socket.html#socket.CMSG_LEN" title="socket.CMSG_LEN"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.CMSG_LEN()</span></code></a> in <code class="xref py py-func docutils literal notranslate"><span class="pre">multiprocessing.reduction.recvfds()</span></code> as <span class="target" id="index-0"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3542.html"><strong>RFC 3542</strong></a> requires the use of the former for portable applications.</li> <li><a class="reference external" href="https://bugs.python.org/issue34282">bpo-34282</a>: Fix enum members getting shadowed by parent attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue34172">bpo-34172</a>: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly.</li> <li><a class="reference external" href="https://bugs.python.org/issue33729">bpo-33729</a>: Fixed issues with arguments parsing in <a class="reference internal" href="../library/hashlib.html#module-hashlib" title="hashlib: Secure hash and message digest algorithms."><code class="xref py py-mod docutils literal notranslate"><span class="pre">hashlib</span></code></a>.</li> </ul> </div> <div class="section" id="documentation"> <h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32174">bpo-32174</a>: chm document displays non-ASCII charaters properly on some MBCS Windows systems.</li> </ul> </div> <div class="section" id="tests"> <h3>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: Fixed test_gdb when Python is compiled with flags -mcet -fcf-protection -O0.</li> </ul> </div> <div class="section" id="macos"> <h3>macOS<a class="headerlink" href="#macos" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34370">bpo-34370</a>: Revert to using the released Tk 8.6.8 with macOS installers instead of the Tk 8.6.x development snapshot used with 3.7.1rc1 and 3.6.7rc1. The snapshot introduced at least one significant regression (<a class="reference external" href="https://bugs.python.org/issue34927">bpo-34927</a>).</li> </ul> </div> <div class="section" id="c-api"> <h3>C API<a class="headerlink" href="#c-api" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34910">bpo-34910</a>: Ensure that <a class="reference internal" href="../c-api/object.html#c.PyObject_Print" title="PyObject_Print"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyObject_Print()</span></code></a> always returns <code class="docutils literal notranslate"><span class="pre">-1</span></code> on error. Patch by Zackery Spytz.</li> </ul> </div> </div> <div class="section" id="python-3-6-7-release-candidate-1"> <h2>Python 3.6.7 release candidate 1<a class="headerlink" href="#python-3-6-7-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-09-26</em></p> <div class="section" id="security"> <h3>Security<a class="headerlink" href="#security" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue17239">bpo-17239</a>: The xml.sax and xml.dom.minidom parsers no longer processes external entities by default. External DTD and ENTITY declarations no longer load files or create network connections.</li> <li><a class="reference external" href="https://bugs.python.org/issue34623">bpo-34623</a>: CVE-2018-14647: The C accelerated _elementtree module now initializes hash randomization salt from _Py_HashSecret instead of libexpat’s default CSPRNG.</li> <li><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Updated to OpenSSL 1.0.2p for Windows builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue33871">bpo-33871</a>: Fixed sending the part of the file in <a class="reference internal" href="../library/os.html#os.sendfile" title="os.sendfile"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.sendfile()</span></code></a> on macOS. Using the <em>trailers</em> argument could cause sending more bytes from the input file than was specified.</li> <li><a class="reference external" href="https://bugs.python.org/issue32533">bpo-32533</a>: Fixed thread-safety of error handling in _ssl.</li> </ul> </div> <div class="section" id="id2"> <h3>Core and Builtins<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34735">bpo-34735</a>: Fix a memory leak in Modules/timemodule.c. Patch by Zackery Spytz.</li> <li><a class="reference external" href="https://bugs.python.org/issue34588">bpo-34588</a>: Fix an off-by-one in the recursive call pruning feature of traceback formatting.</li> <li><a class="reference external" href="https://bugs.python.org/issue34527">bpo-34527</a>: On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also forces the ASCII encoding if the LC_CTYPE locale is “POSIX”, not only if the LC_CTYPE locale is “C”.</li> <li><a class="reference external" href="https://bugs.python.org/issue34400">bpo-34400</a>: Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.</li> <li><a class="reference external" href="https://bugs.python.org/issue34377">bpo-34377</a>: Update valgrind suppression list to use <code class="docutils literal notranslate"><span class="pre">_PyObject_Free</span></code>/<code class="docutils literal notranslate"><span class="pre">_PyObject_Realloc</span></code> instead of <code class="docutils literal notranslate"><span class="pre">PyObject_Free</span></code>/<code class="docutils literal notranslate"><span class="pre">PyObject_Realloc</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue24618">bpo-24618</a>: Fixed reading invalid memory when create the code object with too small varnames tuple or too large argument counts.</li> <li><a class="reference external" href="https://bugs.python.org/issue34068">bpo-34068</a>: In <a class="reference internal" href="../library/io.html#io.IOBase.close" title="io.IOBase.close"><code class="xref py py-meth docutils literal notranslate"><span class="pre">io.IOBase.close()</span></code></a>, ensure that the <a class="reference internal" href="../library/io.html#io.IOBase.closed" title="io.IOBase.closed"><code class="xref py py-attr docutils literal notranslate"><span class="pre">closed</span></code></a> attribute is not set with a live exception. Patch by Zackery Spytz and Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue34080">bpo-34080</a>: Fixed a memory leak in the compiler when it raised some uncommon errors during tokenizing.</li> <li><a class="reference external" href="https://bugs.python.org/issue34066">bpo-34066</a>: Disabled interruption by Ctrl-C between calling <code class="docutils literal notranslate"><span class="pre">open()</span></code> and entering a <strong>with</strong> block in <code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">open()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33956">bpo-33956</a>: Update vendored Expat library copy to version 2.2.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue24596">bpo-24596</a>: Decref the module object in <a class="reference internal" href="../c-api/veryhigh.html#c.PyRun_SimpleFileExFlags" title="PyRun_SimpleFileExFlags"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyRun_SimpleFileExFlags()</span></code></a> before calling <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_Print" title="PyErr_Print"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_Print()</span></code></a>. Patch by Zackery Spytz.</li> <li><a class="reference external" href="https://bugs.python.org/issue33451">bpo-33451</a>: Close directly executed pyc files before calling <code class="docutils literal notranslate"><span class="pre">PyEval_EvalCode()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33312">bpo-33312</a>: Fixed clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by adjusting how the internal struct _dictkeysobject shared keys structure is declared.</li> <li><a class="reference external" href="https://bugs.python.org/issue25750">bpo-25750</a>: Fix rare Python crash due to bad refcounting in <code class="docutils literal notranslate"><span class="pre">type_getattro()</span></code> if a descriptor deletes itself from the class. Patch by Jeroen Demeyer.</li> <li><a class="reference external" href="https://bugs.python.org/issue25862">bpo-25862</a>: Fix assertion failures in the <code class="docutils literal notranslate"><span class="pre">tell()</span></code> method of <code class="docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code>. Patch by Zackery Spytz.</li> </ul> </div> <div class="section" id="id3"> <h3>Library<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34670">bpo-34670</a>: Add SSLContext.post_handshake_auth and SSLSocket.verify_client_post_handshake for TLS 1.3’s post handshake authentication feature.</li> <li><a class="reference external" href="https://bugs.python.org/issue34652">bpo-34652</a>: Ensure <a class="reference internal" href="../library/os.html#os.lchmod" title="os.lchmod"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.lchmod()</span></code></a> is never defined on Linux.</li> <li><a class="reference external" href="https://bugs.python.org/issue34625">bpo-34625</a>: Update vendorized expat library version to 2.2.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue32270">bpo-32270</a>: The subprocess module no longer mistakenly closes redirected fds even when they were in pass_fds when outside of the default {0, 1, 2} set.</li> <li><a class="reference external" href="https://bugs.python.org/issue34610">bpo-34610</a>: Fixed iterator of <code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.managers.DictProxy</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue34421">bpo-34421</a>: Fix distutils logging for non-ASCII strings. This caused installation issues on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue34604">bpo-34604</a>: Fix possible mojibake in the error message of <a class="reference internal" href="../library/pwd.html#pwd.getpwnam" title="pwd.getpwnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pwd.getpwnam</span></code></a> and <a class="reference internal" href="../library/grp.html#grp.getgrnam" title="grp.getgrnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">grp.getgrnam</span></code></a>. Patch by William Grzybowski.</li> <li><a class="reference external" href="https://bugs.python.org/issue34530">bpo-34530</a>: <code class="docutils literal notranslate"><span class="pre">distutils.spawn.find_executable()</span></code> now falls back on <a class="reference internal" href="../library/os.html#os.defpath" title="os.defpath"><code class="xref py py-data docutils literal notranslate"><span class="pre">os.defpath</span></code></a> if the <code class="docutils literal notranslate"><span class="pre">PATH</span></code> environment variable is not set.</li> <li><a class="reference external" href="https://bugs.python.org/issue34563">bpo-34563</a>: On Windows, fix multiprocessing.Connection for very large read: fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than INT_MAX (usually 2^31-1).</li> <li><a class="reference external" href="https://bugs.python.org/issue13312">bpo-13312</a>: Avoids a possible integer underflow (undefined behavior) in the time module’s year handling code when passed a very low negative year value.</li> <li><a class="reference external" href="https://bugs.python.org/issue34472">bpo-34472</a>: Improved compatibility for streamed files in <a class="reference internal" href="../library/zipfile.html#module-zipfile" title="zipfile: Read and write ZIP-format archive files."><code class="xref py py-mod docutils literal notranslate"><span class="pre">zipfile</span></code></a>. Previously an optional signature was not being written and certain ZIP applications were not supported. Patch by Silas Sewell.</li> <li><a class="reference external" href="https://bugs.python.org/issue6700">bpo-6700</a>: Fix inspect.getsourcelines for module level frames/tracebacks. Patch by Vladimir Matveev.</li> <li><a class="reference external" href="https://bugs.python.org/issue32947">bpo-32947</a>: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future compatibility with OpenSSL 1.1.1.</li> <li><a class="reference external" href="https://bugs.python.org/issue34341">bpo-34341</a>: Appending to the ZIP archive with the ZIP64 extension no longer grows the size of extra fields of existing entries.</li> <li><a class="reference external" href="https://bugs.python.org/issue18540">bpo-18540</a>: The <a class="reference internal" href="../library/imaplib.html#imaplib.IMAP4" title="imaplib.IMAP4"><code class="xref py py-class docutils literal notranslate"><span class="pre">imaplib.IMAP4</span></code></a> and <a class="reference internal" href="../library/imaplib.html#imaplib.IMAP4_SSL" title="imaplib.IMAP4_SSL"><code class="xref py py-class docutils literal notranslate"><span class="pre">imaplib.IMAP4_SSL</span></code></a> classes now resolve to the local host IP correctly when the default value of <em>host</em> parameter (<code class="docutils literal notranslate"><span class="pre">''</span></code>) is used.</li> <li><a class="reference external" href="https://bugs.python.org/issue34246">bpo-34246</a>: <a class="reference internal" href="../library/smtplib.html#smtplib.SMTP.send_message" title="smtplib.SMTP.send_message"><code class="xref py py-meth docutils literal notranslate"><span class="pre">smtplib.SMTP.send_message()</span></code></a> no longer modifies the content of the <em>mail_options</em> argument. Patch by Pablo S. Blum de Aguiar.</li> <li><a class="reference external" href="https://bugs.python.org/issue31047">bpo-31047</a>: Fix <code class="docutils literal notranslate"><span class="pre">ntpath.abspath</span></code> for invalid paths on windows. Patch by Franz Woellert.</li> <li><a class="reference external" href="https://bugs.python.org/issue34263">bpo-34263</a>: asyncio’s event loop will not pass timeouts longer than one day to epoll/select etc.</li> <li><a class="reference external" href="https://bugs.python.org/issue32215">bpo-32215</a>: Fix performance regression in <a class="reference internal" href="../library/sqlite3.html#module-sqlite3" title="sqlite3: A DB-API 2.0 implementation using SQLite 3.x."><code class="xref py py-mod docutils literal notranslate"><span class="pre">sqlite3</span></code></a> when a DML statement appeared in a different line than the rest of the SQL query.</li> <li><a class="reference external" href="https://bugs.python.org/issue19891">bpo-19891</a>: Ignore errors caused by missing / non-writable homedir while writing history during exit of an interactive session. Patch by Anthony Sottile.</li> <li><a class="reference external" href="https://bugs.python.org/issue940286">bpo-940286</a>: pydoc’s <code class="docutils literal notranslate"><span class="pre">Helper.showtopic()</span></code> method now prints the cross references of a topic correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue34164">bpo-34164</a>: <a class="reference internal" href="../library/base64.html#base64.b32decode" title="base64.b32decode"><code class="xref py py-func docutils literal notranslate"><span class="pre">base64.b32decode()</span></code></a> could raise UnboundLocalError or OverflowError for incorrect padding. Now it always raises <code class="xref py py-exc docutils literal notranslate"><span class="pre">base64.Error</span></code> in these cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue33967">bpo-33967</a>: functools.singledispatch now raises TypeError instead of IndexError when no positional arguments are passed.</li> <li><a class="reference external" href="https://bugs.python.org/issue34054">bpo-34054</a>: The multiprocessing module now uses the monotonic clock <a class="reference internal" href="../library/time.html#time.monotonic" title="time.monotonic"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.monotonic()</span></code></a> instead of the system clock <a class="reference internal" href="../library/time.html#time.time" title="time.time"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.time()</span></code></a> to implement timeout.</li> <li><a class="reference external" href="https://bugs.python.org/issue34010">bpo-34010</a>: Fixed a performance regression for reading streams with tarfile. The buffered read should use a list, instead of appending to a bytes object.</li> <li><a class="reference external" href="https://bugs.python.org/issue34019">bpo-34019</a>: webbrowser: Correct the arguments passed to Opera Browser when opening a new URL using the <code class="docutils literal notranslate"><span class="pre">webbrowser</span></code> module. Patch by Bumsik Kim.</li> <li><a class="reference external" href="https://bugs.python.org/issue33978">bpo-33978</a>: Closed existing logging handlers before reconfiguration via fileConfig and dictConfig. Patch by Karthikeyan Singaravelan.</li> <li><a class="reference external" href="https://bugs.python.org/issue14117">bpo-14117</a>: Make minor tweaks to turtledemo. The ‘wikipedia’ example is now ‘rosette’, decribing what it draws. The ‘penrose’ print output is reduced. The‘1024’ output of ‘tree’ is eliminated.</li> <li><a class="reference external" href="https://bugs.python.org/issue33974">bpo-33974</a>: Fixed passing lists and tuples of strings containing special characters <code class="docutils literal notranslate"><span class="pre">"</span></code>, <code class="docutils literal notranslate"><span class="pre">\</span></code>, <code class="docutils literal notranslate"><span class="pre">{</span></code>, <code class="docutils literal notranslate"><span class="pre">}</span></code> and <code class="docutils literal notranslate"><span class="pre">\n</span></code> as options to <a class="reference internal" href="../library/tkinter.ttk.html#module-tkinter.ttk" title="tkinter.ttk: Tk themed widget set"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ttk</span></code></a> widgets.</li> <li><a class="reference external" href="https://bugs.python.org/issue27500">bpo-27500</a>: Fix getaddrinfo to resolve IPv6 addresses correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue24567">bpo-24567</a>: Improve random.choices() to handle subnormal input weights that could occasionally trigger an IndexError.</li> <li><a class="reference external" href="https://bugs.python.org/issue33871">bpo-33871</a>: Fixed integer overflow in <a class="reference internal" href="../library/os.html#os.readv" title="os.readv"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.readv()</span></code></a> and <a class="reference internal" href="../library/os.html#os.writev" title="os.writev"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.writev()</span></code></a> and in <a class="reference internal" href="../library/os.html#os.sendfile" title="os.sendfile"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.sendfile()</span></code></a> with <em>headers</em> or <em>trailers</em> arguments (on BSD-based OSes and macOS).</li> <li><a class="reference external" href="https://bugs.python.org/issue33899">bpo-33899</a>: Tokenize module now implicitly emits a NEWLINE when provided with input that does not have a trailing new line. This behavior now matches what the C tokenizer does internally. Contributed by Ammar Askar.</li> <li><a class="reference external" href="https://bugs.python.org/issue33916">bpo-33916</a>: bz2 and lzma: When Decompressor.__init__() is called twice, free the old lock to not leak memory.</li> <li><a class="reference external" href="https://bugs.python.org/issue32568">bpo-32568</a>: Make select.epoll() and its documentation consistent regarding <em>sizehint</em> and <em>flags</em>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33663">bpo-33663</a>: Convert content length to string before putting to header.</li> <li><a class="reference external" href="https://bugs.python.org/issue26544">bpo-26544</a>: Fixed implementation of <a class="reference internal" href="../library/platform.html#platform.libc_ver" title="platform.libc_ver"><code class="xref py py-func docutils literal notranslate"><span class="pre">platform.libc_ver()</span></code></a>. It almost always returned version ‘2.9’ for glibc.</li> <li><a class="reference external" href="https://bugs.python.org/issue27397">bpo-27397</a>: Make email module properly handle invalid-length base64 strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue33476">bpo-33476</a>: Fix _header_value_parser.py when address group is missing final ‘;’. Contributed by Enrique Perez-Terron</li> <li><a class="reference external" href="https://bugs.python.org/issue33570">bpo-33570</a>: Change TLS 1.3 cipher suite settings for compatibility with OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by default.</li> <li><a class="reference external" href="https://bugs.python.org/issue33365">bpo-33365</a>: Print the header values besides the header keys instead just the header keys if <em>debuglevel</em> is set to >0 in <a class="reference internal" href="../library/http.client.html#module-http.client" title="http.client: HTTP and HTTPS protocol client (requires sockets)."><code class="xref py py-mod docutils literal notranslate"><span class="pre">http.client</span></code></a>. Patch by Marco Strigl.</li> <li><a class="reference external" href="https://bugs.python.org/issue33336">bpo-33336</a>: <code class="docutils literal notranslate"><span class="pre">imaplib</span></code> now allows <code class="docutils literal notranslate"><span class="pre">MOVE</span></code> command in <code class="docutils literal notranslate"><span class="pre">IMAP4.uid()</span></code> (RFC 6851: IMAP MOVE Extension) and potentially as a name of supported method of <code class="docutils literal notranslate"><span class="pre">IMAP4</span></code> object.</li> <li><a class="reference external" href="https://bugs.python.org/issue32356">bpo-32356</a>: asyncio.transport.resume_reading() and pause_reading() are now idempotent.</li> <li><a class="reference external" href="https://bugs.python.org/issue31608">bpo-31608</a>: Raise a <code class="docutils literal notranslate"><span class="pre">TypeError</span></code> instead of crashing if a <code class="docutils literal notranslate"><span class="pre">collections.deque</span></code> subclass returns a non-deque from <code class="docutils literal notranslate"><span class="pre">__new__</span></code>. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue29456">bpo-29456</a>: Fix bugs in hangul normalization: u1176, u11a7 and u11c3</li> </ul> </div> <div class="section" id="id4"> <h3>Documentation<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28617">bpo-28617</a>: Fixed info in the stdtypes docs concerning the types that support membership tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue34065">bpo-34065</a>: Fix wrongly written basicConfig documentation markup syntax</li> <li><a class="reference external" href="https://bugs.python.org/issue33847">bpo-33847</a>: Add ‘@’ operator entry to index.</li> <li><a class="reference external" href="https://bugs.python.org/issue25041">bpo-25041</a>: Document <code class="docutils literal notranslate"><span class="pre">AF_PACKET</span></code> in the <a class="reference internal" href="../library/socket.html#module-socket" title="socket: Low-level networking interface."><code class="xref py py-mod docutils literal notranslate"><span class="pre">socket</span></code></a> module.</li> </ul> </div> <div class="section" id="id5"> <h3>Tests<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34587">bpo-34587</a>: test_socket: Remove RDSTest.testCongestion(). The test tries to fill the receiver’s socket buffer and expects an error. But the RDS protocol doesn’t require that. Moreover, the Linux implementation of RDS expects that the producer of the messages reduces its rate, it’s not the role of the receiver to trigger an error. The test fails on Fedora 28 by design, so just remove it.</li> <li><a class="reference external" href="https://bugs.python.org/issue34661">bpo-34661</a>: Fix test_shutil if unzip doesn’t support -t.</li> <li><a class="reference external" href="https://bugs.python.org/issue34200">bpo-34200</a>: Fixed non-deterministic flakiness of test_pkg by not using the scary test.support.module_cleanup() logic to save and restore sys.modules contents between test cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue34594">bpo-34594</a>: Fix usage of hardcoded <code class="docutils literal notranslate"><span class="pre">errno</span></code> values in the tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue34542">bpo-34542</a>: Use 3072 RSA keys and SHA-256 signature for test certs and keys.</li> <li><a class="reference external" href="https://bugs.python.org/issue34391">bpo-34391</a>: Fix ftplib test for TLS 1.3 by reading from data socket.</li> <li><a class="reference external" href="https://bugs.python.org/issue34399">bpo-34399</a>: Update all RSA keys and DH params to use at least 2048 bits.</li> <li><a class="reference external" href="https://bugs.python.org/issue33746">bpo-33746</a>: Fix test_unittest when run in verbose mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue33901">bpo-33901</a>: Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure that the file size changes.</li> <li><a class="reference external" href="https://bugs.python.org/issue33873">bpo-33873</a>: Fix a bug in <code class="docutils literal notranslate"><span class="pre">regrtest</span></code> that caused an extra test to run if –huntrleaks/-R was used. Exit with error in case that invalid parameters are specified to –huntrleaks/-R (at least one warmup run and one repetition must be used).</li> <li><a class="reference external" href="https://bugs.python.org/issue32663">bpo-32663</a>: Making sure the <code class="xref py py-obj docutils literal notranslate"><span class="pre">SMTPUTF8SimTests</span></code> class of tests gets run in test_smtplib.py.</li> </ul> </div> <div class="section" id="build"> <h3>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34710">bpo-34710</a>: Fixed SSL module build with OpenSSL & pedantic CFLAGS.</li> <li><a class="reference external" href="https://bugs.python.org/issue34582">bpo-34582</a>: Add JUnit XML output for regression tests and update Azure DevOps builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue34121">bpo-34121</a>: Fix detection of C11 atomic support on clang.</li> <li><a class="reference external" href="https://bugs.python.org/issue30345">bpo-30345</a>: Add -g to LDFLAGS when compiling with LTO to get debug symbols.</li> </ul> </div> <div class="section" id="windows"> <h3>Windows<a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34770">bpo-34770</a>: Fix a possible null pointer dereference in pyshellext.cpp.</li> <li><a class="reference external" href="https://bugs.python.org/issue34603">bpo-34603</a>: Fix returning structs from functions produced by MSVC</li> <li><a class="reference external" href="https://bugs.python.org/issue34225">bpo-34225</a>: Ensure INCLUDE and LIB directories do not end with a backslash.</li> <li><a class="reference external" href="https://bugs.python.org/issue34006">bpo-34006</a>: Revert line length limit for Windows help docs. The line-length limit is not needed because the pages appear in a separate app rather than on a browser tab. It can also interact badly with the DPI setting.</li> <li><a class="reference external" href="https://bugs.python.org/issue31546">bpo-31546</a>: Restore running PyOS_InputHook while waiting for user input at the prompt. The restores integration of interactive GUI windows (such as Matplotlib figures) with the prompt on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue30237">bpo-30237</a>: Output error when ReadConsole is canceled by CancelSynchronousIo instead of crashing.</li> <li><a class="reference external" href="https://bugs.python.org/issue29097">bpo-29097</a>: Fix bug where <code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.fromtimestamp()</span></code> erronously throws an <a class="reference internal" href="../library/exceptions.html#OSError" title="OSError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">OSError</span></code></a> on Windows for values between 0 and 86400. Patch by Ammar Askar.</li> </ul> </div> <div class="section" id="id6"> <h3>macOS<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34370">bpo-34370</a>: Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen with IDLE and tkinter apps.</li> <li><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Update to OpenSSL 1.0.2p for macOS installer builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue31903">bpo-31903</a>: In <code class="xref py py-mod docutils literal notranslate"><span class="pre">_scproxy</span></code>, drop the GIL when calling into <code class="docutils literal notranslate"><span class="pre">SystemConfiguration</span></code> to avoid deadlocks.</li> </ul> </div> <div class="section" id="idle"> <h3>IDLE<a class="headerlink" href="#idle" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue34548">bpo-34548</a>: Use configured color theme for read-only text views.</li> <li><a class="reference external" href="https://bugs.python.org/issue1529353">bpo-1529353</a>: Enable “squeezing” of long outputs in the shell, to avoid performance degradation and to clean up the history without losing it. Squeezed outputs may be copied, viewed in a separate window, and “unsqueezed”.</li> <li><a class="reference external" href="https://bugs.python.org/issue34047">bpo-34047</a>: Fixed mousewheel scrolling direction on macOS.</li> <li><a class="reference external" href="https://bugs.python.org/issue34275">bpo-34275</a>: Make IDLE calltips always visible on Mac. Some MacOS-tk combinations need .update_idletasks(). Patch by Kevin Walzer.</li> <li><a class="reference external" href="https://bugs.python.org/issue34120">bpo-34120</a>: Fix unresponsiveness after closing certain windows and dialogs.</li> <li><a class="reference external" href="https://bugs.python.org/issue33975">bpo-33975</a>: Avoid small type when running htests. Since part of the purpose of human- viewed tests is to determine that widgets look right, it is important that they look the same for testing as when running IDLE.</li> <li><a class="reference external" href="https://bugs.python.org/issue33905">bpo-33905</a>: Add test for idlelib.stackview.StackBrowser.</li> <li><a class="reference external" href="https://bugs.python.org/issue33924">bpo-33924</a>: Change mainmenu.menudefs key ‘windows’ to ‘window’. Every other menudef key is lowercase version of main menu entry.</li> <li><a class="reference external" href="https://bugs.python.org/issue33906">bpo-33906</a>: Rename idlelib.windows as window Match Window on the main menu and remove last plural module name.</li> <li><a class="reference external" href="https://bugs.python.org/issue33917">bpo-33917</a>: Fix and document idlelib/idle_test/template.py. The revised file compiles, runs, and tests OK. idle_test/README.txt explains how to use it to create new IDLE test files.</li> <li><a class="reference external" href="https://bugs.python.org/issue33904">bpo-33904</a>: IDLE: In rstrip, rename class RstripExtension as Rstrip</li> <li><a class="reference external" href="https://bugs.python.org/issue33907">bpo-33907</a>: For consistency and clarity, rename an IDLE module and classes. Module calltips and its class CallTips are now calltip and Calltip. In module calltip_w, class CallTip is now CalltipWindow.</li> <li><a class="reference external" href="https://bugs.python.org/issue33856">bpo-33856</a>: Add “help” in the welcome message of IDLE</li> <li><a class="reference external" href="https://bugs.python.org/issue33839">bpo-33839</a>: IDLE: refactor ToolTip and CallTip and add documentation and tests</li> <li><a class="reference external" href="https://bugs.python.org/issue33855">bpo-33855</a>: Minimally test all IDLE modules. Add missing files, import module, instantiate classes, and check coverage. Check existing files.</li> </ul> </div> <div class="section" id="tools-demos"> <h3>Tools/Demos<a class="headerlink" href="#tools-demos" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catchs <code class="docutils literal notranslate"><span class="pre">UnicodeDecodeError</span></code> exceptions when calling <code class="docutils literal notranslate"><span class="pre">string()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catchs ValueError on read_var(): when Python has no debug symbols for example.</li> </ul> </div> <div class="section" id="id7"> <h3>C API<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23927">bpo-23927</a>: Fixed <a class="reference internal" href="../library/exceptions.html#SystemError" title="SystemError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SystemError</span></code></a> in <a class="reference internal" href="../c-api/arg.html#c.PyArg_ParseTupleAndKeywords" title="PyArg_ParseTupleAndKeywords"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyArg_ParseTupleAndKeywords()</span></code></a> when the <code class="docutils literal notranslate"><span class="pre">w*</span></code> format unit is used for optional parameter.</li> </ul> </div> </div> <div class="section" id="python-3-6-6-final"> <h2>Python 3.6.6 final<a class="headerlink" href="#python-3-6-6-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-06-27</em></p> <p>There were no new changes in version 3.6.6.</p> </div> <div class="section" id="python-3-6-6-release-candidate-1"> <h2>Python 3.6.6 release candidate 1<a class="headerlink" href="#python-3-6-6-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-06-11</em></p> <div class="section" id="id8"> <h3>Core and Builtins<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33786">bpo-33786</a>: Fix asynchronous generators to handle GeneratorExit in athrow() correctly</li> <li><a class="reference external" href="https://bugs.python.org/issue30654">bpo-30654</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue33622">bpo-33622</a>: Fixed a leak when the garbage collector fails to add an object with the <code class="docutils literal notranslate"><span class="pre">__del__</span></code> method or referenced by it into the <a class="reference internal" href="../library/gc.html#gc.garbage" title="gc.garbage"><code class="xref py py-data docutils literal notranslate"><span class="pre">gc.garbage</span></code></a> list. <code class="xref c c-func docutils literal notranslate"><span class="pre">PyGC_Collect()</span></code> can now be called when an exception is set and preserves it.</li> <li><a class="reference external" href="https://bugs.python.org/issue31849">bpo-31849</a>: Fix signed/unsigned comparison warning in pyhash.c.</li> <li><a class="reference external" href="https://bugs.python.org/issue33391">bpo-33391</a>: Fix a leak in set_symmetric_difference().</li> <li><a class="reference external" href="https://bugs.python.org/issue28055">bpo-28055</a>: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.</li> <li><a class="reference external" href="https://bugs.python.org/issue33231">bpo-33231</a>: Fix potential memory leak in <code class="docutils literal notranslate"><span class="pre">normalizestring()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue29922">bpo-29922</a>: Improved error messages in ‘async with’ when <code class="docutils literal notranslate"><span class="pre">__aenter__()</span></code> or <code class="docutils literal notranslate"><span class="pre">__aexit__()</span></code> return non-awaitable object.</li> <li><a class="reference external" href="https://bugs.python.org/issue33199">bpo-33199</a>: Fix <code class="docutils literal notranslate"><span class="pre">ma_version_tag</span></code> in dict implementation is uninitialized when copying from key-sharing dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue33041">bpo-33041</a>: Fixed jumping when the function contains an <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">for</span></code> loop.</li> <li><a class="reference external" href="https://bugs.python.org/issue32282">bpo-32282</a>: Fix an unnecessary ifdef in the include of VersionHelpers.h in socketmodule on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue21983">bpo-21983</a>: Fix a crash in <a class="reference internal" href="../library/ctypes.html#ctypes.cast" title="ctypes.cast"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.cast()</span></code></a> in case the type argument is a ctypes structured data type. Patch by Eryk Sun and Oren Milman.</li> </ul> </div> <div class="section" id="id9"> <h3>Library<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30167">bpo-30167</a>: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by Steve Weber.</li> <li><a class="reference external" href="https://bugs.python.org/issue33812">bpo-33812</a>: Datetime instance d with non-None tzinfo, but with d.tzinfo.utcoffset(d) returning None is now treated as naive by the astimezone() method.</li> <li><a class="reference external" href="https://bugs.python.org/issue30805">bpo-30805</a>: Avoid race condition with debug logging</li> <li><a class="reference external" href="https://bugs.python.org/issue33767">bpo-33767</a>: The concatenation (<code class="docutils literal notranslate"><span class="pre">+</span></code>) and repetition (<code class="docutils literal notranslate"><span class="pre">*</span></code>) sequence operations now raise <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#SystemError" title="SystemError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SystemError</span></code></a> when performed on <a class="reference internal" href="../library/mmap.html#mmap.mmap" title="mmap.mmap"><code class="xref py py-class docutils literal notranslate"><span class="pre">mmap.mmap</span></code></a> objects. Patch by Zackery Spytz.</li> <li><a class="reference external" href="https://bugs.python.org/issue32684">bpo-32684</a>: Fix gather to propagate cancellation of itself even with return_exceptions.</li> <li><a class="reference external" href="https://bugs.python.org/issue33674">bpo-33674</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31647">bpo-31647</a>: Fixed bug where calling write_eof() on a _SelectorSocketTransport after it’s already closed raises AttributeError.</li> <li><a class="reference external" href="https://bugs.python.org/issue33672">bpo-33672</a>: Fix Task.__repr__ crash with Cython’s bogus coroutines</li> <li><a class="reference external" href="https://bugs.python.org/issue33469">bpo-33469</a>: Fix RuntimeError after closing loop that used run_in_executor</li> <li><a class="reference external" href="https://bugs.python.org/issue11874">bpo-11874</a>: Use a better regex when breaking usage into wrappable parts. Avoids bogus assertion errors from custom metavar strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue30877">bpo-30877</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue33548">bpo-33548</a>: tempfile._candidate_tempdir_list should consider common TEMP locations</li> <li><a class="reference external" href="https://bugs.python.org/issue33542">bpo-33542</a>: Prevent <code class="docutils literal notranslate"><span class="pre">uuid.get_node</span></code> from using a DUID instead of a MAC on Windows. Patch by Zvi Effron</li> <li><a class="reference external" href="https://bugs.python.org/issue26819">bpo-26819</a>: Fix race condition with <code class="xref py py-obj docutils literal notranslate"><span class="pre">ReadTransport.resume_reading</span></code> in Windows proactor event loop.</li> <li><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Minor fixes in typing module: add annotations to <code class="docutils literal notranslate"><span class="pre">NamedTuple.__new__</span></code>, pass <code class="docutils literal notranslate"><span class="pre">*args</span></code> and <code class="docutils literal notranslate"><span class="pre">**kwds</span></code> in <code class="docutils literal notranslate"><span class="pre">Generic.__new__</span></code>. Original PRs by Paulius Šarka and Chad Dombrova.</li> <li><a class="reference external" href="https://bugs.python.org/issue20087">bpo-20087</a>: Updated alias mapping with glibc 2.27 supported locales.</li> <li><a class="reference external" href="https://bugs.python.org/issue33422">bpo-33422</a>: Fix trailing quotation marks getting deleted when looking up byte/string literals on pydoc. Patch by Andrés Delfino.</li> <li><a class="reference external" href="https://bugs.python.org/issue33197">bpo-33197</a>: Update error message when constructing invalid inspect.Parameters Patch by Dong-hee Na.</li> <li><a class="reference external" href="https://bugs.python.org/issue33383">bpo-33383</a>: Fixed crash in the get() method of the <a class="reference internal" href="../library/dbm.html#module-dbm.ndbm" title="dbm.ndbm: The standard "database" interface, based on ndbm. (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm.ndbm</span></code></a> database object when it is called with a single argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue33329">bpo-33329</a>: Fix multiprocessing regression on newer glibcs</li> <li><a class="reference external" href="https://bugs.python.org/issue991266">bpo-991266</a>: Fix quoting of the <code class="docutils literal notranslate"><span class="pre">Comment</span></code> attribute of <a class="reference internal" href="../library/http.cookies.html#http.cookies.SimpleCookie" title="http.cookies.SimpleCookie"><code class="xref py py-class docutils literal notranslate"><span class="pre">http.cookies.SimpleCookie</span></code></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33131">bpo-33131</a>: Upgrade bundled version of pip to 10.0.1.</li> <li><a class="reference external" href="https://bugs.python.org/issue33308">bpo-33308</a>: Fixed a crash in the <a class="reference internal" href="../library/parser.html#module-parser" title="parser: Access parse trees for Python source code."><code class="xref py py-mod docutils literal notranslate"><span class="pre">parser</span></code></a> module when converting an ST object to a tree of tuples or lists with <code class="docutils literal notranslate"><span class="pre">line_info=False</span></code> and <code class="docutils literal notranslate"><span class="pre">col_info=True</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33263">bpo-33263</a>: Fix FD leak in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_SelectorSocketTransport</span></code> Patch by Vlad Starostin.</li> <li><a class="reference external" href="https://bugs.python.org/issue33256">bpo-33256</a>: Fix display of <code class="docutils literal notranslate"><span class="pre"><module></span></code> call in the html produced by <code class="docutils literal notranslate"><span class="pre">cgitb.html()</span></code>. Patch by Stéphane Blondon.</li> <li><a class="reference external" href="https://bugs.python.org/issue33203">bpo-33203</a>: <code class="docutils literal notranslate"><span class="pre">random.Random.choice()</span></code> now raises <code class="docutils literal notranslate"><span class="pre">IndexError</span></code> for empty sequences consistently even when called from subclasses without a <code class="docutils literal notranslate"><span class="pre">getrandbits()</span></code> implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue33224">bpo-33224</a>: Update difflib.mdiff() for PEP 479. Convert an uncaught StopIteration in a generator into a return-statement.</li> <li><a class="reference external" href="https://bugs.python.org/issue33209">bpo-33209</a>: End framing at the end of C implementation of <a class="reference internal" href="../library/pickle.html#pickle.Pickler.dump" title="pickle.Pickler.dump"><code class="xref py py-func docutils literal notranslate"><span class="pre">pickle.Pickler.dump()</span></code></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue32861">bpo-32861</a>: The urllib.robotparser’s <code class="docutils literal notranslate"><span class="pre">__str__</span></code> representation now includes wildcard entries and the “Crawl-delay” and “Request-rate” fields. Patch by Michael Lazar.</li> <li><a class="reference external" href="https://bugs.python.org/issue33096">bpo-33096</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue33127">bpo-33127</a>: The ssl module now compiles with LibreSSL 2.7.1.</li> <li><a class="reference external" href="https://bugs.python.org/issue33021">bpo-33021</a>: Release the GIL during fstat() calls, avoiding hang of all threads when calling mmap.mmap(), os.urandom(), and random.seed(). Patch by Nir Soffer.</li> <li><a class="reference external" href="https://bugs.python.org/issue27683">bpo-27683</a>: Fix a regression in <a class="reference internal" href="../library/ipaddress.html#module-ipaddress" title="ipaddress: IPv4/IPv6 manipulation library."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ipaddress</span></code></a> that result of <code class="xref py py-meth docutils literal notranslate"><span class="pre">hosts()</span></code> is empty when the network is constructed by a tuple containing an integer mask and only 1 bit left for addresses.</li> <li><a class="reference external" href="https://bugs.python.org/issue32844">bpo-32844</a>: Fix wrong redirection of a low descriptor (0 or 1) to stderr in subprocess if another low descriptor is closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue31908">bpo-31908</a>: Fix output of cover files for <code class="docutils literal notranslate"><span class="pre">trace</span></code> module command-line tool. Previously emitted cover files only when <code class="docutils literal notranslate"><span class="pre">--missing</span></code> option was used. Patch by Michael Selik.</li> <li><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: If nested log adapters are used, the inner <code class="docutils literal notranslate"><span class="pre">process()</span></code> methods are no longer omitted.</li> <li><a class="reference external" href="https://bugs.python.org/issue16865">bpo-16865</a>: Support arrays >=2GiB in <a class="reference internal" href="../library/ctypes.html#module-ctypes" title="ctypes: A foreign function library for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ctypes</span></code></a>. Patch by Segev Finer.</li> <li><a class="reference external" href="https://bugs.python.org/issue31238">bpo-31238</a>: 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.</li> </ul> </div> <div class="section" id="id10"> <h3>Documentation<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33503">bpo-33503</a>: Fix broken pypi link</li> <li><a class="reference external" href="https://bugs.python.org/issue33421">bpo-33421</a>: Add missing documentation for <code class="docutils literal notranslate"><span class="pre">typing.AsyncContextManager</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue33378">bpo-33378</a>: Add Korean language switcher for <a class="reference external" href="https://docs.python.org/3/">https://docs.python.org/3/</a></li> <li><a class="reference external" href="https://bugs.python.org/issue33276">bpo-33276</a>: Clarify that the <code class="docutils literal notranslate"><span class="pre">__path__</span></code> attribute on modules cannot be just any value.</li> <li><a class="reference external" href="https://bugs.python.org/issue33201">bpo-33201</a>: Modernize documentation for writing C extension types.</li> <li><a class="reference external" href="https://bugs.python.org/issue33195">bpo-33195</a>: Deprecate <code class="docutils literal notranslate"><span class="pre">Py_UNICODE</span></code> usage in <code class="docutils literal notranslate"><span class="pre">c-api/arg</span></code> document. <code class="docutils literal notranslate"><span class="pre">Py_UNICODE</span></code> related APIs are deprecated since Python 3.3, but it is missed in the document.</li> <li><a class="reference external" href="https://bugs.python.org/issue33126">bpo-33126</a>: Document PyBuffer_ToContiguous().</li> <li><a class="reference external" href="https://bugs.python.org/issue27212">bpo-27212</a>: Modify documentation for the <code class="xref py py-func docutils literal notranslate"><span class="pre">islice()</span></code> recipe to consume initial values up to the start index.</li> <li><a class="reference external" href="https://bugs.python.org/issue28247">bpo-28247</a>: Update <a class="reference internal" href="../library/zipapp.html#module-zipapp" title="zipapp: Manage executable python zip archives"><code class="xref py py-mod docutils literal notranslate"><span class="pre">zipapp</span></code></a> documentation to describe how to make standalone applications.</li> <li><a class="reference external" href="https://bugs.python.org/issue18802">bpo-18802</a>: Documentation changes for ipaddress. Patch by Jon Foster and Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue27428">bpo-27428</a>: Update documentation to clarify that <code class="docutils literal notranslate"><span class="pre">WindowsRegistryFinder</span></code> implements <code class="docutils literal notranslate"><span class="pre">MetaPathFinder</span></code>. (Patch by Himanshu Lakhara)</li> <li><a class="reference external" href="https://bugs.python.org/issue8243">bpo-8243</a>: Add a note about curses.addch and curses.addstr exception behavior when writing outside a window, or pad.</li> <li><a class="reference external" href="https://bugs.python.org/issue31432">bpo-31432</a>: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED flags for ssl.SSLContext.verify_mode.</li> </ul> </div> <div class="section" id="id11"> <h3>Tests<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33655">bpo-33655</a>: Ignore test_posix_fallocate failures on BSD platforms that might be due to running on ZFS.</li> <li><a class="reference external" href="https://bugs.python.org/issue19417">bpo-19417</a>: Add test_bdb.py.</li> </ul> </div> <div class="section" id="id12"> <h3>Build<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue5755">bpo-5755</a>: Move <code class="docutils literal notranslate"><span class="pre">-Wstrict-prototypes</span></code> option to <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> from <code class="docutils literal notranslate"><span class="pre">OPT</span></code>. This option emitted annoying warnings when building extension modules written in C++.</li> <li><a class="reference external" href="https://bugs.python.org/issue33614">bpo-33614</a>: Ensures module definition files for the stable ABI on Windows are correctly regenerated.</li> <li><a class="reference external" href="https://bugs.python.org/issue33522">bpo-33522</a>: Enable CI builds on Visual Studio Team Services at <a class="reference external" href="https://python.visualstudio.com/cpython">https://python.visualstudio.com/cpython</a></li> <li><a class="reference external" href="https://bugs.python.org/issue33012">bpo-33012</a>: Add <code class="docutils literal notranslate"><span class="pre">-Wno-cast-function-type</span></code> for gcc 8 for silencing warnings about function casts like casting to PyCFunction in method definition lists.</li> <li><a class="reference external" href="https://bugs.python.org/issue33394">bpo-33394</a>: Enable the verbose build for extension modules, when GNU make is passed macros on the command line.</li> </ul> </div> <div class="section" id="id13"> <h3>Windows<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update Windows installer to OpenSSL 1.0.2o.</li> </ul> </div> <div class="section" id="id14"> <h3>macOS<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update macOS installer build to use OpenSSL 1.0.2o.</li> </ul> </div> <div class="section" id="id15"> <h3>IDLE<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33656">bpo-33656</a>: On Windows, add API call saying that tk scales for DPI. On Windows 8.1+ or 10, with DPI compatibility properties of the Python binary unchanged, and a monitor resolution greater than 96 DPI, this should make text and lines sharper. It should otherwise have no effect.</li> <li><a class="reference external" href="https://bugs.python.org/issue33768">bpo-33768</a>: Clicking on a context line moves that line to the top of the editor window.</li> <li><a class="reference external" href="https://bugs.python.org/issue33763">bpo-33763</a>: IDLE: Use read-only text widget for code context instead of label widget.</li> <li><a class="reference external" href="https://bugs.python.org/issue33664">bpo-33664</a>: Scroll IDLE editor text by lines. Previously, the mouse wheel and scrollbar slider moved text by a fixed number of pixels, resulting in partial lines at the top of the editor box. The change also applies to the shell and grep output windows, but not to read-only text views.</li> <li><a class="reference external" href="https://bugs.python.org/issue33679">bpo-33679</a>: Enable theme-specific color configuration for Code Context. Use the Highlights tab to see the setting for built-in themes or add settings to custom themes.</li> <li><a class="reference external" href="https://bugs.python.org/issue33642">bpo-33642</a>: Display up to maxlines non-blank lines for Code Context. If there is no current context, show a single blank line.</li> <li><a class="reference external" href="https://bugs.python.org/issue33628">bpo-33628</a>: IDLE: Cleanup codecontext.py and its test.</li> <li><a class="reference external" href="https://bugs.python.org/issue33564">bpo-33564</a>: IDLE’s code context now recognizes async as a block opener.</li> <li><a class="reference external" href="https://bugs.python.org/issue29706">bpo-29706</a>: IDLE now colors async and await as keywords in 3.6. They become full keywords in 3.7.</li> <li><a class="reference external" href="https://bugs.python.org/issue21474">bpo-21474</a>: Update word/identifier definition from ascii to unicode. In text and entry boxes, this affects selection by double-click, movement left/right by control-left/right, and deletion left/right by control-BACKSPACE/DEL.</li> <li><a class="reference external" href="https://bugs.python.org/issue33204">bpo-33204</a>: IDLE: consistently color invalid string prefixes. A ‘u’ string prefix cannot be paired with either ‘r’ or ‘f’. Consistently color as much of the prefix, starting at the right, as is valid. Revise and extend colorizer test.</li> <li><a class="reference external" href="https://bugs.python.org/issue32831">bpo-32831</a>: Add docstrings and tests for codecontext.</li> </ul> </div> <div class="section" id="id16"> <h3>Tools/Demos<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33189">bpo-33189</a>: <strong class="program">pygettext.py</strong> now recognizes only literal strings as docstrings and translatable strings, and rejects bytes literals and f-string expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue31920">bpo-31920</a>: Fixed handling directories as arguments in the <code class="docutils literal notranslate"><span class="pre">pygettext</span></code> script. Based on patch by Oleg Krasnikov.</li> <li><a class="reference external" href="https://bugs.python.org/issue29673">bpo-29673</a>: Fix pystackv and pystack gdbinit macros.</li> <li><a class="reference external" href="https://bugs.python.org/issue32885">bpo-32885</a>: Add an <code class="docutils literal notranslate"><span class="pre">-n</span></code> flag for <code class="docutils literal notranslate"><span class="pre">Tools/scripts/pathfix.py</span></code> to disable automatic backup creation (files with <code class="docutils literal notranslate"><span class="pre">~</span></code> suffix).</li> <li><a class="reference external" href="https://bugs.python.org/issue31583">bpo-31583</a>: Fix 2to3 for using with –add-suffix option but without –output-dir option for relative path to files in current directory.</li> </ul> </div> <div class="section" id="id17"> <h3>C API<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32374">bpo-32374</a>: Document that m_traverse for multi-phase initialized modules can be called with m_state=NULL, and add a sanity check</li> </ul> </div> </div> <div class="section" id="python-3-6-5-final"> <h2>Python 3.6.5 final<a class="headerlink" href="#python-3-6-5-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-03-28</em></p> <div class="section" id="id18"> <h3>Tests<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32872">bpo-32872</a>: Avoid regrtest compatibility issue with namespace packages.</li> </ul> </div> <div class="section" id="id19"> <h3>Build<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33163">bpo-33163</a>: Upgrade pip to 9.0.3 and setuptools to v39.0.1.</li> </ul> </div> </div> <div class="section" id="python-3-6-5-release-candidate-1"> <h2>Python 3.6.5 release candidate 1<a class="headerlink" href="#python-3-6-5-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2018-03-13</em></p> <div class="section" id="id20"> <h3>Security<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33001">bpo-33001</a>: Minimal fix to prevent buffer overrun in os.symlink on Windows</li> <li><a class="reference external" href="https://bugs.python.org/issue32981">bpo-32981</a>: Regexes in difflib and poplib were vulnerable to catastrophic backtracking. These regexes formed potential DOS vectors (REDOS). They have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie Davis.</li> </ul> </div> <div class="section" id="id21"> <h3>Core and Builtins<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33026">bpo-33026</a>: Fixed jumping out of “with” block by setting f_lineno.</li> <li><a class="reference external" href="https://bugs.python.org/issue17288">bpo-17288</a>: Prevent jumps from ‘return’ and ‘exception’ trace events.</li> <li><a class="reference external" href="https://bugs.python.org/issue32889">bpo-32889</a>: Update Valgrind suppression list to account for the rename of <code class="docutils literal notranslate"><span class="pre">Py_ADDRESS_IN_RANG</span></code> to <code class="docutils literal notranslate"><span class="pre">address_in_range</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue32650">bpo-32650</a>: Pdb and other debuggers dependent on bdb.py will correctly step over (next command) native coroutines. Patch by Pablo Galindo.</li> <li><a class="reference external" href="https://bugs.python.org/issue32685">bpo-32685</a>: Improve suggestion when the Python 2 form of print statement is either present on the same line as the header of a compound statement or else terminated by a semi-colon instead of a newline. Patch by Nitish Chandra.</li> <li><a class="reference external" href="https://bugs.python.org/issue32583">bpo-32583</a>: Fix possible crashing in builtin Unicode decoders caused by write out-of-bound errors when using customized decode error handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue26163">bpo-26163</a>: Improved frozenset() hash to create more distinct hash values when faced with datasets containing many similar values.</li> <li><a class="reference external" href="https://bugs.python.org/issue27169">bpo-27169</a>: The <code class="docutils literal notranslate"><span class="pre">__debug__</span></code> constant is now optimized out at compile time. This fixes also <a class="reference external" href="https://bugs.python.org/issue22091">bpo-22091</a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue32329">bpo-32329</a>: <code class="docutils literal notranslate"><span class="pre">sys.flags.hash_randomization</span></code> is now properly set to 0 when hash randomization is turned off by <code class="docutils literal notranslate"><span class="pre">PYTHONHASHSEED=0</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue30416">bpo-30416</a>: The optimizer is now protected from spending much time doing complex calculations and consuming much memory for creating large constants in constant folding.</li> <li><a class="reference external" href="https://bugs.python.org/issue18533">bpo-18533</a>: <code class="docutils literal notranslate"><span class="pre">repr()</span></code> on a dict containing its own <code class="docutils literal notranslate"><span class="pre">values()</span></code> or <code class="docutils literal notranslate"><span class="pre">items()</span></code> no longer raises <code class="docutils literal notranslate"><span class="pre">RecursionError</span></code>; OrderedDict similarly. Instead, use <code class="docutils literal notranslate"><span class="pre">...</span></code>, as for other recursive structures. Patch by Ben North.</li> <li><a class="reference external" href="https://bugs.python.org/issue32028">bpo-32028</a>: Leading whitespace is now correctly ignored when generating suggestions for converting Py2 print statements to Py3 builtin print function calls. Patch by Sanyam Khurana.</li> <li><a class="reference external" href="https://bugs.python.org/issue32137">bpo-32137</a>: The repr of deeply nested dict now raises a RecursionError instead of crashing due to a stack overflow.</li> </ul> </div> <div class="section" id="id22"> <h3>Library<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue33064">bpo-33064</a>: lib2to3 now properly supports trailing commas after <code class="docutils literal notranslate"><span class="pre">*args</span></code> and <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code> in function signatures.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31804">bpo-31804</a>: Avoid failing in multiprocessing.Process if the standard streams are closed or None at exit.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue33037">bpo-33037</a>: Skip sending/receiving data after SSL transport closing.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30353">bpo-30353</a>: Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue33009">bpo-33009</a>: Fix inspect.signature() for single-parameter partialmethods.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32969">bpo-32969</a>: Expose several missing constants in zlib and fix corresponding documentation.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32713">bpo-32713</a>: Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey Fuhrer.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30622">bpo-30622</a>: The ssl module now detects missing NPN support in LibreSSL.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32922">bpo-32922</a>: dbm.open() now encodes filename with the filesystem encoding rather than default encoding.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32859">bpo-32859</a>: In <code class="docutils literal notranslate"><span class="pre">os.dup2</span></code>, don’t check every call whether the <code class="docutils literal notranslate"><span class="pre">dup3</span></code> syscall exists or not.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21060">bpo-21060</a>: Rewrite confusing message from setup.py upload from “No dist file created in earlier command” to the more helpful “Must create and upload files in one command”.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32857">bpo-32857</a>: In <a class="reference internal" href="../library/tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter</span></code></a>, <code class="docutils literal notranslate"><span class="pre">after_cancel(None)</span></code> now raises a <a class="reference internal" href="../library/exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> instead of canceling the first scheduled function. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32852">bpo-32852</a>: Make sure sys.argv remains as a list when running trace.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32841">bpo-32841</a>: Fixed <a class="reference internal" href="../library/asyncio-sync.html#asyncio.Condition" title="asyncio.Condition"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.Condition</span></code></a> issue which silently ignored cancellation after notifying and cancelling a conditional lock. Patch by Bar Harel.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31787">bpo-31787</a>: Fixed refleaks of <code class="docutils literal notranslate"><span class="pre">__init__()</span></code> methods in various modules. (Contributed by Oren Milman)</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30157">bpo-30157</a>: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch by Jake Davis.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32394">bpo-32394</a>: socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32777">bpo-32777</a>: Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process. This bug appears to have been introduced in 3.4.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32647">bpo-32647</a>: The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32734">bpo-32734</a>: Fixed <code class="docutils literal notranslate"><span class="pre">asyncio.Lock()</span></code> safety issue which allowed acquiring and locking the same lock multiple times, without it being free. Patch by Bar Harel.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32727">bpo-32727</a>: Do not include name field in SMTP envelope from address. Patch by Stéphane Wirtel</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27931">bpo-27931</a>: Fix email address header parsing error when the username is an empty quoted string. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32304">bpo-32304</a>: distutils’ upload command no longer corrupts tar files ending with a CR byte, and no longer tries to convert CR to CRLF in any of the upload text fields.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32502">bpo-32502</a>: uuid.uuid1 no longer raises an exception if a 64-bit hardware address is encountered.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31848">bpo-31848</a>: Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery Spytz.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32555">bpo-32555</a>: On FreeBSD and Solaris, os.strerror() now always decode the byte string from the current locale encoding, rather than using ASCII/surrogateescape in some cases.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32521">bpo-32521</a>: The nis module is now compatible with new libnsl and headers location.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32473">bpo-32473</a>: Improve ABCMeta._dump_registry() output readability</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32521">bpo-32521</a>: glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32228">bpo-32228</a>: Ensure that <code class="docutils literal notranslate"><span class="pre">truncate()</span></code> preserves the file position (as reported by <code class="docutils literal notranslate"><span class="pre">tell()</span></code>) after writes longer than the buffer size.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26133">bpo-26133</a>: Don’t unsubscribe signals in asyncio UNIX event loop on interpreter shutdown.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32185">bpo-32185</a>: The SSL module no longer sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or inet_pton.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32323">bpo-32323</a>: <a class="reference internal" href="../library/urllib.parse.html#urllib.parse.urlsplit" title="urllib.parse.urlsplit"><code class="xref py py-func docutils literal notranslate"><span class="pre">urllib.parse.urlsplit()</span></code></a> does not convert zone-id (scope) to lower case for scoped IPv6 addresses in hostnames now.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32302">bpo-32302</a>: Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT v140.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32255">bpo-32255</a>: A single empty field is now always quoted when written into a CSV file. This allows to distinguish an empty row from a row consisting of a single empty field. Patch by Licht Takeuchi.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32277">bpo-32277</a>: Raise <code class="docutils literal notranslate"><span class="pre">NotImplementedError</span></code> instead of <code class="docutils literal notranslate"><span class="pre">SystemError</span></code> on platforms where <code class="docutils literal notranslate"><span class="pre">chmod(...,</span> <span class="pre">follow_symlinks=False)</span></code> is not supported. Patch by Anthony Sottile.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32199">bpo-32199</a>: The getnode() ip getter now uses ‘ip link’ instead of ‘ip link list’.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31900">bpo-31900</a>: The <a class="reference internal" href="../library/locale.html#locale.localeconv" title="locale.localeconv"><code class="xref py py-func docutils literal notranslate"><span class="pre">locale.localeconv()</span></code></a> function now sets temporarily the <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> locale to the <code class="docutils literal notranslate"><span class="pre">LC_NUMERIC</span></code> locale to decode <code class="docutils literal notranslate"><span class="pre">decimal_point</span></code> and <code class="docutils literal notranslate"><span class="pre">thousands_sep</span></code> byte strings if they are non-ASCII or longer than 1 byte, and the <code class="docutils literal notranslate"><span class="pre">LC_NUMERIC</span></code> locale is different than the <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> locale. This temporary change affects other threads.</p> <p>Same change for the <a class="reference internal" href="../library/stdtypes.html#str.format" title="str.format"><code class="xref py py-meth docutils literal notranslate"><span class="pre">str.format()</span></code></a> method when formatting a number (<a class="reference internal" href="../library/functions.html#int" title="int"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>, <a class="reference internal" href="../library/functions.html#float" title="float"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>, <a class="reference internal" href="../library/functions.html#float" title="float"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> and subclasses) with the <code class="docutils literal notranslate"><span class="pre">n</span></code> type (ex: <code class="docutils literal notranslate"><span class="pre">'{:n}'.format(1234)</span></code>).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31802">bpo-31802</a>: Importing native path module (<code class="docutils literal notranslate"><span class="pre">posixpath</span></code>, <code class="docutils literal notranslate"><span class="pre">ntpath</span></code>) now works even if the <code class="docutils literal notranslate"><span class="pre">os</span></code> module still is not imported.</p> </li> </ul> </div> <div class="section" id="id23"> <h3>Documentation<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue17232">bpo-17232</a>: Clarify docs for -O and -OO. Patch by Terry Reedy.</li> <li><a class="reference external" href="https://bugs.python.org/issue32800">bpo-32800</a>: Update link to w3c doc for xml default namespaces.</li> <li><a class="reference external" href="https://bugs.python.org/issue8722">bpo-8722</a>: Document <a class="reference internal" href="../reference/datamodel.html#object.__getattr__" title="object.__getattr__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__getattr__()</span></code></a> behavior when property <code class="xref py py-meth docutils literal notranslate"><span class="pre">get()</span></code> method raises <a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue32614">bpo-32614</a>: Modify RE examples in documentation to use raw strings to prevent <a class="reference internal" href="../library/exceptions.html#DeprecationWarning" title="DeprecationWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">DeprecationWarning</span></code></a> and add text to REGEX HOWTO to highlight the deprecation.</li> <li><a class="reference external" href="https://bugs.python.org/issue31972">bpo-31972</a>: Improve docstrings for <a class="reference internal" href="../library/pathlib.html#pathlib.PurePath" title="pathlib.PurePath"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pathlib.PurePath</span></code></a> subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue17799">bpo-17799</a>: Explain real behaviour of sys.settrace and sys.setprofile and their C-API counterparts regarding which type of events are received in each function. Patch by Pablo Galindo Salgado.</li> </ul> </div> <div class="section" id="id24"> <h3>Tests<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32517">bpo-32517</a>: Fix failing <code class="docutils literal notranslate"><span class="pre">test_asyncio</span></code> on macOS 10.12.2+ due to transport of <code class="docutils literal notranslate"><span class="pre">KqueueSelector</span></code> loop was not being closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue32721">bpo-32721</a>: Fix test_hashlib to not fail if the _md5 module is not built.</li> <li><a class="reference external" href="https://bugs.python.org/issue32252">bpo-32252</a>: Fix faulthandler_suppress_crash_report() used to prevent core dump files when testing crashes. getrlimit() returns zero on success.</li> <li><a class="reference external" href="https://bugs.python.org/issue31518">bpo-31518</a>: Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian.</li> </ul> </div> <div class="section" id="id25"> <h3>Build<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32635">bpo-32635</a>: Fix segfault of the crypt module when libxcrypt is provided instead of libcrypt at the system.</li> </ul> </div> <div class="section" id="id26"> <h3>Windows<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue33016">bpo-33016</a>: Fix potential use of uninitialized memory in nt._getfinalpathname</li> <li><a class="reference external" href="https://bugs.python.org/issue32903">bpo-32903</a>: Fix a memory leak in os.chdir() on Windows if the current directory is set to a UNC path.</li> <li><a class="reference external" href="https://bugs.python.org/issue31966">bpo-31966</a>: Fixed WindowsConsoleIO.write() for writing empty data.</li> <li><a class="reference external" href="https://bugs.python.org/issue32409">bpo-32409</a>: Ensures activate.bat can handle Unicode contents.</li> <li><a class="reference external" href="https://bugs.python.org/issue32457">bpo-32457</a>: Improves handling of denormalized executable path when launching Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue32370">bpo-32370</a>: Use the correct encoding for ipconfig output in the uuid module. Patch by Segev Finer.</li> <li><a class="reference external" href="https://bugs.python.org/issue29248">bpo-29248</a>: Fix <a class="reference internal" href="../library/os.html#os.readlink" title="os.readlink"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.readlink()</span></code></a> on Windows, which was mistakenly treating the <code class="docutils literal notranslate"><span class="pre">PrintNameOffset</span></code> field of the reparse data buffer as a number of characters instead of bytes. Patch by Craig Holmquist and SSE4.</li> <li><a class="reference external" href="https://bugs.python.org/issue32588">bpo-32588</a>: Create standalone _distutils_findvs module.</li> </ul> </div> <div class="section" id="id27"> <h3>macOS<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32726">bpo-32726</a>: Provide an additional, more modern macOS installer variant that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8.</li> </ul> </div> <div class="section" id="id28"> <h3>IDLE<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32984">bpo-32984</a>: Set <code class="docutils literal notranslate"><span class="pre">__file__</span></code> while running a startup file. Like Python, IDLE optionally runs one startup file in the Shell window before presenting the first interactive input prompt. For IDLE, <code class="docutils literal notranslate"><span class="pre">-s</span></code> runs a file named in environmental variable <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">IDLESTARTUP</span></code> or <span class="target" id="index-2"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONSTARTUP"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONSTARTUP</span></code></a>; <code class="docutils literal notranslate"><span class="pre">-r</span> <span class="pre">file</span></code> runs <code class="docutils literal notranslate"><span class="pre">file</span></code>. Python sets <code class="docutils literal notranslate"><span class="pre">__file__</span></code> to the startup file name before running the file and unsets it before the first prompt. IDLE now does the same when run normally, without the <code class="docutils literal notranslate"><span class="pre">-n</span></code> option.</li> <li><a class="reference external" href="https://bugs.python.org/issue32940">bpo-32940</a>: Simplify and rename StringTranslatePseudoMapping in pyparse.</li> <li><a class="reference external" href="https://bugs.python.org/issue32916">bpo-32916</a>: Change <code class="docutils literal notranslate"><span class="pre">str</span></code> to <code class="docutils literal notranslate"><span class="pre">code</span></code> in pyparse.</li> <li><a class="reference external" href="https://bugs.python.org/issue32905">bpo-32905</a>: Remove unused code in pyparse module.</li> <li><a class="reference external" href="https://bugs.python.org/issue32874">bpo-32874</a>: Add tests for pyparse.</li> <li><a class="reference external" href="https://bugs.python.org/issue32837">bpo-32837</a>: Using the system and place-dependent default encoding for open() is a bad idea for IDLE’s system and location-independent files.</li> <li><a class="reference external" href="https://bugs.python.org/issue32826">bpo-32826</a>: Add “encoding=utf-8” to open() in IDLE’s test_help_about. GUI test test_file_buttons() only looks at initial ascii-only lines, but failed on systems where open() defaults to ‘ascii’ because readline() internally reads and decodes far enough ahead to encounter a non-ascii character in CREDITS.txt.</li> <li><a class="reference external" href="https://bugs.python.org/issue32765">bpo-32765</a>: Update configdialog General tab docstring to add new widgets to the widget list.</li> </ul> </div> <div class="section" id="id29"> <h3>Tools/Demos<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24960">bpo-24960</a>: 2to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and lib2to3 work when run from a zipfile.</li> <li><a class="reference external" href="https://bugs.python.org/issue32222">bpo-32222</a>: Fix pygettext not extracting docstrings for functions with type annotated arguments. Patch by Toby Harradine.</li> </ul> </div> <div class="section" id="id30"> <h3>C API<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29084">bpo-29084</a>: Undocumented C API for OrderedDict has been excluded from the limited C API. It was added by mistake and actually never worked in the limited C API.</li> </ul> </div> </div> <div class="section" id="python-3-6-4-final"> <h2>Python 3.6.4 final<a class="headerlink" href="#python-3-6-4-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-12-18</em></p> <p>There were no new code changes in version 3.6.4 since v3.6.4rc1.</p> </div> <div class="section" id="python-3-6-4-release-candidate-1"> <h2>Python 3.6.4 release candidate 1<a class="headerlink" href="#python-3-6-4-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-12-05</em></p> <div class="section" id="id31"> <h3>Core and Builtins<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32176">bpo-32176</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31949">bpo-31949</a>: Fixed several issues in printing tracebacks (PyTraceBack_Print()).<ul> <li>Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.</li> <li>Setting sys.tracebacklimit to None now causes using the default limit.</li> <li>Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using the limit LONG_MAX rather than the default limit.</li> <li>Fixed integer overflows in the case of more than 2**31 traceback items on Windows.</li> <li>Fixed output errors handling.</li> </ul> </li> <li><a class="reference external" href="https://bugs.python.org/issue30696">bpo-30696</a>: Fix the interactive interpreter looping endlessly when no memory.</li> <li><a class="reference external" href="https://bugs.python.org/issue20047">bpo-20047</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31852">bpo-31852</a>: Fix a segmentation fault caused by a combination of the async soft keyword and continuation lines.</li> <li><a class="reference external" href="https://bugs.python.org/issue21720">bpo-21720</a>: BytesWarning no longer emitted when the <em>fromlist</em> argument of <code class="docutils literal notranslate"><span class="pre">__import__()</span></code> or the <code class="docutils literal notranslate"><span class="pre">__all__</span></code> attribute of the module contain bytes instances.</li> <li><a class="reference external" href="https://bugs.python.org/issue31825">bpo-31825</a>: Fixed OverflowError in the ‘unicode-escape’ codec and in codecs.escape_decode() when decode an escaped non-ascii byte.</li> <li><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31786">bpo-31786</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31642">bpo-31642</a>: Restored blocking “from package import module” by setting sys.modules[“package.module”] to None.</li> <li><a class="reference external" href="https://bugs.python.org/issue31626">bpo-31626</a>: Fixed a bug in debug memory allocator. There was a write to freed memory after shrinking a memory block.</li> <li><a class="reference external" href="https://bugs.python.org/issue31619">bpo-31619</a>: Fixed a ValueError when convert a string with large number of underscores to integer with binary base.</li> <li><a class="reference external" href="https://bugs.python.org/issue31592">bpo-31592</a>: Fixed an assertion failure in Python parser in case of a bad <a class="reference internal" href="../library/unicodedata.html#unicodedata.normalize" title="unicodedata.normalize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unicodedata.normalize()</span></code></a>. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31588">bpo-31588</a>: Raise a <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TypeError</span></code></a> with a helpful error message when class creation fails due to a metaclass with a bad <code class="docutils literal notranslate"><span class="pre">__prepare__()</span></code> method. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31566">bpo-31566</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_warnings.warn()</span></code> in case of a bad <code class="docutils literal notranslate"><span class="pre">__name__</span></code> global. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31505">bpo-31505</a>: Fix an assertion failure in <a class="reference internal" href="../library/json.html#module-json" title="json: Encode and decode the JSON format."><code class="xref py py-obj docutils literal notranslate"><span class="pre">json</span></code></a>, in case <code class="xref py py-obj docutils literal notranslate"><span class="pre">_json.make_encoder()</span></code> received a bad <code class="xref py py-obj docutils literal notranslate"><span class="pre">encoder()</span></code> argument. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31492">bpo-31492</a>: Fix assertion failures in case of failing to import from a module with a bad <code class="docutils literal notranslate"><span class="pre">__name__</span></code> attribute, and in case of failing to access an attribute of such a module. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31490">bpo-31490</a>: Fix an assertion failure in <a class="reference internal" href="../library/ctypes.html#module-ctypes" title="ctypes: A foreign function library for Python."><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes</span></code></a> class definition, in case the class has an attribute whose name is specified in <code class="docutils literal notranslate"><span class="pre">_anonymous_</span></code> but not in <code class="docutils literal notranslate"><span class="pre">_fields_</span></code>. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31478">bpo-31478</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_random.Random.seed()</span></code> in case the argument has a bad <code class="docutils literal notranslate"><span class="pre">__abs__()</span></code> method. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31315">bpo-31315</a>: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31311">bpo-31311</a>: Fix a crash in the <code class="docutils literal notranslate"><span class="pre">__setstate__()</span></code> method of <a class="reference internal" href="../library/ctypes.html#ctypes._CData" title="ctypes._CData"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes._CData</span></code></a>, in case of a bad <code class="docutils literal notranslate"><span class="pre">__dict__</span></code>. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue31293">bpo-31293</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31285">bpo-31285</a>: Fix an assertion failure in <a class="reference internal" href="../library/warnings.html#warnings.warn_explicit" title="warnings.warn_explicit"><code class="xref py py-obj docutils literal notranslate"><span class="pre">warnings.warn_explicit</span></code></a>, when the return value of the received loader’s get_source() has a bad splitlines() method. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue30817">bpo-30817</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_PrintEx()</span></code> clears now the ignored exception that may be raised by <code class="xref py py-obj docutils literal notranslate"><span class="pre">_PySys_SetObjectId()</span></code>, for example when no memory.</li> </ul> </div> <div class="section" id="id32"> <h3>Library<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Two minor fixes for <code class="docutils literal notranslate"><span class="pre">typing</span></code> module: allow shallow copying instances of generic classes, improve interaction of <code class="docutils literal notranslate"><span class="pre">__init_subclass__</span></code> with generics. Original PRs by Ivan Levkivskyi.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27240">bpo-27240</a>: The header folding algorithm for the new email policies has been rewritten, which also fixes <a class="reference external" href="https://bugs.python.org/issue30788">bpo-30788</a>, <a class="reference external" href="https://bugs.python.org/issue31831">bpo-31831</a>, and <a class="reference external" href="https://bugs.python.org/issue32182">bpo-32182</a>. In particular, RFC2231 folding is now done correctly.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32186">bpo-32186</a>: io.FileIO.readall() and io.FileIO.read() now release the GIL when getting the file size. Fixed hang of all threads with inaccessible NFS server. Patch by Nir Soffer.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue12239">bpo-12239</a>: Make <a class="reference internal" href="../library/msilib.html#msilib.SummaryInformation.GetProperty" title="msilib.SummaryInformation.GetProperty"><code class="xref py py-meth docutils literal notranslate"><span class="pre">msilib.SummaryInformation.GetProperty()</span></code></a> return <code class="docutils literal notranslate"><span class="pre">None</span></code> when the value of property is <code class="docutils literal notranslate"><span class="pre">VT_EMPTY</span></code>. Initial patch by Mark Mc Mahon.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31325">bpo-31325</a>: Fix wrong usage of <a class="reference internal" href="../library/collections.html#collections.namedtuple" title="collections.namedtuple"><code class="xref py py-func docutils literal notranslate"><span class="pre">collections.namedtuple()</span></code></a> in the <a class="reference internal" href="../library/urllib.robotparser.html#urllib.robotparser.RobotFileParser.parse" title="urllib.robotparser.RobotFileParser.parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">RobotFileParser.parse()</span></code></a> method.</p> <p>Initial patch by Robin Wellner.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue12382">bpo-12382</a>: <a class="reference internal" href="../library/msilib.html#msilib.OpenDatabase" title="msilib.OpenDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">msilib.OpenDatabase()</span></code></a> now raises a better exception message when it couldn’t open or create an MSI file. Initial patch by William Tisäter.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32110">bpo-32110</a>: <code class="docutils literal notranslate"><span class="pre">codecs.StreamReader.read(n)</span></code> now returns not more than <em>n</em> characters/bytes for non-negative <em>n</em>. This makes it compatible with <code class="docutils literal notranslate"><span class="pre">read()</span></code> methods of other file-like objects.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32072">bpo-32072</a>: Fixed issues with binary plists:</p> <ul class="simple"> <li>Fixed saving bytearrays.</li> <li>Identical objects will be saved only once.</li> <li>Equal references will be load as identical objects.</li> <li>Added support for saving and loading recursive data structures.</li> </ul> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32034">bpo-32034</a>: Make asyncio.IncompleteReadError and LimitOverrunError pickleable.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32015">bpo-32015</a>: Fixed the looping of asyncio in the case of reconnection the socket during waiting async read/write from/to the socket.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32011">bpo-32011</a>: Restored support of loading marshal files with the TYPE_INT64 code. These files can be produced in Python 2.7.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31970">bpo-31970</a>: Reduce performance overhead of asyncio debug mode.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue9678">bpo-9678</a>: Fixed determining the MAC address in the uuid module:</p> <ul class="simple"> <li>Using ifconfig on NetBSD and OpenBSD.</li> <li>Using arp on Linux, FreeBSD, NetBSD and OpenBSD.</li> </ul> <p>Based on patch by Takayuki Shimizukawa.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30057">bpo-30057</a>: Fix potential missed signal in signal.signal().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31933">bpo-31933</a>: Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch by Jack O’Connor.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31927">bpo-31927</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27666">bpo-27666</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31897">bpo-31897</a>: plistlib now catches more errors when read binary plists and raises InvalidFileException instead of unexpected exceptions.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25720">bpo-25720</a>: Fix the method for checking pad state of curses WINDOW. Patch by Masayuki Yamamoto.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31893">bpo-31893</a>: Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed the comparison of the kqueue_event objects.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31891">bpo-31891</a>: Fixed building the curses module on NetBSD.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28416">bpo-28416</a>: Instances of pickle.Pickler subclass with the persistent_id() method and pickle.Unpickler subclass with the persistent_load() method no longer create reference cycles.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28326">bpo-28326</a>: Fix multiprocessing.Process when stdout and/or stderr is closed or None.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: If nested log adapters are used, the inner <code class="docutils literal notranslate"><span class="pre">process()</span></code> methods are no longer omitted.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: The <code class="docutils literal notranslate"><span class="pre">manager</span></code> property on LoggerAdapter objects is now properly settable.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31806">bpo-31806</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30058">bpo-30058</a>: Fixed buffer overflow in select.kqueue.control().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31770">bpo-31770</a>: Prevent a crash when calling the <code class="docutils literal notranslate"><span class="pre">__init__()</span></code> method of a <code class="docutils literal notranslate"><span class="pre">sqlite3.Cursor</span></code> object more than once. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31672">bpo-31672</a>: <code class="docutils literal notranslate"><span class="pre">idpattern</span></code> in <code class="docutils literal notranslate"><span class="pre">string.Template</span></code> matched some non-ASCII characters. Now it uses <code class="docutils literal notranslate"><span class="pre">-i</span></code> regular expression local flag to avoid non-ASCII characters.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31764">bpo-31764</a>: Prevent a crash in <code class="docutils literal notranslate"><span class="pre">sqlite3.Cursor.close()</span></code> in case the <code class="docutils literal notranslate"><span class="pre">Cursor</span></code> object is uninitialized. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31752">bpo-31752</a>: Fix possible crash in timedelta constructor called with custom integers.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31701">bpo-31701</a>: On Windows, faulthandler.enable() now ignores MSC and COM exceptions.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31728">bpo-31728</a>: Prevent crashes in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_elementtree</span></code> due to unsafe cleanup of <code class="xref py py-obj docutils literal notranslate"><span class="pre">Element.text</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">Element.tail</span></code>. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31620">bpo-31620</a>: an empty asyncio.Queue now doesn’t leak memory when queue.get pollers timeout</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31632">bpo-31632</a>: Fix method set_protocol() of class _SSLProtocolTransport in asyncio module. This method was previously modifying a wrong reference to the protocol.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31675">bpo-31675</a>: Fixed memory leaks in Tkinter’s methods splitlist() and split() when pass a string larger than 2 GiB.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31673">bpo-31673</a>: Fixed typo in the name of Tkinter’s method adderrorinfo().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30806">bpo-30806</a>: Fix the string representation of a netrc object.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue15037">bpo-15037</a>: Added a workaround for getkey() in curses for ncurses 5.7 and earlier.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25351">bpo-25351</a>: Avoid venv activate failures with undefined variables</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25532">bpo-25532</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30347">bpo-30347</a>: Stop crashes when concurrently iterate over itertools.groupby() iterators.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31516">bpo-31516</a>: <code class="docutils literal notranslate"><span class="pre">threading.current_thread()</span></code> should not return a dummy thread at shutdown.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31351">bpo-31351</a>: python -m ensurepip now exits with non-zero exit code if pip bootstrapping has failed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31482">bpo-31482</a>: <code class="docutils literal notranslate"><span class="pre">random.seed()</span></code> now works with bytes in version=1</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31334">bpo-31334</a>: Fix <code class="docutils literal notranslate"><span class="pre">poll.poll([timeout])</span></code> in the <code class="docutils literal notranslate"><span class="pre">select</span></code> module for arbitrary negative timeouts on all OSes where it can only be a non-negative integer or -1. Patch by Riccardo Coccioli.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31310">bpo-31310</a>: multiprocessing’s semaphore tracker should be launched again if crashed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31308">bpo-31308</a>: Make multiprocessing’s forkserver process immune to Ctrl-C and other user interruptions. If it crashes, restart it when necessary.</p> </li> </ul> </div> <div class="section" id="id33"> <h3>Documentation<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32105">bpo-32105</a>: Added asyncio.BaseEventLoop.connect_accepted_socket versionadded marker.</li> <li><a class="reference external" href="https://bugs.python.org/issue31537">bpo-31537</a>: Fix incorrect usage of <code class="docutils literal notranslate"><span class="pre">get_history_length</span></code> in readline documentation example code. Patch by Brad Smith.</li> <li><a class="reference external" href="https://bugs.python.org/issue30085">bpo-30085</a>: The operator functions without double underscores are preferred for clarity. The one with underscores are only kept for back-compatibility.</li> </ul> </div> <div class="section" id="id34"> <h3>Tests<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31380">bpo-31380</a>: Skip test_httpservers test_undecodable_file on macOS: fails on APFS.</li> <li><a class="reference external" href="https://bugs.python.org/issue31705">bpo-31705</a>: Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the kernel 4.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue31174">bpo-31174</a>: Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample to always test the same files. It prevents false alarms when hunting reference leaks.</li> <li><a class="reference external" href="https://bugs.python.org/issue30695">bpo-30695</a>: Add the <code class="xref py py-obj docutils literal notranslate"><span class="pre">set_nomemory(start,</span> <span class="pre">stop)</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">remove_mem_hooks()</span></code> functions to the _testcapi module.</li> </ul> </div> <div class="section" id="id35"> <h3>Build<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue32059">bpo-32059</a>: <code class="docutils literal notranslate"><span class="pre">detect_modules()</span></code> in <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> now also searches the sysroot paths when cross-compiling.</li> <li><a class="reference external" href="https://bugs.python.org/issue31957">bpo-31957</a>: Fixes Windows SDK version detection when building for Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue31609">bpo-31609</a>: Fixes quotes in PCbuild/clean.bat</li> <li><a class="reference external" href="https://bugs.python.org/issue31934">bpo-31934</a>: Abort the build when building out of a not clean source tree.</li> <li><a class="reference external" href="https://bugs.python.org/issue31926">bpo-31926</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update Windows builds to use SQLite 3.21.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update OS X installer to use SQLite 3.21.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue22140">bpo-22140</a>: Prevent double substitution of prefix in python-config.sh.</li> <li><a class="reference external" href="https://bugs.python.org/issue31536">bpo-31536</a>: Avoid wholesale rebuild after <code class="xref py py-obj docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-all</span></code> if nothing changed.</li> </ul> </div> <div class="section" id="id36"> <h3>Windows<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue1102">bpo-1102</a>: Return <code class="docutils literal notranslate"><span class="pre">None</span></code> when <code class="docutils literal notranslate"><span class="pre">View.Fetch()</span></code> returns <code class="docutils literal notranslate"><span class="pre">ERROR_NO_MORE_ITEMS</span></code> instead of raising <code class="docutils literal notranslate"><span class="pre">MSIError</span></code>.</p> <p>Initial patch by Anthony Tuininga.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31944">bpo-31944</a>: Fixes Modify button in Apps and Features dialog.</p> </li> </ul> </div> <div class="section" id="id37"> <h3>macOS<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31392">bpo-31392</a>: Update macOS installer to use OpenSSL 1.0.2m</li> </ul> </div> <div class="section" id="id38"> <h3>IDLE<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32207">bpo-32207</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32164">bpo-32164</a>: Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in configdialog was replaced by ttk.Notebook.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue32100">bpo-32100</a>: IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31858">bpo-31858</a>: IDLE – Restrict shell prompt manipulation 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31860">bpo-31860</a>: The font sample in the IDLE configuration dialog is now editable. Changes persist while IDLE remains open</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31836">bpo-31836</a>: Test_code_module now passes if run after test_idle, which sets ps1.</p> <p>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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: Fix a TypeError that caused a shell restart when printing a traceback that includes an exception that is unhashable. Patch by Zane Bitter.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue13802">bpo-13802</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31460">bpo-31460</a>: Simplify the API of IDLE’s Module Browser.</p> <p>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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31649">bpo-31649</a>: IDLE - Make _htest, _utest parameters keyword only.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31559">bpo-31559</a>: Remove test order dependence in idle_test.test_browser.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31459">bpo-31459</a>: 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.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31500">bpo-31500</a>: Default fonts now are scaled on HiDPI displays.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue1612262">bpo-1612262</a>: IDLE module browser now shows nested classes and functions. Original patches for code and tests by Guilherme Polo and Cheryl Sabella, respectively.</p> </li> </ul> </div> <div class="section" id="id39"> <h3>Tools/Demos<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30722">bpo-30722</a>: Make redemo work with Python 3.6 and newer versions.</p> <p>Also, remove the <code class="docutils literal notranslate"><span class="pre">LOCALE</span></code> option since it doesn’t work with string patterns in Python 3.</p> <p>Patch by Christoph Sarnowski.</p> </li> </ul> </div> <div class="section" id="id40"> <h3>C API<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue20891">bpo-20891</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue31532">bpo-31532</a>: Fix memory corruption due to allocator mix in getpath.c between Py_GetPath() and Py_SetPath()</li> <li><a class="reference external" href="https://bugs.python.org/issue30697">bpo-30697</a>: The <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyExc_RecursionErrorInst</span></code> singleton is removed and <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_NormalizeException()</span></code> 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 <a class="reference external" href="https://bugs.python.org/issue22898">bpo-22898</a>.</li> </ul> </div> </div> <div class="section" id="python-3-6-3-final"> <h2>Python 3.6.3 final<a class="headerlink" href="#python-3-6-3-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-10-03</em></p> <div class="section" id="id41"> <h3>Library<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31641">bpo-31641</a>: Re-allow arbitrary iterables in <a class="reference internal" href="../library/concurrent.futures.html#concurrent.futures.as_completed" title="concurrent.futures.as_completed"><code class="xref py py-obj docutils literal notranslate"><span class="pre">concurrent.futures.as_completed()</span></code></a>. Fixes regression in 3.6.3rc1.</li> </ul> </div> <div class="section" id="id42"> <h3>Build<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31662">bpo-31662</a>: Fix typos in Windows <code class="docutils literal notranslate"><span class="pre">uploadrelease.bat</span></code> script. Fix Windows Doc build issues in <code class="docutils literal notranslate"><span class="pre">Doc/make.bat</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue31423">bpo-31423</a>: Fix building the PDF documentation with newer versions of Sphinx.</li> </ul> </div> </div> <div class="section" id="python-3-6-3-release-candidate-1"> <h2>Python 3.6.3 release candidate 1<a class="headerlink" href="#python-3-6-3-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-09-18</em></p> <div class="section" id="id43"> <h3>Security<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29781">bpo-29781</a>: SSLObject.version() now correctly returns None when handshake over BIO has not been performed yet.</li> <li><a class="reference external" href="https://bugs.python.org/issue30947">bpo-30947</a>: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security fixes.</li> </ul> </div> <div class="section" id="id44"> <h3>Core and Builtins<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31471">bpo-31471</a>: Fix an assertion failure in <a class="reference internal" href="../library/subprocess.html#subprocess.Popen" title="subprocess.Popen"><code class="xref py py-obj docutils literal notranslate"><span class="pre">subprocess.Popen()</span></code></a> on Windows, in case the env argument has a bad keys() method. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31418">bpo-31418</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_WriteUnraisable()</span></code> in case of an exception with a bad <code class="docutils literal notranslate"><span class="pre">__module__</span></code> attribute. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31416">bpo-31416</a>: Fix assertion failures in case of a bad warnings.filters or warnings.defaultaction. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31411">bpo-31411</a>: Raise a TypeError instead of SystemError in case warnings.onceregistry is not a dictionary. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31373">bpo-31373</a>: Fix several possible instances of undefined behavior due to floating-point demotions.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30465">bpo-30465</a>: Location information (<code class="docutils literal notranslate"><span class="pre">lineno</span></code> and <code class="docutils literal notranslate"><span class="pre">col_offset</span></code>) in f-strings is now (mostly) correct. This fixes tools like flake8 from showing warnings on the wrong line (typically the first line of the file).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31343">bpo-31343</a>: Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray plans to remove the functions from sys/types.h.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31291">bpo-31291</a>: Fix an assertion failure in <a class="reference internal" href="../library/zipimport.html#zipimport.zipimporter.get_data" title="zipimport.zipimporter.get_data"><code class="xref py py-obj docutils literal notranslate"><span class="pre">zipimport.zipimporter.get_data</span></code></a> on Windows, when the return value of <code class="docutils literal notranslate"><span class="pre">pathname.replace('/','\\')</span></code> isn’t a string. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31271">bpo-31271</a>: Fix an assertion failure in the write() method of <a class="reference internal" href="../library/io.html#io.TextIOWrapper" title="io.TextIOWrapper"><code class="xref py py-obj docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code></a>, when the encoder doesn’t return a bytes object. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31243">bpo-31243</a>: Fix a crash in some methods of <a class="reference internal" href="../library/io.html#io.TextIOWrapper" title="io.TextIOWrapper"><code class="xref py py-obj docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code></a>, when the decoder’s state is invalid. Patch by Oren Milman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30721">bpo-30721</a>: <code class="docutils literal notranslate"><span class="pre">print</span></code> now shows correct usage hint for using Python 2 redirection syntax. Patch by Sanyam Khurana.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31070">bpo-31070</a>: Fix a race condition in importlib _get_module_lock().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31095">bpo-31095</a>: Fix potential crash during GC caused by <code class="docutils literal notranslate"><span class="pre">tp_dealloc</span></code> which doesn’t call <code class="docutils literal notranslate"><span class="pre">PyObject_GC_UnTrack()</span></code>.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31071">bpo-31071</a>: Avoid masking original TypeError in call with * unpacking when other arguments are passed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30978">bpo-30978</a>: str.format_map() now passes key lookup exceptions through. Previously any exception was replaced with a KeyError exception.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30808">bpo-30808</a>: Use _Py_atomic API for concurrency-sensitive signal state.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30876">bpo-30876</a>: Relative import from unloaded package now reimports the package instead of failing with SystemError. Relative import from non-package now fails with ImportError rather than SystemError.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30703">bpo-30703</a>: Improve signal delivery.</p> <p>Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-unsafe functions. The tests I’m adding here fail without the rest of the patch, on Linux and OS X. This means our signal delivery logic had defects (some signals could be lost).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30765">bpo-30765</a>: Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked not to block.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31161">bpo-31161</a>: Make sure the ‘Missing parentheses’ syntax error message is only applied to SyntaxError, not to subclasses. Patch by Martijn Pieters.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30814">bpo-30814</a>: Fixed a race condition when import a submodule from a package.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30597">bpo-30597</a>: <code class="docutils literal notranslate"><span class="pre">print</span></code> now shows expected input in custom error message when used as a Python 2 statement. Patch by Sanyam Khurana.</p> </li> </ul> </div> <div class="section" id="id45"> <h3>Library<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31499">bpo-31499</a>: xml.etree: Fix a crash when a parser is part of a reference cycle.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: typing.get_type_hints now finds the right globalns for classes and modules by default (when no <code class="docutils literal notranslate"><span class="pre">globalns</span></code> was specified by the caller).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Speed improvements to the <code class="docutils literal notranslate"><span class="pre">typing</span></code> module. Original PRs by Ivan Levkivskyi and Mitar.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31544">bpo-31544</a>: The C accelerator module of ElementTree ignored exceptions raised when looking up TreeBuilder target methods in XMLParser().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31234">bpo-31234</a>: socket.create_connection() now fixes manually a reference cycle: clear the variable storing the last exception on success.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: LoggerAdapter objects can now be nested.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31400">bpo-31400</a>: Improves SSL error handling to avoid losing error numbers.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28958">bpo-28958</a>: ssl.SSLContext() now uses OpenSSL error information when a context cannot be instantiated.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27340">bpo-27340</a>: SSLSocket.sendall() now uses memoryview to create slices of data. This fixes support for all bytes-like object. It is also more efficient and avoids costly copies.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31178">bpo-31178</a>: Fix string concatenation bug in rare error path in the subprocess module</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31350">bpo-31350</a>: Micro-optimize <code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio._get_running_loop()</span></code> to become up to 10% faster.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31170">bpo-31170</a>: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial characters for UTF-8 input (libexpat bug 115): <a class="reference external" href="https://github.com/libexpat/libexpat/issues/115">https://github.com/libexpat/libexpat/issues/115</a></p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29136">bpo-29136</a>: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29212">bpo-29212</a>: Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non repr() based thread name by default when no thread_name_prefix is supplied. They will now identify themselves as “ThreadPoolExecutor-y_n”.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue9146">bpo-9146</a>: Fix a segmentation fault in _hashopenssl when standard hash functions such as md5 are not available in the linked OpenSSL library. As in some special FIPS-140 build environments.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27144">bpo-27144</a>: The <code class="docutils literal notranslate"><span class="pre">map()</span></code> and <code class="docutils literal notranslate"><span class="pre">as_completed()</span></code> iterators in <code class="docutils literal notranslate"><span class="pre">concurrent.futures</span></code> now avoid keeping a reference to yielded objects.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue10746">bpo-10746</a>: Fix ctypes producing wrong PEP 3118 type codes for integer types.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22536">bpo-22536</a>: The subprocess module now sets the filename when FileNotFoundError is raised on POSIX systems due to the executable or cwd not being found.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31249">bpo-31249</a>: concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a reference cycle between an exception object and the WorkItem object.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31247">bpo-31247</a>: xmlrpc.server now explicitly breaks reference cycles when using sys.exc_info() in code handling exceptions.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30102">bpo-30102</a>: The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on OpenSSL < 1.1.0. The function detects CPU features and enables optimizations on some CPU architectures such as POWER8. Patch is based on research from Gustavo Serra Scalet.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31185">bpo-31185</a>: Fixed miscellaneous errors in asyncio speedup module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31135">bpo-31135</a>: ttk: fix the destroy() method of LabeledScale and OptionMenu classes. Call the parent destroy() method even if the used attribute doesn’t exist. The LabeledScale.destroy() method now also explicitly clears label and scale attributes to help the garbage collector to destroy all widgets.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31107">bpo-31107</a>: Fix <code class="xref py py-obj docutils literal notranslate"><span class="pre">copyreg._slotnames()</span></code> mangled attribute calculation for classes whose name begins with an underscore. Patch by Shane Harvey.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31061">bpo-31061</a>: Fixed a crash when using asyncio and threads.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30502">bpo-30502</a>: Fix handling of long oids in ssl. Based on patch by Christian Heimes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30119">bpo-30119</a>: ftplib.FTP.putline() now throws ValueError on commands that contains CR or LF. Patch by Dong-hee Na.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30595">bpo-30595</a>: multiprocessing.Queue.get() with a timeout now polls its reader in non-blocking mode if it succeeded to acquire the lock but the acquire took longer than the timeout.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29403">bpo-29403</a>: Fix <code class="docutils literal notranslate"><span class="pre">unittest.mock</span></code>’s autospec to not fail on method-bound builtin functions. Patch by Aaron Gallagher.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30961">bpo-30961</a>: Fix decrementing a borrowed reference in tracemalloc.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25684">bpo-25684</a>: Change <code class="docutils literal notranslate"><span class="pre">ttk.OptionMenu</span></code> radiobuttons to be unique across instances of <code class="docutils literal notranslate"><span class="pre">OptionMenu</span></code>.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30886">bpo-30886</a>: Fix multiprocessing.Queue.join_thread(): it now waits until the thread completes, even if the thread was started by the same process which created the queue.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29854">bpo-29854</a>: Fix segfault in readline when using readline’s history-size option. Patch by Nir Soffer.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30319">bpo-30319</a>: socket.close() now ignores ECONNRESET error.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30828">bpo-30828</a>: Fix out of bounds write in <code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.CFuture.remove_done_callback()</span></code>.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30807">bpo-30807</a>: signal.setitimer() may disable the timer when passed a tiny value.</p> <p>Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which is specified as taking microsecond-resolution intervals. However, on some platform, our conversion routine could convert 1e-6 into a zero interval, therefore disabling the timer instead of (re-)scheduling it.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30441">bpo-30441</a>: Fix bug when modifying os.environ while iterating over it</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30532">bpo-30532</a>: Fix email header value parser dropping folding white space in certain cases.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30879">bpo-30879</a>: os.listdir() and os.scandir() now emit bytes names when called with bytes-like argument.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30746">bpo-30746</a>: Prohibited the ‘=’ character in environment variable names in <code class="docutils literal notranslate"><span class="pre">os.putenv()</span></code> and <code class="docutils literal notranslate"><span class="pre">os.spawn*()</span></code>.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29755">bpo-29755</a>: Fixed the lgettext() family of functions in the gettext module. They now always return bytes.</p> </li> </ul> </div> <div class="section" id="id46"> <h3>Documentation<a class="headerlink" href="#id46" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31294">bpo-31294</a>: Fix incomplete code snippet in the ZeroMQSocketListener and ZeroMQSocketHandler examples and adapt them to Python 3.</li> <li><a class="reference external" href="https://bugs.python.org/issue21649">bpo-21649</a>: Add RFC 7525 and Mozilla server side TLS links to SSL documentation.</li> <li><a class="reference external" href="https://bugs.python.org/issue30803">bpo-30803</a>: Clarify doc on truth value testing. Original patch by Peter Thomassen.</li> </ul> </div> <div class="section" id="id47"> <h3>Tests<a class="headerlink" href="#id47" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue31320">bpo-31320</a>: Silence traceback in test_ssl</li> <li><a class="reference external" href="https://bugs.python.org/issue25674">bpo-25674</a>: Remove sha256.tbs-internet.com ssl test</li> <li><a class="reference external" href="https://bugs.python.org/issue30715">bpo-30715</a>: Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves like OpenSSL 1.0.2 and no longer aborts handshake.</li> <li><a class="reference external" href="https://bugs.python.org/issue30822">bpo-30822</a>: regrtest: Exclude tzdata from regrtest –all. When running the test suite using –use=all / -u all, exclude tzdata since it makes test_datetime too slow (15-20 min on some buildbots) which then times out on some buildbots. Fix also regrtest command line parser to allow passing -u extralargefile to run test_zipfile64.</li> </ul> </div> <div class="section" id="id48"> <h3>Build<a class="headerlink" href="#id48" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30854">bpo-30854</a>: Fix compile error when compiling –without-threads. Patch by Masayuki Yamamoto.</li> </ul> </div> <div class="section" id="id49"> <h3>Windows<a class="headerlink" href="#id49" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30389">bpo-30389</a>: Adds detection of Visual Studio 2017 to distutils on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue31340">bpo-31340</a>: Change to building with MSVC v141 (included with Visual Studio 2017)</li> <li><a class="reference external" href="https://bugs.python.org/issue30581">bpo-30581</a>: os.cpu_count() now returns the correct number of processors on Windows when the number of logical processors is greater than 64.</li> <li><a class="reference external" href="https://bugs.python.org/issue30731">bpo-30731</a>: Add a missing xmlns to python.manifest so that it matches the schema.</li> </ul> </div> <div class="section" id="id50"> <h3>IDLE<a class="headerlink" href="#id50" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31493">bpo-31493</a>: IDLE code context – fix code update and font update timers.</p> <p>Canceling timers prevents a warning message when test_idle completes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31488">bpo-31488</a>: IDLE - Update non-key options in former extension classes. When applying configdialog changes, call .reload for each feature class. Change ParenMatch so updated options affect existing instances attached to existing editor windows.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31477">bpo-31477</a>: IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more than blank spaces. Multiline string literals are not skipped.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31480">bpo-31480</a>: IDLE - make tests pass with zzdummy extension disabled by default.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31421">bpo-31421</a>: Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the background in order to make live</p> <p>interaction and experimentation with tkinter applications much easier.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31414">bpo-31414</a>: IDLE – fix tk entry box tests by deleting first. Adding to an int entry is not the same as deleting and inserting because int(‘’) will fail.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31051">bpo-31051</a>: Rearrange IDLE configdialog GenPage into Window, Editor, and Help sections.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30617">bpo-30617</a>: IDLE - Add docstrings and tests for outwin subclass of editor.</p> <p>Move some data and functions from the class to module level. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31287">bpo-31287</a>: IDLE - Do not modify tkinter.message in test_configdialog.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27099">bpo-27099</a>: Convert IDLE’s built-in ‘extensions’ to regular features.</p> <p>About 10 IDLE features were implemented as supposedly optional extensions. Their different behavior could be confusing or worse for users and not good for maintenance. Hence the conversion.</p> <p>The main difference for users is that user configurable key bindings for builtin features are now handled uniformly. Now, editing a binding in a keyset only affects its value in the keyset. All bindings are defined together in the system-specific default keysets in config-extensions.def. All custom keysets are saved as a whole in config-extension.cfg. All take effect as soon as one clicks Apply or Ok.</p> <p>The affected events are ‘<<force-open-completions>>’, ‘<<expand-word>>’, ‘<<force-open-calltip>>’, ‘<<flash-paren>>’, ‘<<format-paragraph>>’, ‘<<run-module>>’, ‘<<check-module>>’, and ‘<<zoom-height>>’. Any (global) customizations made before 3.6.3 will not affect their keyset-specific customization after 3.6.3. and vice versa.</p> <p>Inital patch by Charles Wohlganger.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31206">bpo-31206</a>: IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31001">bpo-31001</a>: Add tests for configdialog highlight tab. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31205">bpo-31205</a>: IDLE: Factor KeysPage(Frame) class from ConfigDialog. The slightly modified tests continue to pass. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31130">bpo-31130</a>: IDLE – stop leaks in test_configdialog. Initial patch by Victor Stinner.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31002">bpo-31002</a>: Add tests for configdialog keys tab. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19903">bpo-19903</a>: IDLE: Calltips use <a class="reference internal" href="../library/inspect.html#inspect.signature" title="inspect.signature"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.signature</span></code></a> instead of <a class="reference internal" href="../library/inspect.html#inspect.getfullargspec" title="inspect.getfullargspec"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.getfullargspec</span></code></a>. This improves calltips for builtins converted to use Argument Clinic. Patch by Louie Lu.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31083">bpo-31083</a>: IDLE - Add an outline of a TabPage class in configdialog. Update existing classes to match outline. Initial patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31050">bpo-31050</a>: Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests continue to pass. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31004">bpo-31004</a>: IDLE - Factor FontPage(Frame) class from ConfigDialog.</p> <p>Slightly modified tests continue to pass. Fix General tests. Patch mostly by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30781">bpo-30781</a>: IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan Reedy and Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31060">bpo-31060</a>: IDLE - Finish rearranging methods of ConfigDialog Grouping methods pertaining to each tab and the buttons will aid writing tests and improving the tabs and will enable splitting the groups into classes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30853">bpo-30853</a>: IDLE – Factor a VarTrace class out of ConfigDialog.</p> <p>Instance tracers manages pairs consisting of a tk variable and a callback function. When tracing is turned on, setting the variable calls the function. Test coverage for the new class is 100%.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue31003">bpo-31003</a>: IDLE: Add more tests for General tab.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30993">bpo-30993</a>: IDLE - Improve configdialog font page and tests.</p> <p>In configdialog: Document causal pathways in create_font_tab docstring. Simplify some attribute names. Move set_samples calls to var_changed_font (idea from Cheryl Sabella). Move related functions to positions after the create widgets function.</p> <p>In test_configdialog: Fix test_font_set so not order dependent. Fix renamed test_indent_scale so it tests the widget. Adjust tests for movement of set_samples call. Add tests for load functions. Put all font tests in one class and tab indent tests in another. Except for two lines, these tests completely cover the related functions.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30981">bpo-30981</a>: IDLE – Add more configdialog font page tests.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28523">bpo-28523</a>: IDLE: replace ‘colour’ with ‘color’ in configdialog.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30917">bpo-30917</a>: Add tests for idlelib.config.IdleConf. Increase coverage from 46% to 96%. Patch by Louie Lu.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30934">bpo-30934</a>: Document coverage details for idlelib tests.</p> <ul class="simple"> <li>Add section to idlelib/idle-test/README.txt.</li> <li>Include check that branches are taken both ways.</li> <li>Exclude IDLE-specific code that does not run during unit tests.</li> </ul> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30913">bpo-30913</a>: IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This will facilitate improving the dialog and splitting up the class. Original patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30899">bpo-30899</a>: IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30881">bpo-30881</a>: IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30851">bpo-30851</a>: IDLE: Remove unused variables in configdialog. One is a duplicate, one is set but cannot be altered by users. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30870">bpo-30870</a>: IDLE: In Settings dialog, select font with Up, Down keys as well as mouse. Initial patch by Louie Lu.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue8231">bpo-8231</a>: IDLE: call config.IdleConf.GetUserCfgDir only once.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30779">bpo-30779</a>: IDLE: Factor ConfigChanges class from configdialog, put in config; test. * In config, put dump test code in a function; run it and unittest in ‘if __name__ == ‘__main__’. * Add class config.ConfigChanges based on changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest, partly using configdialog_tests_v1.py. * Revise configdialog to use ConfigChanges; see tracker msg297804. * Revise test_configdialog to match configdialog changes. * Remove configdialog functions unused or moved to ConfigChanges. Cheryl Sabella contributed parts of the patch.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30777">bpo-30777</a>: IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30495">bpo-30495</a>: IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30723">bpo-30723</a>: IDLE: Make several improvements to parenmatch. Add ‘parens’ style to highlight both opener and closer. Make ‘default’ style, which is not default, a synonym for ‘opener’. Make time-delay work the same with all styles. Add help for config dialog extensions tab, including help for parenmatch. Add new tests. Original patch by Charles Wohlganger.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30674">bpo-30674</a>: IDLE: add docstrings to grep module. Patch by Cheryl Sabella</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21519">bpo-21519</a>: IDLE’s basic custom key entry dialog now detects duplicates properly. Original patch by Saimadhav Heblikar.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29910">bpo-29910</a>: IDLE no longer deletes a character after commenting out a region by a key shortcut. Add <code class="docutils literal notranslate"><span class="pre">return</span> <span class="pre">'break'</span></code> for this and other potential conflicts between IDLE and default key bindings.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30728">bpo-30728</a>: Review and change idlelib.configdialog names. Lowercase method and attribute names. Replace ‘colour’ with ‘color’, expand overly cryptic names, delete unneeded underscores. Replace <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">*</span></code> with specific imports. Patches by Cheryl Sabella.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue6739">bpo-6739</a>: IDLE: Verify user-entered key sequences by trying to bind them with tk. Add tests for all 3 validation functions. Original patch by G Polo. Tests added by Cheryl Sabella.</p> </li> </ul> </div> <div class="section" id="id51"> <h3>Tools/Demos<a class="headerlink" href="#id51" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30983">bpo-30983</a>: gdb integration commands (py-bt, etc.) work on optimized shared builds now, too. PEP 523 introduced _PyEval_EvalFrameDefault which inlines PyEval_EvalFrameEx on non-debug shared builds. This broke the ability to use py-bt, py-up, and a few other Python-specific gdb integrations. The problem is fixed by only looking for _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by Bruno “Polaco” Penteado.</li> </ul> </div> </div> <div class="section" id="python-3-6-2-final"> <h2>Python 3.6.2 final<a class="headerlink" href="#python-3-6-2-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-07-17</em></p> <p>No changes since release candidate 2</p> </div> <div class="section" id="python-3-6-2-release-candidate-2"> <h2>Python 3.6.2 release candidate 2<a class="headerlink" href="#python-3-6-2-release-candidate-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-07-07</em></p> <div class="section" id="id52"> <h3>Security<a class="headerlink" href="#id52" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30730">bpo-30730</a>: Prevent environment variables injection in subprocess on Windows. Prevent passing other environment variables and command arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue30694">bpo-30694</a>: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security vulnerabilities including: CVE-2017-9233 (External entity infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix regression bugs from 2.2.0’s fix to CVE-2016-0718) and CVE-2012-0876 (Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn’t impact Python, since Python already gets entropy from the OS to set the expat secret using <code class="docutils literal notranslate"><span class="pre">XML_SetHashSalt()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue30500">bpo-30500</a>: Fix urllib.parse.splithost() to correctly parse fragments. For example, <code class="docutils literal notranslate"><span class="pre">splithost('//127.0.0.1#@evil.com/')</span></code> now correctly returns the <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code> host, instead of treating <code class="docutils literal notranslate"><span class="pre">@evil.com</span></code> as the host in an authentication (<code class="docutils literal notranslate"><span class="pre">login@host</span></code>).</li> </ul> </div> </div> <div class="section" id="python-3-6-2-release-candidate-1"> <h2>Python 3.6.2 release candidate 1<a class="headerlink" href="#python-3-6-2-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-06-17</em></p> <div class="section" id="id53"> <h3>Core and Builtins<a class="headerlink" href="#id53" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30682">bpo-30682</a>: Removed a too-strict assertion that failed for certain f-strings, such as eval(“f’\n’”) and eval(“f’\r’”).</li> <li><a class="reference external" href="https://bugs.python.org/issue30604">bpo-30604</a>: Move co_extra_freefuncs to not be per-thread to avoid crashes</li> <li><a class="reference external" href="https://bugs.python.org/issue29104">bpo-29104</a>: Fixed parsing backslashes in f-strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue27945">bpo-27945</a>: Fixed various segfaults with dict when input collections are mutated during searching, inserting or comparing. Based on patches by Duane Griffin and Tim Mitchell.</li> <li><a class="reference external" href="https://bugs.python.org/issue25794">bpo-25794</a>: Fixed type.__setattr__() and type.__delattr__() for non-interned attribute names. Based on patch by Eryk Sun.</li> <li><a class="reference external" href="https://bugs.python.org/issue30039">bpo-30039</a>: If a KeyboardInterrupt happens when the interpreter is in the middle of resuming a chain of nested ‘yield from’ or ‘await’ calls, it’s now correctly delivered to the innermost frame.</li> <li><a class="reference external" href="https://bugs.python.org/issue12414">bpo-12414</a>: sys.getsizeof() on a code object now returns the sizes which includes the code struct and sizes of objects which it references. Patch by Dong-hee Na.</li> <li><a class="reference external" href="https://bugs.python.org/issue29949">bpo-29949</a>: Fix memory usage regression of set and frozenset object.</li> <li><a class="reference external" href="https://bugs.python.org/issue29935">bpo-29935</a>: Fixed error messages in the index() method of tuple, list and deque when pass indices of wrong type.</li> <li><a class="reference external" href="https://bugs.python.org/issue29859">bpo-29859</a>: Show correct error messages when any of the pthread_* calls in thread_pthread.h fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue28876">bpo-28876</a>: <code class="docutils literal notranslate"><span class="pre">bool(range)</span></code> works even if <code class="docutils literal notranslate"><span class="pre">len(range)</span></code> raises <a class="reference internal" href="../library/exceptions.html#OverflowError" title="OverflowError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">OverflowError</span></code></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue29600">bpo-29600</a>: Fix wrapping coroutine return values in StopIteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue28856">bpo-28856</a>: Fix an oversight that %b format for bytes should support objects follow the buffer protocol.</li> <li><a class="reference external" href="https://bugs.python.org/issue29714">bpo-29714</a>: Fix a regression that bytes format may fail when containing zero bytes inside.</li> <li><a class="reference external" href="https://bugs.python.org/issue29478">bpo-29478</a>: If max_line_length=None is specified while using the Compat32 policy, it is no longer ignored. Patch by Mircea Cosbuc.</li> </ul> </div> <div class="section" id="id54"> <h3>Library<a class="headerlink" href="#id54" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30616">bpo-30616</a>: Functional API of enum allows to create empty enums. Patched by Dong-hee Na</li> <li><a class="reference external" href="https://bugs.python.org/issue30038">bpo-30038</a>: Fix race condition between signal delivery and wakeup file descriptor. Patch by Nathaniel Smith.</li> <li><a class="reference external" href="https://bugs.python.org/issue23894">bpo-23894</a>: lib2to3 now recognizes <code class="docutils literal notranslate"><span class="pre">rb'...'</span></code> and <code class="docutils literal notranslate"><span class="pre">f'...'</span></code> strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue23890">bpo-23890</a>: unittest.TestCase.assertRaises() now manually breaks a reference cycle to not keep objects alive longer than expected.</li> <li><a class="reference external" href="https://bugs.python.org/issue30149">bpo-30149</a>: inspect.signature() now supports callables with variable-argument parameters wrapped with partialmethod. Patch by Dong-hee Na.</li> <li><a class="reference external" href="https://bugs.python.org/issue30645">bpo-30645</a>: Fix path calculation in imp.load_package(), fixing it for cases when a package is only shipped with bytecodes. Patch by Alexandru Ardelean.</li> <li><a class="reference external" href="https://bugs.python.org/issue29931">bpo-29931</a>: Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay Sundaresan.</li> <li><a class="reference external" href="https://bugs.python.org/issue30605">bpo-30605</a>: re.compile() no longer raises a BytesWarning when compiling a bytes instance with misplaced inline modifier. Patch by Roy Williams.</li> </ul> </div> <div class="section" id="id55"> <h3>Security<a class="headerlink" href="#id55" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29591">bpo-29591</a>: Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and CVE-2016-4472. See <a class="reference external" href="https://sourceforge.net/p/expat/bugs/537/">https://sourceforge.net/p/expat/bugs/537/</a> for more information.</li> </ul> </div> <div class="section" id="id56"> <h3>Library<a class="headerlink" href="#id56" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24484">bpo-24484</a>: Avoid race condition in multiprocessing cleanup (#2159)</li> <li><a class="reference external" href="https://bugs.python.org/issue28994">bpo-28994</a>: The traceback no longer displayed for SystemExit raised in a callback registered by atexit.</li> <li><a class="reference external" href="https://bugs.python.org/issue30508">bpo-30508</a>: Don’t log exceptions if Task/Future “cancel()” method was called.</li> <li><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Updates to typing module: Add generic AsyncContextManager, add support for ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan Levkivskyi</li> <li><a class="reference external" href="https://bugs.python.org/issue29870">bpo-29870</a>: Fix ssl sockets leaks when connection is aborted in asyncio/ssl implementation. Patch by Michaël Sghaïer.</li> <li><a class="reference external" href="https://bugs.python.org/issue29743">bpo-29743</a>: Closing transport during handshake process leaks open socket. Patch by Nikolay Kim</li> <li><a class="reference external" href="https://bugs.python.org/issue27585">bpo-27585</a>: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.</li> <li><a class="reference external" href="https://bugs.python.org/issue30418">bpo-30418</a>: On Windows, subprocess.Popen.communicate() now also ignore EINVAL on stdin.write() if the child process is still running but closed the pipe.</li> <li><a class="reference external" href="https://bugs.python.org/issue29822">bpo-29822</a>: inspect.isabstract() now works during __init_subclass__. Patch by Nate Soares.</li> <li><a class="reference external" href="https://bugs.python.org/issue29581">bpo-29581</a>: ABCMeta.__new__ now accepts <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code>, allowing abstract base classes to use keyword parameters in __init_subclass__. Patch by Nate Soares.</li> <li><a class="reference external" href="https://bugs.python.org/issue30557">bpo-30557</a>: faulthandler now correctly filters and displays exception codes on Windows</li> <li><a class="reference external" href="https://bugs.python.org/issue30378">bpo-30378</a>: Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 addresses.</li> <li><a class="reference external" href="https://bugs.python.org/issue29960">bpo-29960</a>: Preserve generator state when _random.Random.setstate() raises an exception. Patch by Bryan Olson.</li> <li><a class="reference external" href="https://bugs.python.org/issue30414">bpo-30414</a>: multiprocessing.Queue._feed background running thread do not break from main loop on exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue30003">bpo-30003</a>: Fix handling escape characters in HZ codec. Based on patch by Ma Lin.</li> <li><a class="reference external" href="https://bugs.python.org/issue30301">bpo-30301</a>: Fix AttributeError when using SimpleQueue.empty() under <em>spawn</em> and <em>forkserver</em> start methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue30329">bpo-30329</a>: imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs sometimes on SSL connections.</li> <li><a class="reference external" href="https://bugs.python.org/issue30375">bpo-30375</a>: Warnings emitted when compile a regular expression now always point to the line in the user code. Previously they could point into inners of the re module if emitted from inside of groups or conditionals.</li> <li><a class="reference external" href="https://bugs.python.org/issue30048">bpo-30048</a>: Fixed <code class="docutils literal notranslate"><span class="pre">Task.cancel()</span></code> can be ignored when the task is running coroutine and the coroutine returned without any more <code class="docutils literal notranslate"><span class="pre">await</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue30266">bpo-30266</a>: contextlib.AbstractContextManager now supports anti-registration by setting __enter__ = None or __exit__ = None, following the pattern introduced in <a class="reference external" href="https://bugs.python.org/issue25958">bpo-25958</a>. Patch by Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue30298">bpo-30298</a>: Weaken the condition of deprecation warnings for inline modifiers. Now allowed several subsequential inline modifiers at the start of the pattern (e.g. <code class="docutils literal notranslate"><span class="pre">'(?i)(?s)...'</span></code>). In verbose mode whitespaces and comments now are allowed before and between inline modifiers (e.g. <code class="docutils literal notranslate"><span class="pre">'(?x)</span> <span class="pre">(?i)</span> <span class="pre">(?s)...'</span></code>).</li> <li><a class="reference external" href="https://bugs.python.org/issue29990">bpo-29990</a>: Fix range checking in GB18030 decoder. Original patch by Ma Lin.</li> <li><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Change resulted because of zipfile breakage. (See also: <a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>)</li> <li><a class="reference external" href="https://bugs.python.org/issue30243">bpo-30243</a>: Removed the __init__ methods of _json’s scanner and encoder. Misusing them could cause memory leaks or crashes. Now scanner and encoder objects are completely initialized in the __new__ methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue30185">bpo-30185</a>: Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C is received.</li> <li><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Various updates to typing module: add typing.NoReturn type, use WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-Hilliard and Ivan Levkivskyi.</li> <li><a class="reference external" href="https://bugs.python.org/issue30205">bpo-30205</a>: Fix getsockname() for unbound AF_UNIX sockets on Linux.</li> <li><a class="reference external" href="https://bugs.python.org/issue30070">bpo-30070</a>: Fixed leaks and crashes in errors handling in the parser module.</li> <li><a class="reference external" href="https://bugs.python.org/issue30061">bpo-30061</a>: Fixed crashes in IOBase methods __next__() and readlines() when readline() or __next__() respectively return non-sizeable object. Fixed possible other errors caused by not checking results of PyObject_Size(), PySequence_Size(), or PyMapping_Size().</li> <li><a class="reference external" href="https://bugs.python.org/issue30017">bpo-30017</a>: Allowed calling the close() method of the zip entry writer object multiple times. Writing to a closed writer now always produces a ValueError.</li> <li><a class="reference external" href="https://bugs.python.org/issue30068">bpo-30068</a>: _io._IOBase.readlines will check if it’s closed first when hint is present.</li> <li><a class="reference external" href="https://bugs.python.org/issue29694">bpo-29694</a>: Fixed race condition in pathlib mkdir with flags parents=True. Patch by Armin Rigo.</li> <li><a class="reference external" href="https://bugs.python.org/issue29692">bpo-29692</a>: Fixed arbitrary unchaining of RuntimeError exceptions in contextlib.contextmanager. Patch by Siddharth Velankar.</li> <li><a class="reference external" href="https://bugs.python.org/issue29998">bpo-29998</a>: Pickling and copying ImportError now preserves name and path attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue29953">bpo-29953</a>: Fixed memory leaks in the replace() method of datetime and time objects when pass out of bound fold argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue29942">bpo-29942</a>: Fix a crash in itertools.chain.from_iterable when encountering long runs of empty iterables.</li> <li><a class="reference external" href="https://bugs.python.org/issue27863">bpo-27863</a>: Fixed multiple crashes in ElementTree caused by race conditions and wrong types.</li> <li><a class="reference external" href="https://bugs.python.org/issue28699">bpo-28699</a>: Fixed a bug in pools in multiprocessing.pool that raising an exception at the very first of an iterable may swallow the exception or make the program hang. Patch by Davin Potts and Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue25803">bpo-25803</a>: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST.</li> <li><a class="reference external" href="https://bugs.python.org/issue29861">bpo-29861</a>: Release references to tasks, their arguments and their results as soon as they are finished in multiprocessing.Pool.</li> <li><a class="reference external" href="https://bugs.python.org/issue29884">bpo-29884</a>: faulthandler: Restore the old sigaltstack during teardown. Patch by Christophe Zeitouny.</li> <li><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive buffered file-like objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue29800">bpo-29800</a>: Fix crashes in partial.__repr__ if the keys of partial.keywords are not strings. Patch by Michael Seifert.</li> <li><a class="reference external" href="https://bugs.python.org/issue29742">bpo-29742</a>: get_extra_info() raises exception if get called on closed ssl transport. Patch by Nikolay Kim.</li> <li><a class="reference external" href="https://bugs.python.org/issue8256">bpo-8256</a>: Fixed possible failing or crashing input() if attributes “encoding” or “errors” of sys.stdin or sys.stdout are not set or are not strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue28298">bpo-28298</a>: Fix a bug that prevented array ‘Q’, ‘L’ and ‘I’ from accepting big intables (objects that have __int__) as elements. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue28231">bpo-28231</a>: The zipfile module now accepts path-like objects for external paths.</li> <li><a class="reference external" href="https://bugs.python.org/issue26915">bpo-26915</a>: index() and count() methods of collections.abc.Sequence now check identity before checking equality when do comparisons.</li> <li><a class="reference external" href="https://bugs.python.org/issue29615">bpo-29615</a>: SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to exception(s) raised in the dispatched methods. Patch by Petr Motejlek.</li> <li><a class="reference external" href="https://bugs.python.org/issue30177">bpo-30177</a>: path.resolve(strict=False) no longer cuts the path after the first element not present in the filesystem. Patch by Antoine Pietri.</li> </ul> </div> <div class="section" id="id57"> <h3>IDLE<a class="headerlink" href="#id57" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue15786">bpo-15786</a>: Fix several problems with IDLE’s autocompletion box. The following should now work: clicking on selection box items; using the scrollbar; selecting an item by hitting Return. Hangs on MacOSX should no longer happen. Patch by Louie Lu.</li> <li><a class="reference external" href="https://bugs.python.org/issue25514">bpo-25514</a>: Add doc subsubsection about IDLE failure to start. Popup no-connection message directs users to this section.</li> <li><a class="reference external" href="https://bugs.python.org/issue30642">bpo-30642</a>: Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy.</li> <li><a class="reference external" href="https://bugs.python.org/issue30495">bpo-30495</a>: Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella and Terry Jan Reedy.</li> <li><a class="reference external" href="https://bugs.python.org/issue30290">bpo-30290</a>: Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.</li> <li><a class="reference external" href="https://bugs.python.org/issue30303">bpo-30303</a>: Add _utest option to textview; add new tests. Increase coverage to 100%. Patches by Louie Lu and Terry Jan Reedy.</li> </ul> </div> <div class="section" id="id58"> <h3>C API<a class="headerlink" href="#id58" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27867">bpo-27867</a>: Function PySlice_GetIndicesEx() no longer replaced with a macro if Py_LIMITED_API is not set.</li> </ul> </div> <div class="section" id="id59"> <h3>Build<a class="headerlink" href="#id59" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29941">bpo-29941</a>: Add <code class="docutils literal notranslate"><span class="pre">--with-assertions</span></code> configure flag to explicitly enable C <code class="docutils literal notranslate"><span class="pre">assert()</span></code> checks. Defaults to off. <code class="docutils literal notranslate"><span class="pre">--with-pydebug</span></code> implies <code class="docutils literal notranslate"><span class="pre">--with-assertions</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue28787">bpo-28787</a>: Fix out-of-tree builds of Python when configured with <code class="docutils literal notranslate"><span class="pre">--with--dtrace</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue29243">bpo-29243</a>: Prevent unnecessary rebuilding of Python during <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code>, <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code> and some other make targets when configured with <code class="docutils literal notranslate"><span class="pre">--enable-optimizations</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue23404">bpo-23404</a>: Don’t regenerate generated files based on file modification time anymore: the action is now explicit. Replace <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">touch</span></code> with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-all</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue29643">bpo-29643</a>: Fix <code class="docutils literal notranslate"><span class="pre">--enable-optimization</span></code> didn’t work.</li> </ul> </div> <div class="section" id="id60"> <h3>Documentation<a class="headerlink" href="#id60" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30176">bpo-30176</a>: Add missing attribute related constants in curses documentation.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue30052">bpo-30052</a>: the link targets for <a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-func docutils literal notranslate"><span class="pre">bytes()</span></code></a> and <a class="reference internal" href="../library/stdtypes.html#bytearray" title="bytearray"><code class="xref py py-func docutils literal notranslate"><span class="pre">bytearray()</span></code></a> are now their respective type definitions, rather than the corresponding builtin function entries. Use <a class="reference internal" href="../library/functions.html#func-bytes"><span class="std std-ref">bytes</span></a> and <a class="reference internal" href="../library/functions.html#func-bytearray"><span class="std std-ref">bytearray</span></a> to reference the latter.</p> <p>In order to ensure this and future cross-reference updates are applied automatically, the daily documentation builds now disable the default output caching features in Sphinx.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26985">bpo-26985</a>: Add missing info of code object in inspect documentation.</p> </li> </ul> </div> <div class="section" id="id61"> <h3>Tools/Demos<a class="headerlink" href="#id61" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29367">bpo-29367</a>: python-gdb.py now supports also <code class="docutils literal notranslate"><span class="pre">method-wrapper</span></code> (<code class="docutils literal notranslate"><span class="pre">wrapperobject</span></code>) objects.</li> </ul> </div> <div class="section" id="id62"> <h3>Tests<a class="headerlink" href="#id62" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30357">bpo-30357</a>: test_thread: setUp() now uses support.threading_setup() and support.threading_cleanup() to wait until threads complete to avoid random side effects on following tests. Initial patch written by Grzegorz Grzywacz.</li> <li><a class="reference external" href="https://bugs.python.org/issue30197">bpo-30197</a>: Enhanced functions swap_attr() and swap_item() in the test.support module. They now work when delete replaced attribute or item inside the with statement. The old value of the attribute or item (or None if it doesn’t exist) now will be assigned to the target of the “as” clause, if there is one.</li> </ul> </div> <div class="section" id="id63"> <h3>Windows<a class="headerlink" href="#id63" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue30687">bpo-30687</a>: Locate msbuild.exe on Windows when building rather than vcvarsall.bat</li> <li><a class="reference external" href="https://bugs.python.org/issue30450">bpo-30450</a>: The build process on Windows no longer depends on Subversion, instead pulling external code from GitHub via a Python script. If Python 3.6 is not found on the system (via <code class="docutils literal notranslate"><span class="pre">py</span> <span class="pre">-3.6</span></code>), NuGet is used to download a copy of 32-bit Python.</li> </ul> </div> </div> <div class="section" id="python-3-6-1-final"> <h2>Python 3.6.1 final<a class="headerlink" href="#python-3-6-1-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-03-21</em></p> <div class="section" id="id64"> <h3>Core and Builtins<a class="headerlink" href="#id64" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29723">bpo-29723</a>: The <code class="docutils literal notranslate"><span class="pre">sys.path[0]</span></code> initialization change for <a class="reference external" href="https://bugs.python.org/issue29139">bpo-29139</a> caused a regression by revealing an inconsistency in how sys.path is initialized when executing <code class="docutils literal notranslate"><span class="pre">__main__</span></code> from a zipfile, directory, or other import location. The interpreter now consistently avoids ever adding the import location’s parent directory to <code class="docutils literal notranslate"><span class="pre">sys.path</span></code>, and ensures no other <code class="docutils literal notranslate"><span class="pre">sys.path</span></code> entries are inadvertently modified when inserting the import location named on the command line.</li> </ul> </div> <div class="section" id="id65"> <h3>Build<a class="headerlink" href="#id65" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27593">bpo-27593</a>: fix format of git information used in sys.version</li> <li>Fix incompatible comment in python.h</li> </ul> </div> </div> <div class="section" id="python-3-6-1-release-candidate-1"> <h2>Python 3.6.1 release candidate 1<a class="headerlink" href="#python-3-6-1-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-03-04</em></p> <div class="section" id="id66"> <h3>Core and Builtins<a class="headerlink" href="#id66" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28893">bpo-28893</a>: Set correct __cause__ for errors about invalid awaitables returned from __aiter__ and __anext__.</li> <li><a class="reference external" href="https://bugs.python.org/issue29683">bpo-29683</a>: Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian Coleman.</li> <li><a class="reference external" href="https://bugs.python.org/issue29684">bpo-29684</a>: Fix minor regression of PyEval_CallObjectWithKeywords. It should raise TypeError when kwargs is not a dict. But it might cause segv when args=NULL and kwargs is not a dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue28598">bpo-28598</a>: Support __rmod__ for subclasses of str being called before str.__mod__. Patch by Martijn Pieters.</li> <li><a class="reference external" href="https://bugs.python.org/issue29607">bpo-29607</a>: Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu Dartiailh.</li> <li><a class="reference external" href="https://bugs.python.org/issue29602">bpo-29602</a>: Fix incorrect handling of signed zeros in complex constructor for complex subclasses and for inputs having a __complex__ method. Patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue29347">bpo-29347</a>: Fixed possibly dereferencing undefined pointers when creating weakref objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue29438">bpo-29438</a>: Fixed use-after-free problem in key sharing dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue29319">bpo-29319</a>: Prevent RunMainFromImporter overwriting sys.path[0].</li> <li><a class="reference external" href="https://bugs.python.org/issue29337">bpo-29337</a>: Fixed possible BytesWarning when compare the code objects. Warnings could be emitted at compile time.</li> <li><a class="reference external" href="https://bugs.python.org/issue29327">bpo-29327</a>: Fixed a crash when pass the iterable keyword argument to sorted().</li> <li><a class="reference external" href="https://bugs.python.org/issue29034">bpo-29034</a>: Fix memory leak and use-after-free in os module (path_converter).</li> <li><a class="reference external" href="https://bugs.python.org/issue29159">bpo-29159</a>: Fix regression in bytes(x) when x.__index__() raises Exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include <sys/random.h> if it does not exist.</li> <li><a class="reference external" href="https://bugs.python.org/issue25677">bpo-25677</a>: Correct the positioning of the syntax error caret for indented blocks. Based on patch by Michael Layzell.</li> <li><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate form.</li> <li><a class="reference external" href="https://bugs.python.org/issue26919">bpo-26919</a>: On Android, operating system data is now always encoded/decoded to/from UTF-8, instead of the locale encoding to avoid inconsistencies with os.fsencode() and os.fsdecode() which are already using UTF-8.</li> <li><a class="reference external" href="https://bugs.python.org/issue28991">bpo-28991</a>: functools.lru_cache() was susceptible to an obscure reentrancy bug triggerable by a monkey-patched len() function.</li> <li><a class="reference external" href="https://bugs.python.org/issue28739">bpo-28739</a>: f-string expressions are no longer accepted as docstrings and by ast.literal_eval() even if they do not include expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue28512">bpo-28512</a>: Fixed setting the offset attribute of SyntaxError by PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().</li> <li><a class="reference external" href="https://bugs.python.org/issue28918">bpo-28918</a>: Fix the cross compilation of xxlimited when Python has been built with Py_DEBUG defined.</li> <li><a class="reference external" href="https://bugs.python.org/issue28731">bpo-28731</a>: Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of dict literal with constant keys up to 30%.</li> </ul> </div> <div class="section" id="id67"> <h3>Library<a class="headerlink" href="#id67" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29169">bpo-29169</a>: Update zlib to 1.2.11.</li> <li><a class="reference external" href="https://bugs.python.org/issue29623">bpo-29623</a>: Allow use of path-like object as a single argument in ConfigParser.read(). Patch by David Ellis.</li> <li><a class="reference external" href="https://bugs.python.org/issue28963">bpo-28963</a>: Fix out of bound iteration in asyncio.Future.remove_done_callback implemented in C.</li> <li><a class="reference external" href="https://bugs.python.org/issue29704">bpo-29704</a>: asyncio.subprocess.SubprocessStreamProtocol no longer closes before all pipes are closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue29271">bpo-29271</a>: Fix Task.current_task and Task.all_tasks implemented in C to accept None argument as their pure Python implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue29703">bpo-29703</a>: Fix asyncio to support instantiation of new event loops in child processes.</li> <li><a class="reference external" href="https://bugs.python.org/issue29376">bpo-29376</a>: Fix assertion error in threading._DummyThread.is_alive().</li> <li><a class="reference external" href="https://bugs.python.org/issue28624">bpo-28624</a>: Add a test that checks that cwd parameter of Popen() accepts PathLike objects. Patch by Sayan Chowdhury.</li> <li><a class="reference external" href="https://bugs.python.org/issue28518">bpo-28518</a>: Start a transaction implicitly before a DML statement. Patch by Aviv Palivoda.</li> <li><a class="reference external" href="https://bugs.python.org/issue29532">bpo-29532</a>: Altering a kwarg dictionary passed to functools.partial() no longer affects a partial object after creation.</li> <li><a class="reference external" href="https://bugs.python.org/issue29110">bpo-29110</a>: Fix file object leak in aifc.open() when file is given as a filesystem path and is not in valid AIFF format. Patch by Anthony Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Various updates to typing module: typing.Counter, typing.ChainMap, improved ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel Krebber, and Łukasz Langa.</li> <li><a class="reference external" href="https://bugs.python.org/issue29100">bpo-29100</a>: Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check minimum and maximum years.</li> <li><a class="reference external" href="https://bugs.python.org/issue29519">bpo-29519</a>: Fix weakref spewing exceptions during interpreter shutdown when used with a rare combination of multiprocessing and custom codecs.</li> <li><a class="reference external" href="https://bugs.python.org/issue29416">bpo-29416</a>: Prevent infinite loop in pathlib.Path.mkdir</li> <li><a class="reference external" href="https://bugs.python.org/issue29444">bpo-29444</a>: Fixed out-of-bounds buffer access in the group() method of the match object. Based on patch by WGH.</li> <li><a class="reference external" href="https://bugs.python.org/issue29335">bpo-29335</a>: Fix subprocess.Popen.wait() when the child process has exited to a stopped instead of terminated state (ex: when under ptrace).</li> <li><a class="reference external" href="https://bugs.python.org/issue29290">bpo-29290</a>: Fix a regression in argparse that help messages would wrap at non-breaking spaces.</li> <li><a class="reference external" href="https://bugs.python.org/issue28735">bpo-28735</a>: Fixed the comparison of mock.MagickMock with mock.ANY.</li> <li><a class="reference external" href="https://bugs.python.org/issue29316">bpo-29316</a>: Restore the provisional status of typing module, add corresponding note to documentation. Patch by Ivan L.</li> <li><a class="reference external" href="https://bugs.python.org/issue29219">bpo-29219</a>: Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.</li> <li><a class="reference external" href="https://bugs.python.org/issue29011">bpo-29011</a>: Fix an important omission by adding Deque to the typing module.</li> <li><a class="reference external" href="https://bugs.python.org/issue28969">bpo-28969</a>: Fixed race condition in C implementation of functools.lru_cache. KeyError could be raised when cached function with full cache was simultaneously called from differen threads with the same uncached arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue29142">bpo-29142</a>: In urllib.request, suffixes in no_proxy environment variable with leading dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan Oberkirch.</li> <li><a class="reference external" href="https://bugs.python.org/issue28961">bpo-28961</a>: Fix unittest.mock._Call helper: don’t ignore the name parameter anymore. Patch written by Jiajun Huang.</li> <li><a class="reference external" href="https://bugs.python.org/issue29203">bpo-29203</a>: functools.lru_cache() now respects PEP 468 and preserves the order of keyword arguments. f(a=1, b=2) is now cached separately from f(b=2, a=1) since both calls could potentially give different results.</li> <li><a class="reference external" href="https://bugs.python.org/issue15812">bpo-15812</a>: inspect.getframeinfo() now correctly shows the first line of a context. Patch by Sam Breese.</li> <li><a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>: Offsets in a ZIP file created with extern file object and modes “w” and “x” now are relative to the start of the file.</li> <li><a class="reference external" href="https://bugs.python.org/issue29085">bpo-29085</a>: Allow random.Random.seed() to use high quality OS randomness rather than the pid and time.</li> <li><a class="reference external" href="https://bugs.python.org/issue29061">bpo-29061</a>: Fixed bug in secrets.randbelow() which would hang when given a negative input. Patch by Brendan Donegan.</li> <li><a class="reference external" href="https://bugs.python.org/issue29079">bpo-29079</a>: Prevent infinite loop in pathlib.resolve() on Windows</li> <li><a class="reference external" href="https://bugs.python.org/issue13051">bpo-13051</a>: Fixed recursion errors in large or resized curses.textpad.Textbox. Based on patch by Tycho Andersen.</li> <li><a class="reference external" href="https://bugs.python.org/issue29119">bpo-29119</a>: Fix weakrefs in the pure python version of collections.OrderedDict move_to_end() method. Contributed by Andra Bogildea.</li> <li><a class="reference external" href="https://bugs.python.org/issue9770">bpo-9770</a>: curses.ascii predicates now work correctly with negative integers.</li> <li><a class="reference external" href="https://bugs.python.org/issue28427">bpo-28427</a>: old keys should not remove new values from WeakValueDictionary when collecting from another thread.</li> <li><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</li> <li><a class="reference external" href="https://bugs.python.org/issue29055">bpo-29055</a>: Neaten-up empty population error on random.choice() by suppressing the upstream exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</li> <li><a class="reference external" href="https://bugs.python.org/issue19542">bpo-19542</a>: Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() when a GC collection happens in another thread.</li> <li><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when passing a sequence that doesn’t own its elements as limits.</li> <li><a class="reference external" href="https://bugs.python.org/issue28779">bpo-28779</a>: multiprocessing.set_forkserver_preload() would crash the forkserver process if a preloaded module instantiated some multiprocessing objects such as locks.</li> <li><a class="reference external" href="https://bugs.python.org/issue28847">bpo-28847</a>: dbm.dumb now supports reading read-only files and no longer writes the index file when it is not changed.</li> <li><a class="reference external" href="https://bugs.python.org/issue26937">bpo-26937</a>: 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.</li> </ul> </div> <div class="section" id="id68"> <h3>IDLE<a class="headerlink" href="#id68" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29071">bpo-29071</a>: IDLE colors f-string prefixes (but not invalid ur prefixes).</li> <li><a class="reference external" href="https://bugs.python.org/issue28572">bpo-28572</a>: Add 10% to coverage of IDLE’s test_configdialog. Update and augment description of the configuration system.</li> </ul> </div> <div class="section" id="id69"> <h3>Windows<a class="headerlink" href="#id69" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29579">bpo-29579</a>: Removes readme.txt from the installer</li> <li><a class="reference external" href="https://bugs.python.org/issue29326">bpo-29326</a>: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev)</li> <li><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: Correctly handle special console filenames (patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue29409">bpo-29409</a>: Implement PEP 529 for io.FileIO (Patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue29392">bpo-29392</a>: Prevent crash when passing invalid arguments into msvcrt module.</li> <li><a class="reference external" href="https://bugs.python.org/issue25778">bpo-25778</a>: winreg does not truncate string correctly (Patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder and disable it by default.</li> </ul> </div> <div class="section" id="id70"> <h3>C API<a class="headerlink" href="#id70" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27867">bpo-27867</a>: Function PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API is not set or set to the value between 0x03050400 and 0x03060000 (not including) or 0x03060100 or higher.</li> <li><a class="reference external" href="https://bugs.python.org/issue29083">bpo-29083</a>: Fixed the declaration of some public API functions. PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is defined.</li> <li><a class="reference external" href="https://bugs.python.org/issue29058">bpo-29058</a>: All stable API extensions added after Python 3.2 are now available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.</li> </ul> </div> <div class="section" id="id71"> <h3>Documentation<a class="headerlink" href="#id71" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28929">bpo-28929</a>: Link the documentation to its source file on GitHub.</li> <li><a class="reference external" href="https://bugs.python.org/issue25008">bpo-25008</a>: Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a third-party asyncio-based replacement.</li> <li><a class="reference external" href="https://bugs.python.org/issue26355">bpo-26355</a>: Add canonical header link on each page to corresponding major version of the documentation. Patch by Matthias Bussonnier.</li> <li><a class="reference external" href="https://bugs.python.org/issue29349">bpo-29349</a>: Fix Python 2 syntax in code for building the documentation.</li> </ul> </div> <div class="section" id="id72"> <h3>Tests<a class="headerlink" href="#id72" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28087">bpo-28087</a>: Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of select.poll when running on macOS due to unresolved issues with the underlying system poll function on some macOS versions.</li> <li><a class="reference external" href="https://bugs.python.org/issue29571">bpo-29571</a>: to match the behaviour of the <code class="docutils literal notranslate"><span class="pre">re.LOCALE</span></code> flag, test_re.test_locale_flag now uses <code class="docutils literal notranslate"><span class="pre">locale.getpreferredencoding(False)</span></code> to determine the candidate encoding for the test regex (allowing it to correctly skip the test when the default locale encoding is a multi-byte encoding)</li> <li><a class="reference external" href="https://bugs.python.org/issue28950">bpo-28950</a>: Disallow -j0 to be combined with -T/-l in regrtest command line arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue28683">bpo-28683</a>: Fix the tests that bind() a unix socket and raise PermissionError on Android for a non-root user.</li> <li><a class="reference external" href="https://bugs.python.org/issue26939">bpo-26939</a>: Add the support.setswitchinterval() function to fix test_functools hanging on the Android armv7 qemu emulator.</li> </ul> </div> <div class="section" id="id73"> <h3>Build<a class="headerlink" href="#id73" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27593">bpo-27593</a>: sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo.</li> <li><a class="reference external" href="https://bugs.python.org/issue29572">bpo-29572</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2k.</li> <li><a class="reference external" href="https://bugs.python.org/issue26851">bpo-26851</a>: Set Android compilation and link flags.</li> <li><a class="reference external" href="https://bugs.python.org/issue28768">bpo-28768</a>: Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto</li> <li><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</li> <li><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</li> <li><a class="reference external" href="https://bugs.python.org/issue28762">bpo-28762</a>: lockf() is available on Android API level 24, but the F_LOCK macro is not defined in android-ndk-r13.</li> <li><a class="reference external" href="https://bugs.python.org/issue28538">bpo-28538</a>: Fix the compilation error that occurs because if_nameindex() is available on Android API level 24, but the if_nameindex structure is not defined.</li> <li><a class="reference external" href="https://bugs.python.org/issue20211">bpo-20211</a>: Do not add the directory for installing C header files and the directory for installing object code libraries to the cross compilation search paths. Original patch by Thomas Petazzoni.</li> <li><a class="reference external" href="https://bugs.python.org/issue28849">bpo-28849</a>: Do not define sys.implementation._multiarch on Android.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-final"> <h2>Python 3.6.0 final<a class="headerlink" href="#python-3-6-0-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-12-23</em></p> <p>No changes since release candidate 2</p> </div> <div class="section" id="python-3-6-0-release-candidate-2"> <h2>Python 3.6.0 release candidate 2<a class="headerlink" href="#python-3-6-0-release-candidate-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-12-16</em></p> <div class="section" id="id74"> <h3>Core and Builtins<a class="headerlink" href="#id74" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28147">bpo-28147</a>: Fix a memory leak in split-table dictionaries: setattr() must not convert combined table into split table. Patch written by INADA Naoki.</li> <li><a class="reference external" href="https://bugs.python.org/issue28990">bpo-28990</a>: Fix asyncio SSL hanging if connection is closed before handshake is completed. (Patch by HoHo-Ho)</li> </ul> </div> <div class="section" id="id75"> <h3>Tools/Demos<a class="headerlink" href="#id75" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28770">bpo-28770</a>: Fix python-gdb.py for fastcalls.</li> </ul> </div> <div class="section" id="id76"> <h3>Windows<a class="headerlink" href="#id76" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder.</li> </ul> </div> <div class="section" id="id77"> <h3>Build<a class="headerlink" href="#id77" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28898">bpo-28898</a>: Prevent gdb build errors due to HAVE_LONG_LONG redefinition.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-release-candidate-1"> <h2>Python 3.6.0 release candidate 1<a class="headerlink" href="#python-3-6-0-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-12-06</em></p> <div class="section" id="id78"> <h3>Core and Builtins<a class="headerlink" href="#id78" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: Rather than silently producing a class that doesn’t support zero-argument <code class="docutils literal notranslate"><span class="pre">super()</span></code> in methods, failing to pass the new <code class="docutils literal notranslate"><span class="pre">__classcell__</span></code> namespace entry up to <code class="docutils literal notranslate"><span class="pre">type.__new__</span></code> now results in a <code class="docutils literal notranslate"><span class="pre">DeprecationWarning</span></code> and a class that supports zero-argument <code class="docutils literal notranslate"><span class="pre">super()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue28797">bpo-28797</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue28782">bpo-28782</a>: Fix a bug in the implementation <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span></code> when checking if the next instruction is YIELD_FROM. Regression introduced by WORDCODE (<a class="reference external" href="https://bugs.python.org/issue26647">bpo-26647</a>).</li> </ul> </div> <div class="section" id="id79"> <h3>Library<a class="headerlink" href="#id79" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27030">bpo-27030</a>: Unknown escapes in re.sub() replacement template are allowed again. But they still are deprecated and will be disabled in 3.7.</li> <li><a class="reference external" href="https://bugs.python.org/issue28835">bpo-28835</a>: Fix a regression introduced in warnings.catch_warnings(): call warnings.showwarning() if it was overriden inside the context manager.</li> <li><a class="reference external" href="https://bugs.python.org/issue27172">bpo-27172</a>: To assist with upgrades from 2.7, the previously documented deprecation of <code class="docutils literal notranslate"><span class="pre">inspect.getfullargspec()</span></code> has been reversed. This decision may be revisited again after the Python 2.7 branch is no longer officially supported.</li> <li><a class="reference external" href="https://bugs.python.org/issue26273">bpo-26273</a>: Add new <code class="xref py py-data docutils literal notranslate"><span class="pre">socket.TCP_CONGESTION</span></code> (Linux 2.6.13) and <code class="xref py py-data docutils literal notranslate"><span class="pre">socket.TCP_USER_TIMEOUT</span></code> (Linux 2.6.37) constants. Patch written by Omar Sandoval.</li> <li><a class="reference external" href="https://bugs.python.org/issue24142">bpo-24142</a>: Reading a corrupt config file left configparser in an invalid state. Original patch by Florian Höch.</li> <li><a class="reference external" href="https://bugs.python.org/issue28843">bpo-28843</a>: Fix asyncio C Task to handle exceptions __traceback__.</li> </ul> </div> <div class="section" id="id80"> <h3>C API<a class="headerlink" href="#id80" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</li> </ul> </div> <div class="section" id="id81"> <h3>Documentation<a class="headerlink" href="#id81" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The data model reference and the porting section in the What’s New guide now cover the additional <code class="docutils literal notranslate"><span class="pre">__classcell__</span></code> handling needed for custom metaclasses to fully support PEP 487 and zero-argument <code class="docutils literal notranslate"><span class="pre">super()</span></code>.</li> </ul> </div> <div class="section" id="id82"> <h3>Tools/Demos<a class="headerlink" href="#id82" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28023">bpo-28023</a>: Fix python-gdb.py didn’t support new dict implementation.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-beta-4"> <h2>Python 3.6.0 beta 4<a class="headerlink" href="#python-3-6-0-beta-4" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-11-21</em></p> <div class="section" id="id83"> <h3>Core and Builtins<a class="headerlink" href="#id83" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28532">bpo-28532</a>: Show sys.version when -V option is supplied twice.</li> <li><a class="reference external" href="https://bugs.python.org/issue27100">bpo-27100</a>: The with-statement now checks for __enter__ before it checks for __exit__. This gives less confusing error messages when both methods are missing. Patch by Jonathan Ellington.</li> <li><a class="reference external" href="https://bugs.python.org/issue28746">bpo-28746</a>: Fix the set_inheritable() file descriptor method on platforms that do not have the ioctl FIOCLEX and FIONCLEX commands.</li> <li><a class="reference external" href="https://bugs.python.org/issue26920">bpo-26920</a>: Fix not getting the locale’s charset upon initializing the interpreter, on platforms that do not have langinfo.</li> <li><a class="reference external" href="https://bugs.python.org/issue28648">bpo-28648</a>: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue19398">bpo-19398</a>: Extra slash no longer added to sys.path components in case of empty compile-time PYTHONPATH components.</li> <li><a class="reference external" href="https://bugs.python.org/issue28665">bpo-28665</a>: Improve speed of the STORE_DEREF opcode by 40%.</li> <li><a class="reference external" href="https://bugs.python.org/issue28583">bpo-28583</a>: PyDict_SetDefault didn’t combine split table when needed. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Fix a refleak in code that raises DeprecationWarning.</li> <li><a class="reference external" href="https://bugs.python.org/issue28721">bpo-28721</a>: Fix asynchronous generators aclose() and athrow() to handle StopAsyncIteration propagation properly.</li> </ul> </div> <div class="section" id="id84"> <h3>Library<a class="headerlink" href="#id84" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28752">bpo-28752</a>: Restored the __reduce__() methods of datetime objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue28727">bpo-28727</a>: 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 <a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: don’t duplicate warning filters when the warnings module is reloaded (thing usually only done in unit tests).</li> <li><a class="reference external" href="https://bugs.python.org/issue20572">bpo-20572</a>: The subprocess.Popen.wait method’s undocumented endtime parameter now raises a DeprecationWarning.</li> <li><a class="reference external" href="https://bugs.python.org/issue25659">bpo-25659</a>: In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() methods on abstract classes like Array.</li> <li><a class="reference external" href="https://bugs.python.org/issue19717">bpo-19717</a>: Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky Kok</li> <li><a class="reference external" href="https://bugs.python.org/issue28563">bpo-28563</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue28387">bpo-28387</a>: Fixed possible crash in _io.TextIOWrapper deallocator when the garbage collector is invoked in other thread. Based on patch by Sebastian Cufre.</li> <li><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon.</li> <li><a class="reference external" href="https://bugs.python.org/issue28613">bpo-28613</a>: Fix get_event_loop() return the current loop if called from coroutines/callbacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue28634">bpo-28634</a>: Fix asyncio.isfuture() to support unittest.Mock.</li> <li><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Fix refleak in _asyncio.Future.__iter__().throw.</li> <li><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin Mayfield.</li> <li><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</li> <li><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</li> <li><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue28704">bpo-28704</a>: Fix create_unix_server to support Path-like objects (PEP 519).</li> <li><a class="reference external" href="https://bugs.python.org/issue28720">bpo-28720</a>: Add collections.abc.AsyncGenerator.</li> </ul> </div> <div class="section" id="id85"> <h3>Documentation<a class="headerlink" href="#id85" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</li> </ul> </div> <div class="section" id="id86"> <h3>Tests<a class="headerlink" href="#id86" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28666">bpo-28666</a>: Now test.support.rmtree is able to remove unwritable or unreadable directories.</li> <li><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</li> </ul> </div> <div class="section" id="id87"> <h3>Build<a class="headerlink" href="#id87" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue10656">bpo-10656</a>: Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael Haubenwallner.</li> <li><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename –with-optimiations to –enable-optimizations.</li> <li><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing ‘getentropy’ declaration warning on macOS. Patch by Gareth Rees.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-beta-3"> <h2>Python 3.6.0 beta 3<a class="headerlink" href="#python-3-6-0-beta-3" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-10-31</em></p> <div class="section" id="id88"> <h3>Core and Builtins<a class="headerlink" href="#id88" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28128">bpo-28128</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue28509">bpo-28509</a>: dict.update() no longer allocate unnecessary large memory.</li> <li><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.</li> <li><a class="reference external" href="https://bugs.python.org/issue28517">bpo-28517</a>: Fixed of-by-one error in the peephole optimizer that caused keeping unreachable code.</li> <li><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Improved exception reporting for problematic __set_name__ attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23782">bpo-23782</a>: Fixed possible memory leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here().</li> <li><a class="reference external" href="https://bugs.python.org/issue28471">bpo-28471</a>: Fix “Python memory allocator called without holding the GIL” crash in socket.setblocking.</li> </ul> </div> <div class="section" id="id89"> <h3>Library<a class="headerlink" href="#id89" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27517">bpo-27517</a>: LZMA compressor and decompressor no longer raise exceptions if given empty data twice. Patch by Benjamin Fogle.</li> <li><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in curses’s addch() with ncurses6.</li> <li><a class="reference external" href="https://bugs.python.org/issue28449">bpo-28449</a>: tarfile.open() with mode “r” or “r:” now tries to open a tar file with compression before trying to open it without compression. Otherwise it had 50% chance failed with ignore_zeros=True.</li> <li><a class="reference external" href="https://bugs.python.org/issue23262">bpo-23262</a>: The webbrowser module now supports Firefox 36+ and derived browsers. Based on patch by Oleg Broytman.</li> <li><a class="reference external" href="https://bugs.python.org/issue27939">bpo-27939</a>: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by representing the scale as float value internally in Tk. tkinter.IntVar now works if float value is set to underlying Tk variable.</li> <li><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: The various ways of specifying weights for random.choices() now produce the same result sequences.</li> <li><a class="reference external" href="https://bugs.python.org/issue28255">bpo-28255</a>: calendar.TextCalendar().prmonth() no longer prints a space at the start of new line after printing a month’s calendar. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue20491">bpo-20491</a>: The textwrap.TextWrapper class now honors non-breaking spaces. Based on patch by Kaarle Ritvanen.</li> <li><a class="reference external" href="https://bugs.python.org/issue28353">bpo-28353</a>: os.fwalk() no longer fails on broken links.</li> <li><a class="reference external" href="https://bugs.python.org/issue28430">bpo-28430</a>: Fix iterator of C implemented asyncio.Future doesn’t accept non-None value is passed to it.send(val).</li> <li><a class="reference external" href="https://bugs.python.org/issue27025">bpo-27025</a>: Generated names for Tkinter widgets now start by the “!” prefix for readability.</li> <li><a class="reference external" href="https://bugs.python.org/issue25464">bpo-25464</a>: Fixed HList.header_exists() in tkinter.tix module by addin a workaround to Tix library bug.</li> <li><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer adds entry “./” to ZIP archive.</li> <li><a class="reference external" href="https://bugs.python.org/issue25953">bpo-25953</a>: re.sub() now raises an error for invalid numerical group reference in replacement template even if the pattern is not found in the string. Error message for invalid group reference now includes the group index and the position of the reference. Based on patch by SilentGhost.</li> <li><a class="reference external" href="https://bugs.python.org/issue18219">bpo-18219</a>: Optimize csv.DictWriter for large number of columns. Patch by Mariatta Wijaya.</li> <li><a class="reference external" href="https://bugs.python.org/issue28448">bpo-28448</a>: Fix C implemented asyncio.Future didn’t work on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue28480">bpo-28480</a>: Fix error building socket module when multithreading is disabled.</li> <li><a class="reference external" href="https://bugs.python.org/issue24452">bpo-24452</a>: Make webbrowser support Chrome on Mac OS X.</li> <li><a class="reference external" href="https://bugs.python.org/issue20766">bpo-20766</a>: Fix references leaked by pdb in the handling of SIGINT handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue28492">bpo-28492</a>: Fix how StopIteration exception is raised in _asyncio.Future.</li> <li><a class="reference external" href="https://bugs.python.org/issue28500">bpo-28500</a>: Fix asyncio to handle async gens GC from another thread.</li> <li><a class="reference external" href="https://bugs.python.org/issue26923">bpo-26923</a>: Fix asyncio.Gather to refuse being cancelled once all children are done. Patch by Johannes Ebke.</li> <li><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Don’t configure the number of workers for default threadpool executor. Initial patch by Hans Lawrenz.</li> <li><a class="reference external" href="https://bugs.python.org/issue28544">bpo-28544</a>: Implement asyncio.Task in C.</li> </ul> </div> <div class="section" id="id90"> <h3>Windows<a class="headerlink" href="#id90" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28522">bpo-28522</a>: Fixes mishandled buffer reallocation in getpathp.c</li> </ul> </div> <div class="section" id="id91"> <h3>Build<a class="headerlink" href="#id91" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</li> <li><a class="reference external" href="https://bugs.python.org/issue28208">bpo-28208</a>: Update Windows build and OS X installers to use SQLite 3.14.2.</li> <li><a class="reference external" href="https://bugs.python.org/issue28248">bpo-28248</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2j.</li> </ul> </div> <div class="section" id="id92"> <h3>Tests<a class="headerlink" href="#id92" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26944">bpo-26944</a>: Fix test_posix for Android where ‘id -G’ is entirely wrong or missing the effective gid.</li> <li><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-beta-2"> <h2>Python 3.6.0 beta 2<a class="headerlink" href="#python-3-6-0-beta-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-10-10</em></p> <div class="section" id="id93"> <h3>Core and Builtins<a class="headerlink" href="#id93" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28183">bpo-28183</a>: Optimize and cleanup dict iteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Added C implementation of asyncio.Future. Original patch by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue28379">bpo-28379</a>: Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The type of long range iterator is now registered as Iterator. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: Creating instances of range_iterator by calling range_iterator type now is deprecated. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The constructor of range_iterator now checks that step is not 0. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue26906">bpo-26906</a>: Resolving special methods of uninitialized type now causes implicit initialization of the type instead of a fail.</li> <li><a class="reference external" href="https://bugs.python.org/issue18287">bpo-18287</a>: PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas Koep.</li> <li><a class="reference external" href="https://bugs.python.org/issue24098">bpo-24098</a>: Fixed possible crash when AST is changed in process of compiling it.</li> <li><a class="reference external" href="https://bugs.python.org/issue28201">bpo-28201</a>: Dict reduces possibility of 2nd conflict in hash table when hashes have same lower bits.</li> <li><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</li> <li><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and frozensets.</li> <li><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with invalid keyword args.</li> <li><a class="reference external" href="https://bugs.python.org/issue28203">bpo-28203</a>: Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya Sharma.</li> <li><a class="reference external" href="https://bugs.python.org/issue28086">bpo-28086</a>: Single var-positional argument of tuple subtype was passed unscathed to the C-defined function. Now it is converted to exact tuple.</li> <li><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Now __set_name__ is looked up on the class instead of the instance.</li> <li><a class="reference external" href="https://bugs.python.org/issue27955">bpo-27955</a>: Fallback on reading /dev/urandom device when the getrandom() syscall fails with EPERM, for example when blocked by SECCOMP.</li> <li><a class="reference external" href="https://bugs.python.org/issue28192">bpo-28192</a>: Don’t import readline in isolated mode.</li> <li>Upgrade internal unicode databases to Unicode version 9.0.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimport’s compile_source(). zipimport should use the same optimization level as the interpreter.</li> <li><a class="reference external" href="https://bugs.python.org/issue28126">bpo-28126</a>: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy().</li> <li><a class="reference external" href="https://bugs.python.org/issue28120">bpo-28120</a>: Fix dict.pop() for splitted dictionary when trying to remove a “pending key” (Not yet inserted in split-table). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Raise DeprecationWarning when async and await keywords are used as variable/attribute/class/function name.</li> </ul> </div> <div class="section" id="id94"> <h3>Library<a class="headerlink" href="#id94" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27998">bpo-27998</a>: Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28317">bpo-28317</a>: The disassembler now decodes FORMAT_VALUE argument.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Fixed writing ZIP files that starts not from the start of the file. Offsets in ZIP file now are relative to the start of the archive in conforming to the specification.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28380">bpo-28380</a>: unittest.mock Mock autospec functions now properly support assert_called, assert_not_called, and assert_called_once.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27181">bpo-27181</a>: remove statistics.geometric_mean and defer until 3.7.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28229">bpo-28229</a>: lzma module now supports pathlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28321">bpo-28321</a>: Fixed writing non-BMP characters with binary format in plistlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28225">bpo-28225</a>: bz2 module now supports pathlib. Initial patch by Ethan Furman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28227">bpo-28227</a>: gzip now supports pathlib. Patch by Ethan Furman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27358">bpo-27358</a>: Optimized merging var-keyword arguments and improved error message when passing a non-mapping as a var-keyword argument.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28257">bpo-28257</a>: Improved error message when passing a non-iterable as a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28322">bpo-28322</a>: Fixed possible crashes when unpickle itertools objects from incorrect pickle data. Based on patch by John Leitch.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28228">bpo-28228</a>: imghdr now supports pathlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28226">bpo-28226</a>: compileall now supports pathlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28314">bpo-28314</a>: Fix function declaration (C flags) for the getiterator() method of xml.etree.ElementTree.Element.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28148">bpo-28148</a>: Stop using localtime() and gmtime() in the time module.</p> <p>Introduced platform independent _PyTime_localtime API that is similar to POSIX localtime_r, but available on all platforms. Patch by Ed Schouten.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28253">bpo-28253</a>: Fixed calendar functions for extreme months: 0001-01 and 9999-12.</p> <p>Methods itermonthdays() and itermonthdays2() are reimplemented so that they don’t call itermonthdates() which can cause datetime.date under/overflow.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28275">bpo-28275</a>: Fixed possible use after free in the decompress() methods of the LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27897">bpo-27897</a>: Fixed possible crash in sqlite3.Connection.create_collation() if pass invalid string-like object as a name. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: random.choices() now has k as a keyword-only argument to improve the readability of common cases and come into line with the signature used in other languages.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue18893">bpo-18893</a>: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by Madison May.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27611">bpo-27611</a>: Fixed support of default root window in the tkinter.tix module. Added the master parameter in the DisplayStyle constructor.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27348">bpo-27348</a>: In the traceback module, restore the formatting of exception messages like “Exception: None”. This fixes a regression introduced in 3.5a2.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25651">bpo-25651</a>: Allow falsy values to be used for msg parameter of subTest().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27778">bpo-27778</a>: Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a signal and a signal handler raises a Python exception.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28200">bpo-28200</a>: Fix memory leak on Windows in the os module (fix path_converter() function).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25400">bpo-25400</a>: RobotFileParser now correctly returns default values for crawl_delay and request_rate. Initial patch by Peter Wirtz.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p> </li> <li><p class="first">Fix UnboundLocalError in socket._sendfile_use_sendfile.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28075">bpo-28075</a>: Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch by Eryk Sun.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22493">bpo-22493</a>: Warning message emitted by using inline flags in the middle of regular expression now contains a (truncated) regex pattern. Patch by Tim Graham.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25270">bpo-25270</a>: Prevent codecs.escape_encode() from raising SystemError when an empty bytestring is passed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28181">bpo-28181</a>: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25895">bpo-25895</a>: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh and Markus Holtermann.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28114">bpo-28114</a>: Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk Sun.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27599">bpo-27599</a>: Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27906">bpo-27906</a>: Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isn’t properly supported. Patch by Seth Michael Larson.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26654">bpo-26654</a>: Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26909">bpo-26909</a>: Fix slow pipes IO in asyncio. Patch by INADA Naoki.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28176">bpo-28176</a>: Fix callbacks race in asyncio.SelectorLoop.sock_connect.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27759">bpo-27759</a>: Fix selectors incorrectly retain invalid file descriptors. Patch by Mark Williams.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28368">bpo-28368</a>: Refuse monitoring processes if the child watcher has no loop attached. Patch by Vincent Michel.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transport’s FD is used with add_reader, add_writer, etc.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28371">bpo-28371</a>: Deprecate passing asyncio.Handles to run_in_executor.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28372">bpo-28372</a>: Fix asyncio to support formatting of non-python coroutines.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28399">bpo-28399</a>: Remove UNIX socket from FS before binding. Patch by Коренберг Марк.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</p> </li> </ul> </div> <div class="section" id="id95"> <h3>Windows<a class="headerlink" href="#id95" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28402">bpo-28402</a>: Adds signed catalog files for stdlib on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue28333">bpo-28333</a>: Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue28110">bpo-28110</a>: launcher.msi has different product codes between 32-bit and 64-bit</li> <li><a class="reference external" href="https://bugs.python.org/issue28161">bpo-28161</a>: Opening CON for write access fails</li> <li><a class="reference external" href="https://bugs.python.org/issue28162">bpo-28162</a>: WindowsConsoleIO readall() fails if first line starts with Ctrl+Z</li> <li><a class="reference external" href="https://bugs.python.org/issue28163">bpo-28163</a>: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle</li> <li><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: _PyIO_get_console_type fails for various paths</li> <li><a class="reference external" href="https://bugs.python.org/issue28137">bpo-28137</a>: Renames Windows path file to ._pth</li> <li><a class="reference external" href="https://bugs.python.org/issue28138">bpo-28138</a>: Windows ._pth file should allow import site</li> </ul> </div> <div class="section" id="id96"> <h3>C API<a class="headerlink" href="#id96" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Deprecated undocumented functions PyUnicode_AsEncodedObject(), PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode().</li> </ul> </div> <div class="section" id="id97"> <h3>Build<a class="headerlink" href="#id97" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28258">bpo-28258</a>: Fixed build with Estonian locale (python-config and distclean targets in Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</li> <li><a class="reference external" href="https://bugs.python.org/issue15819">bpo-15819</a>: Remove redundant include search directory option for building outside the source tree.</li> </ul> </div> <div class="section" id="id98"> <h3>Tests<a class="headerlink" href="#id98" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28217">bpo-28217</a>: Adds _testconsole module to test console input.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-beta-1"> <h2>Python 3.6.0 beta 1<a class="headerlink" href="#python-3-6-0-beta-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-09-12</em></p> <div class="section" id="id99"> <h3>Core and Builtins<a class="headerlink" href="#id99" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann.</li> <li><a class="reference external" href="https://bugs.python.org/issue25221">bpo-25221</a>: Fix corrupted result from PyLong_FromLong(0) when Python is compiled with NSMALLPOSINTS = 0.</li> <li><a class="reference external" href="https://bugs.python.org/issue27080">bpo-27080</a>: Implement formatting support for PEP 515. Initial patch by Chris Angelico.</li> <li><a class="reference external" href="https://bugs.python.org/issue27199">bpo-27199</a>: In tarfile, expose copyfileobj bufsize to improve throughput. Patch by Jason Fried.</li> <li><a class="reference external" href="https://bugs.python.org/issue27948">bpo-27948</a>: In f-strings, only allow backslashes inside the braces (where the expressions are). This is a breaking change from the 3.6 alpha releases, where backslashes are allowed anywhere in an f-string. Also, require that expressions inside f-strings be enclosed within literal braces, and not escapes like <code class="docutils literal notranslate"><span class="pre">f'\x7b"hi"\x7d'</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue28046">bpo-28046</a>: Remove platform-specific directories from sys.path.</li> <li><a class="reference external" href="https://bugs.python.org/issue28071">bpo-28071</a>: Add early-out for differencing from an empty set.</li> <li><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename (patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue25856">bpo-25856</a>: The __module__ attribute of extension classes and functions now is interned. This leads to more compact pickle data with protocol 4.</li> <li><a class="reference external" href="https://bugs.python.org/issue27213">bpo-27213</a>: Rework CALL_FUNCTION* opcodes to produce shorter and more efficient bytecode. Patch by Demur Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and Victor Stinner.</li> <li><a class="reference external" href="https://bugs.python.org/issue26331">bpo-26331</a>: Implement tokenizing support for PEP 515. Patch by Georg Brandl.</li> <li><a class="reference external" href="https://bugs.python.org/issue27999">bpo-27999</a>: Make “global after use” a SyntaxError, and ditto for nonlocal. Patch by Ivan Levkivskyi.</li> <li><a class="reference external" href="https://bugs.python.org/issue28003">bpo-28003</a>: Implement PEP 525 – Asynchronous Generators.</li> <li><a class="reference external" href="https://bugs.python.org/issue27985">bpo-27985</a>: Implement PEP 526 – Syntax for Variable Annotations. Patch by Ivan Levkivskyi.</li> <li><a class="reference external" href="https://bugs.python.org/issue26058">bpo-26058</a>: Add a new private version to the builtin dict type, incremented at each dictionary creation and at each dictionary change. Implementation of the PEP 509.</li> <li><a class="reference external" href="https://bugs.python.org/issue27364">bpo-27364</a>: A backslash-character pair that is not a valid escape sequence now generates a DeprecationWarning. Patch by Emanuel Barry.</li> <li><a class="reference external" href="https://bugs.python.org/issue27350">bpo-27350</a>: <a class="reference internal" href="../library/stdtypes.html#dict" title="dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dict</span></code></a> implementation is changed like PyPy. It is more compact and preserves insertion order. (Concept developed by Raymond Hettinger and patch by Inada Naoki.)</li> <li><a class="reference external" href="https://bugs.python.org/issue27911">bpo-27911</a>: Remove unnecessary error checks in <code class="docutils literal notranslate"><span class="pre">exec_builtin_or_dynamic()</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue27078">bpo-27078</a>: Added BUILD_STRING opcode. Optimized f-strings evaluation.</li> <li><a class="reference external" href="https://bugs.python.org/issue17884">bpo-17884</a>: Python now requires systems with inttypes.h and stdint.h</li> <li><a class="reference external" href="https://bugs.python.org/issue27961">bpo-27961</a>: Require platforms to support <code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">long</span></code>. Python hasn’t compiled without <code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">long</span></code> for years, so this is basically a formality.</li> <li><a class="reference external" href="https://bugs.python.org/issue27355">bpo-27355</a>: Removed support for Windows CE. It was never finished, and Windows CE is no longer a relevant platform for Python.</li> <li>Implement PEP 523.</li> <li><a class="reference external" href="https://bugs.python.org/issue27870">bpo-27870</a>: A left shift of zero by a large integer no longer attempts to allocate large amounts of memory.</li> <li><a class="reference external" href="https://bugs.python.org/issue25402">bpo-25402</a>: In int-to-decimal-string conversion, improve the estimate of the intermediate memory required, and remove an unnecessarily strict overflow check. Patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue27214">bpo-27214</a>: In long_invert, be more careful about modifying object returned by long_add, and remove an unnecessary check for small longs. Thanks Oren Milman for analysis and patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue27506">bpo-27506</a>: Support passing the bytes/bytearray.translate() “delete” argument by keyword.</li> <li><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generator’s frame’s backreference to the generator to prevent crashes in frame.clear().</li> <li><a class="reference external" href="https://bugs.python.org/issue27811">bpo-27811</a>: Fix a crash when a coroutine that has not been awaited is finalized with warnings-as-errors enabled.</li> <li><a class="reference external" href="https://bugs.python.org/issue27587">bpo-27587</a>: Fix another issue found by PVS-Studio: Null pointer check after use of ‘def’ in _PyState_AddModule(). Initial patch by Christian Heimes.</li> <li><a class="reference external" href="https://bugs.python.org/issue27792">bpo-27792</a>: The modulo operation applied to <code class="docutils literal notranslate"><span class="pre">bool</span></code> and other <code class="docutils literal notranslate"><span class="pre">int</span></code> subclasses now always returns an <code class="docutils literal notranslate"><span class="pre">int</span></code>. Previously the return type depended on the input values. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26984">bpo-26984</a>: int() now always returns an instance of exact int.</li> <li><a class="reference external" href="https://bugs.python.org/issue25604">bpo-25604</a>: Fix a minor bug in integer true division; this bug could potentially have caused off-by-one-ulp results on platforms with unreliable ldexp implementations.</li> <li><a class="reference external" href="https://bugs.python.org/issue24254">bpo-24254</a>: Make class definition namespace ordered by default.</li> <li><a class="reference external" href="https://bugs.python.org/issue27662">bpo-27662</a>: Fix an overflow check in <code class="docutils literal notranslate"><span class="pre">List_New</span></code>: the original code was checking against <code class="docutils literal notranslate"><span class="pre">Py_SIZE_MAX</span></code> instead of the correct upper bound of <code class="docutils literal notranslate"><span class="pre">Py_SSIZE_T_MAX</span></code>. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27782">bpo-27782</a>: Multi-phase extension module import now correctly allows the <code class="docutils literal notranslate"><span class="pre">m_methods</span></code> field to be used to add module level functions to instances of non-module types returned from <code class="docutils literal notranslate"><span class="pre">Py_create_mod</span></code>. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27936">bpo-27936</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27487">bpo-27487</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27157">bpo-27157</a>: Make only type() itself accept the one-argument form. Patch by Eryk Sun and Emanuel Barry.</li> <li><a class="reference external" href="https://bugs.python.org/issue27558">bpo-27558</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue28008">bpo-28008</a>: Implement PEP 530 – asynchronous comprehensions.</li> <li><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</li> </ul> </div> <div class="section" id="id100"> <h3>Library<a class="headerlink" href="#id100" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28732">bpo-28732</a>: Fix crash in os.spawnv() with no elements in args</li> <li><a class="reference external" href="https://bugs.python.org/issue28485">bpo-28485</a>: Always raise ValueError for negative compileall.compile_dir(workers=…) parameter, even when multithreading is unavailable.</li> <li><a class="reference external" href="https://bugs.python.org/issue28037">bpo-28037</a>: Use sqlite3_get_autocommit() instead of setting Connection->inTransaction manually.</li> <li><a class="reference external" href="https://bugs.python.org/issue25283">bpo-25283</a>: Attributes tm_gmtoff and tm_zone are now available on all platforms in the return values of time.localtime() and time.gmtime().</li> <li><a class="reference external" href="https://bugs.python.org/issue24454">bpo-24454</a>: Regular expression match object groups are now accessible using __getitem__. “mo[x]” is equivalent to “mo.group(x)”.</li> <li><a class="reference external" href="https://bugs.python.org/issue10740">bpo-10740</a>: sqlite3 no longer implicitly commit an open transaction before DDL statements.</li> <li><a class="reference external" href="https://bugs.python.org/issue17941">bpo-17941</a>: Add a <em>module</em> parameter to collections.namedtuple().</li> <li><a class="reference external" href="https://bugs.python.org/issue22493">bpo-22493</a>: Inline flags now should be used only at the start of the regular expression. Deprecation warning is emitted if uses them in the middle of the regular expression.</li> <li><a class="reference external" href="https://bugs.python.org/issue26885">bpo-26885</a>: xmlrpc now supports unmarshalling additional data types used by Apache XML-RPC implementation for numerics and None.</li> <li><a class="reference external" href="https://bugs.python.org/issue28070">bpo-28070</a>: Fixed parsing inline verbose flag in regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue19500">bpo-19500</a>: Add client-side SSL session resumption to the ssl module.</li> <li><a class="reference external" href="https://bugs.python.org/issue28022">bpo-28022</a>: Deprecate ssl-related arguments in favor of SSLContext. The deprecation include manual creation of SSLSocket and certfile/keyfile (or similar) in ftplib, httplib, imaplib, smtplib, poplib and urllib.</li> <li><a class="reference external" href="https://bugs.python.org/issue28043">bpo-28043</a>: SSLContext has improved default settings: OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE and HIGH ciphers without MD5.</li> <li><a class="reference external" href="https://bugs.python.org/issue24693">bpo-24693</a>: Changed some RuntimeError’s in the zipfile module to more appropriate types. Improved some error messages and debugging output.</li> <li><a class="reference external" href="https://bugs.python.org/issue17909">bpo-17909</a>: <code class="docutils literal notranslate"><span class="pre">json.load</span></code> and <code class="docutils literal notranslate"><span class="pre">json.loads</span></code> now support binary input encoded as UTF-8, UTF-16 or UTF-32. Patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue27137">bpo-27137</a>: the pure Python fallback implementation of <code class="docutils literal notranslate"><span class="pre">functools.partial</span></code> now matches the behaviour of its accelerated C counterpart for subclassing, pickling and text representation purposes. Patch by Emanuel Barry and Serhiy Storchaka.</li> <li>Fix possible integer overflows and crashes in the mmap module with unusual usage patterns.</li> <li><a class="reference external" href="https://bugs.python.org/issue1703178">bpo-1703178</a>: Fix the ability to pass the –link-objects option to the distutils build_ext command.</li> <li><a class="reference external" href="https://bugs.python.org/issue28019">bpo-28019</a>: itertools.count() no longer rounds non-integer step in range between 1.0 and 2.0 to 1.</li> <li><a class="reference external" href="https://bugs.python.org/issue18401">bpo-18401</a>: Pdb now supports the ‘readrc’ keyword argument to control whether .pdbrc files should be read. Patch by Martin Matusiak and Sam Kimbrel.</li> <li><a class="reference external" href="https://bugs.python.org/issue25969">bpo-25969</a>: Update the lib2to3 grammar to handle the unpacking generalizations added in 3.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue14977">bpo-14977</a>: mailcap now respects the order of the lines in the mailcap files (“first match”), as required by RFC 1542. Patch by Michael Lazar.</li> <li><a class="reference external" href="https://bugs.python.org/issue28082">bpo-28082</a>: Convert re flag constants to IntFlag.</li> <li><a class="reference external" href="https://bugs.python.org/issue28025">bpo-28025</a>: Convert all ssl module constants to IntEnum and IntFlags. SSLContext properties now return flags and enums.</li> <li><a class="reference external" href="https://bugs.python.org/issue23591">bpo-23591</a>: Add Flag, IntFlag, and auto() to enum module.</li> <li><a class="reference external" href="https://bugs.python.org/issue433028">bpo-433028</a>: Added support of modifier spans in regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</li> <li><a class="reference external" href="https://bugs.python.org/issue17582">bpo-17582</a>: xml.etree.ElementTree nows preserves whitespaces in attributes (Patch by Duane Griffin. Reviewed and approved by Stefan Behnel.)</li> <li><a class="reference external" href="https://bugs.python.org/issue28047">bpo-28047</a>: Fixed calculation of line length used for the base64 CTE in the new email policies.</li> <li><a class="reference external" href="https://bugs.python.org/issue27576">bpo-27576</a>: Fix call order in OrderedDict.__init__().</li> <li>email.generator.DecodedGenerator now supports the policy keyword.</li> <li><a class="reference external" href="https://bugs.python.org/issue28027">bpo-28027</a>: Remove undocumented modules from <code class="docutils literal notranslate"><span class="pre">Lib/plat-*</span></code>: IN, CDROM, DLFCN, TYPES, CDIO, and STROPTS.</li> <li><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Don’t pass str(_charset) to MIMEText.set_payload(). Patch by Claude Paroz.</li> <li><a class="reference external" href="https://bugs.python.org/issue24277">bpo-24277</a>: The new email API is no longer provisional, and the docs have been reorganized and rewritten to emphasize the new API.</li> <li><a class="reference external" href="https://bugs.python.org/issue22450">bpo-22450</a>: urllib now includes an <code class="docutils literal notranslate"><span class="pre">Accept:</span> <span class="pre">*/*</span></code> header among the default headers. This makes the results of REST API requests more consistent and predictable especially when proxy servers are involved.</li> <li>lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between runs given the same Grammar.txt input regardless of the hash randomization setting.</li> <li><a class="reference external" href="https://bugs.python.org/issue28005">bpo-28005</a>: Allow ImportErrors in encoding implementation to propagate.</li> <li><a class="reference external" href="https://bugs.python.org/issue26667">bpo-26667</a>: Support path-like objects in importlib.util.</li> <li><a class="reference external" href="https://bugs.python.org/issue27570">bpo-27570</a>: Avoid zero-length memcpy() etc calls with null source pointers in the “ctypes” and “array” modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue22233">bpo-22233</a>: Break email header lines <em>only</em> on the RFC specified CR and LF characters, not on arbitrary unicode line breaks. This also fixes a bug in HTTP header parsing.</li> <li><a class="reference external" href="https://bugs.python.org/issue27331">bpo-27331</a>: The email.mime classes now all accept an optional policy keyword.</li> <li><a class="reference external" href="https://bugs.python.org/issue27988">bpo-27988</a>: Fix email iter_attachments incorrect mutation of payload list.</li> <li><a class="reference external" href="https://bugs.python.org/issue16113">bpo-16113</a>: Add SHA-3 and SHAKE support to hashlib module.</li> <li>Eliminate a tautological-pointer-compare warning in _scproxy.c.</li> <li><a class="reference external" href="https://bugs.python.org/issue27776">bpo-27776</a>: The <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> function does now block on Linux 3.17 and newer until the system urandom entropy pool is initialized to increase the security. This change is part of the <span class="target" id="index-3"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue27778">bpo-27778</a>: Expose the Linux <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> syscall as a new <a class="reference internal" href="../library/os.html#os.getrandom" title="os.getrandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.getrandom()</span></code></a> function. This change is part of the <span class="target" id="index-4"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl module’s parsing of GEN_RID subject alternative name fields in X.509 certs.</li> <li><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: Add random.choices().</li> <li><a class="reference external" href="https://bugs.python.org/issue25761">bpo-25761</a>: Improved error reporting about truncated pickle data in C implementation of unpickler. UnpicklingError is now raised instead of AttributeError and ValueError in some cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue26798">bpo-26798</a>: Add BLAKE2 (blake2b and blake2s) to hashlib.</li> <li><a class="reference external" href="https://bugs.python.org/issue26032">bpo-26032</a>: Optimized globbing in pathlib by using os.scandir(); it is now about 1.5–4 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25596">bpo-25596</a>: Optimized glob() and iglob() functions in the glob module; they are now about 3–6 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue27928">bpo-27928</a>: Add scrypt (password-based key derivation function) to hashlib module (requires OpenSSL 1.1.0).</li> <li><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl module’s default cipher list to counter measure sweet32 attack (CVE-2016-2183).</li> <li><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl module’s default cipher list. (Required OpenSSL 1.1.0 or LibreSSL).</li> <li><a class="reference external" href="https://bugs.python.org/issue25387">bpo-25387</a>: Check return value of winsound.MessageBeep.</li> <li><a class="reference external" href="https://bugs.python.org/issue27866">bpo-27866</a>: Add SSLContext.get_ciphers() method to get a list of all enabled ciphers.</li> <li><a class="reference external" href="https://bugs.python.org/issue27744">bpo-27744</a>: Add AF_ALG (Linux Kernel crypto) to socket module.</li> <li><a class="reference external" href="https://bugs.python.org/issue26470">bpo-26470</a>: Port ssl and hashlib module to OpenSSL 1.1.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue11620">bpo-11620</a>: Fix support for SND_MEMORY in winsound.PlaySound. Based on a patch by Tim Lesher.</li> <li><a class="reference external" href="https://bugs.python.org/issue11734">bpo-11734</a>: Add support for IEEE 754 half-precision floats to the struct module. Based on a patch by Eli Stevens.</li> <li><a class="reference external" href="https://bugs.python.org/issue27919">bpo-27919</a>: Deprecated <code class="docutils literal notranslate"><span class="pre">extra_path</span></code> distribution option in distutils packaging.</li> <li><a class="reference external" href="https://bugs.python.org/issue23229">bpo-23229</a>: Add new <code class="docutils literal notranslate"><span class="pre">cmath</span></code> constants: <code class="docutils literal notranslate"><span class="pre">cmath.inf</span></code> and <code class="docutils literal notranslate"><span class="pre">cmath.nan</span></code> to match <code class="docutils literal notranslate"><span class="pre">math.inf</span></code> and <code class="docutils literal notranslate"><span class="pre">math.nan</span></code>, and also <code class="docutils literal notranslate"><span class="pre">cmath.infj</span></code> and <code class="docutils literal notranslate"><span class="pre">cmath.nanj</span></code> to match the format used by complex repr.</li> <li><a class="reference external" href="https://bugs.python.org/issue27842">bpo-27842</a>: The csv.DictReader now returns rows of type OrderedDict. (Contributed by Steve Holden.)</li> <li>Remove support for passing a file descriptor to os.access. It never worked but previously didn’t raise.</li> <li><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</li> <li><a class="reference external" href="https://bugs.python.org/issue27881">bpo-27881</a>: Fixed possible bugs when setting sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27861">bpo-27861</a>: Fixed a crash in sqlite3.Connection.cursor() when a factory creates not a cursor. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: Avoid spurious output on OS X with Gnu Readline.</li> <li><a class="reference external" href="https://bugs.python.org/issue27706">bpo-27706</a>: Restore deterministic behavior of random.Random().seed() for string seeds using seeding version 1. Allows sequences of calls to random() to exactly match those obtained in Python 2. Patch by Nofar Schnider.</li> <li><a class="reference external" href="https://bugs.python.org/issue10513">bpo-10513</a>: Fix a regression in Connection.commit(). Statements should not be reset after a commit.</li> <li><a class="reference external" href="https://bugs.python.org/issue12319">bpo-12319</a>: Chunked transfer encoding support added to http.client.HTTPConnection requests. The urllib.request.AbstractHTTPHandler class does not enforce a Content-Length header any more. If a HTTP request has a file or iterable body, but no Content-Length header, the library now falls back to use chunked transfer-encoding.</li> <li>A new version of typing.py from <a class="reference external" href="https://github.com/python/typing">https://github.com/python/typing</a>: - Collection (only for 3.6) (<a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>) - Add FrozenSet to __all__ (upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove the dict constraint in ForwardRef._eval_type (upstream #252)</li> <li><a class="reference external" href="https://bugs.python.org/issue27832">bpo-27832</a>: Make <code class="docutils literal notranslate"><span class="pre">_normalize</span></code> parameter to <code class="docutils literal notranslate"><span class="pre">Fraction</span></code> constuctor keyword-only, so that <code class="docutils literal notranslate"><span class="pre">Fraction(2,</span> <span class="pre">3,</span> <span class="pre">4)</span></code> now raises <code class="docutils literal notranslate"><span class="pre">TypeError</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue27539">bpo-27539</a>: Fix unnormalised <code class="docutils literal notranslate"><span class="pre">Fraction.__pow__</span></code> result in the case of negative exponent and negative base.</li> <li><a class="reference external" href="https://bugs.python.org/issue21718">bpo-21718</a>: cursor.description is now available for queries using CTEs.</li> <li><a class="reference external" href="https://bugs.python.org/issue27819">bpo-27819</a>: In distutils sdists, simply produce the “gztar” (gzipped tar format) distributions on all platforms unless “formats” is supplied.</li> <li><a class="reference external" href="https://bugs.python.org/issue2466">bpo-2466</a>: posixpath.ismount now correctly recognizes mount points which the user does not have permission to access.</li> <li><a class="reference external" href="https://bugs.python.org/issue9998">bpo-9998</a>: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH for shared libraries.</li> <li><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: exit message for code.interact is now configurable.</li> <li><a class="reference external" href="https://bugs.python.org/issue27930">bpo-27930</a>: Improved behaviour of logging.handlers.QueueListener. Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue6766">bpo-6766</a>: Distributed reference counting added to multiprocessing to support nesting of shared values / proxy objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue21201">bpo-21201</a>: Improves readability of multiprocessing error message. Thanks to Wojciech Walczak for patch.</li> <li>asyncio: Add set_protocol / get_protocol to Transports.</li> <li><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</li> </ul> </div> <div class="section" id="id101"> <h3>IDLE<a class="headerlink" href="#id101" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue15308">bpo-15308</a>: Add ‘interrupt execution’ (^C) to Shell menu. Patch by Roger Serwy, updated by Bayard Randel.</li> <li><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from ‘flashing’ gui widgets on the screen.</li> <li><a class="reference external" href="https://bugs.python.org/issue27891">bpo-27891</a>: Consistently group and sort imports within idlelib modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue17642">bpo-17642</a>: add larger font sizes for classroom projection.</li> <li>Add version to title of IDLE help window.</li> <li><a class="reference external" href="https://bugs.python.org/issue25564">bpo-25564</a>: In section on IDLE – console differences, mention that using exec means that __builtins__ is defined for each statement.</li> <li><a class="reference external" href="https://bugs.python.org/issue27821">bpo-27821</a>: Fix 3.6.0a3 regression that prevented custom key sets from being selected when no custom theme was defined.</li> </ul> </div> <div class="section" id="id102"> <h3>C API<a class="headerlink" href="#id102" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26900">bpo-26900</a>: Excluded underscored names and other private API from limited API.</li> <li><a class="reference external" href="https://bugs.python.org/issue26027">bpo-26027</a>: Add support for path-like objects in PyUnicode_FSConverter() & PyUnicode_FSDecoder().</li> </ul> </div> <div class="section" id="id103"> <h3>Tests<a class="headerlink" href="#id103" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27427">bpo-27427</a>: Additional tests for the math module. Patch by Francisco Couzo.</li> <li><a class="reference external" href="https://bugs.python.org/issue27953">bpo-27953</a>: Skip math and cmath tests that fail on OS X 10.4 due to a poor libm implementation of tan.</li> <li><a class="reference external" href="https://bugs.python.org/issue26040">bpo-26040</a>: Improve test_math and test_cmath coverage and rigour. Patch by Jeff Allen.</li> <li><a class="reference external" href="https://bugs.python.org/issue27787">bpo-27787</a>: Call gc.collect() before checking each test for “dangling threads”, since the dangling threads are weak references.</li> </ul> </div> <div class="section" id="id104"> <h3>Build<a class="headerlink" href="#id104" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</li> <li><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</li> <li><a class="reference external" href="https://bugs.python.org/issue27976">bpo-27976</a>: Deprecate building _ctypes with the bundled copy of libffi on non-OSX UNIX platforms.</li> <li><a class="reference external" href="https://bugs.python.org/issue27983">bpo-27983</a>: Cause lack of llvm-profdata tool when using clang as required for PGO linking to be a configure time error rather than make time when <code class="docutils literal notranslate"><span class="pre">--with-optimizations</span></code> is enabled. Also improve our ability to find the llvm-profdata tool on MacOS and some Linuxes.</li> <li><a class="reference external" href="https://bugs.python.org/issue21590">bpo-21590</a>: Support for DTrace and SystemTap probes.</li> <li><a class="reference external" href="https://bugs.python.org/issue26307">bpo-26307</a>: The profile-opt build now applies PGO to the built-in modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Add the –with-optimizations flag to turn on LTO and PGO build support when available.</li> <li><a class="reference external" href="https://bugs.python.org/issue27917">bpo-27917</a>: Set platform triplets for Android builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Update references to the $(LIBPL) installation path on AIX. This path was changed in 3.2a4.</li> <li>Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.</li> <li><a class="reference external" href="https://bugs.python.org/issue21122">bpo-21122</a>: Fix LTO builds on OS X.</li> <li><a class="reference external" href="https://bugs.python.org/issue17128">bpo-17128</a>: Build OS X installer with a private copy of OpenSSL. Also provide a sample Install Certificates command script to install a set of root certificates from the third-party certifi module.</li> </ul> </div> <div class="section" id="id105"> <h3>Tools/Demos<a class="headerlink" href="#id105" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27952">bpo-27952</a>: Get Tools/scripts/fixcid.py working with Python 3 and the current “re” module, avoid invalid Python backslash escapes, and fix a bug parsing escaped C quote signs.</li> </ul> </div> <div class="section" id="id106"> <h3>Windows<a class="headerlink" href="#id106" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28065">bpo-28065</a>: Update xz dependency to 5.2.2 and build it from source.</li> <li><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</li> <li><a class="reference external" href="https://bugs.python.org/issue1602">bpo-1602</a>: Windows console doesn’t input or print Unicode (PEP 528)</li> <li><a class="reference external" href="https://bugs.python.org/issue27781">bpo-27781</a>: Change file system encoding on Windows to UTF-8 (PEP 529)</li> <li><a class="reference external" href="https://bugs.python.org/issue27731">bpo-27731</a>: Opt-out of MAX_PATH on Windows 10</li> <li><a class="reference external" href="https://bugs.python.org/issue6135">bpo-6135</a>: Adds encoding and errors parameters to subprocess.</li> <li><a class="reference external" href="https://bugs.python.org/issue27959">bpo-27959</a>: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec lookup.</li> <li><a class="reference external" href="https://bugs.python.org/issue27982">bpo-27982</a>: The functions of the winsound module now accept keyword arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue20366">bpo-20366</a>: Build full text search support into SQLite on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue27756">bpo-27756</a>: Adds new icons for Python files and processes on Windows. Designs by Cherry Wang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27883">bpo-27883</a>: Update sqlite to 3.14.1.0 on Windows.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-alpha-4"> <h2>Python 3.6.0 alpha 4<a class="headerlink" href="#python-3-6-0-alpha-4" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-08-15</em></p> <div class="section" id="id107"> <h3>Core and Builtins<a class="headerlink" href="#id107" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27704">bpo-27704</a>: Optimized creating bytes and bytearray from byte-like objects and iterables. Speed up to 3 times for short objects. Original patch by Naoki Inada.</li> <li><a class="reference external" href="https://bugs.python.org/issue26823">bpo-26823</a>: Large sections of repeated lines in tracebacks are now abbreviated as “[Previous line repeated {count} more times]” by the builtin traceback rendering. Patch by Emanuel Barry.</li> <li><a class="reference external" href="https://bugs.python.org/issue27574">bpo-27574</a>: Decreased an overhead of parsing keyword arguments in functions implemented with using Argument Clinic.</li> <li><a class="reference external" href="https://bugs.python.org/issue22557">bpo-22557</a>: Now importing already imported modules is up to 2.5 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue17596">bpo-17596</a>: Include <wincrypt.h> to help with Min GW building.</li> <li><a class="reference external" href="https://bugs.python.org/issue17599">bpo-17599</a>: On Windows, rename the privately defined REPARSE_DATA_BUFFER structure to avoid conflicting with the definition from Min GW.</li> <li><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Don’t rely on wrapping for overflow check in PySequence_Tuple(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Avoid signed integer overflow in list and tuple operations. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27419">bpo-27419</a>: Standard __import__() no longer look up “__import__” in globals or builtins for importing submodules or “from import”. Fixed a crash if raise a warning about unabling to resolve package from __spec__ or __package__.</li> <li><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue27514">bpo-27514</a>: Make having too many statically nested blocks a SyntaxError instead of SystemError.</li> <li><a class="reference external" href="https://bugs.python.org/issue27366">bpo-27366</a>: Implemented PEP 487 (Simpler customization of class creation). Upon subclassing, the __init_subclass__ classmethod is called on the base class. Descriptors are initialized with __set_name__ after class creation.</li> </ul> </div> <div class="section" id="id108"> <h3>Library<a class="headerlink" href="#id108" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26027">bpo-26027</a>: Add PEP 519/__fspath__() support to the os and os.path modules. Includes code from Jelle Zijlstra. (See also: <a class="reference external" href="https://bugs.python.org/issue27524">bpo-27524</a>)</li> <li><a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>: Add Collections to collections.abc. Patch by Ivan Levkivskyi, docs by Neil Girdhar.</li> <li><a class="reference external" href="https://bugs.python.org/issue25958">bpo-25958</a>: Support “anti-registration” of special methods from various ABCs, like __hash__, __iter__ or __len__. All these (and several more) can be set to None in an implementation class and the behavior will be as if the method is not defined at all. (Previously, this mechanism existed only for __hash__, to make mutable classes unhashable.) Code contributed by Andrew Barnert and Ivan Levkivskyi.</li> <li><a class="reference external" href="https://bugs.python.org/issue16764">bpo-16764</a>: Support keyword arguments to zlib.decompress(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27736">bpo-27736</a>: Prevent segfault after interpreter re-initialization due to ref count problem introduced in code for <a class="reference external" href="https://bugs.python.org/issue27038">bpo-27038</a> in 3.6.0a3. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue25628">bpo-25628</a>: The <em>verbose</em> and <em>rename</em> parameters for collections.namedtuple are now keyword-only.</li> <li><a class="reference external" href="https://bugs.python.org/issue12345">bpo-12345</a>: Add mathematical constant tau to math and cmath. See also PEP 628.</li> <li><a class="reference external" href="https://bugs.python.org/issue26823">bpo-26823</a>: traceback.StackSummary.format now abbreviates large sections of repeated lines as “[Previous line repeated {count} more times]” (this change then further affects other traceback display operations in the module). Patch by Emanuel Barry.</li> <li><a class="reference external" href="https://bugs.python.org/issue27664">bpo-27664</a>: Add to concurrent.futures.thread.ThreadPoolExecutor() the ability to specify a thread name prefix.</li> <li><a class="reference external" href="https://bugs.python.org/issue27181">bpo-27181</a>: Add geometric_mean and harmonic_mean to statistics module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: code.interact now prints an message when exiting.</li> <li><a class="reference external" href="https://bugs.python.org/issue6422">bpo-6422</a>: Add autorange method to timeit.Timer objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue27773">bpo-27773</a>: Correct some memory management errors server_hostname in _ssl.wrap_socket().</li> <li><a class="reference external" href="https://bugs.python.org/issue26750">bpo-26750</a>: unittest.mock.create_autospec() now works properly for subclasses of property() and other data descriptors. Removes the never publicly used, never documented unittest.mock.DescriptorTypes tuple.</li> <li><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Undocumented support of general bytes-like objects as path in compile() and similar functions is now deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue26800">bpo-26800</a>: Undocumented support of general bytes-like objects as paths in os functions is now deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue26981">bpo-26981</a>: Add _order_ compatibility shim to enum.Enum for Python 2/3 code bases.</li> <li><a class="reference external" href="https://bugs.python.org/issue27661">bpo-27661</a>: Added tzinfo keyword argument to datetime.combine.</li> <li>In the curses module, raise an error if window.getstr() or window.instr() is passed a negative value.</li> <li><a class="reference external" href="https://bugs.python.org/issue27783">bpo-27783</a>: Fix possible usage of uninitialized memory in operator.methodcaller.</li> <li><a class="reference external" href="https://bugs.python.org/issue27774">bpo-27774</a>: Fix possible Py_DECREF on unowned object in _sre.</li> <li><a class="reference external" href="https://bugs.python.org/issue27760">bpo-27760</a>: Fix possible integer overflow in binascii.b2a_qp.</li> <li><a class="reference external" href="https://bugs.python.org/issue27758">bpo-27758</a>: Fix possible integer overflow in the _csv module for large record lengths.</li> <li><a class="reference external" href="https://bugs.python.org/issue27568">bpo-27568</a>: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates that the script is in CGI mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue7063">bpo-7063</a>: Remove dead code from the “array” module’s slice handling. Patch by Chuck.</li> <li><a class="reference external" href="https://bugs.python.org/issue27656">bpo-27656</a>: Do not assume sched.h defines any SCHED_* constants.</li> <li><a class="reference external" href="https://bugs.python.org/issue27130">bpo-27130</a>: In the “zlib” module, fix handling of large buffers (typically 4 GiB) when compressing and decompressing. Previously, inputs were limited to 4 GiB, and compression and decompression operations did not properly handle results of 4 GiB.</li> <li><a class="reference external" href="https://bugs.python.org/issue24773">bpo-24773</a>: Implemented PEP 495 (Local Time Disambiguation).</li> <li>Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27567">bpo-27567</a>: Expose the EPOLLRDHUP and POLLRDHUP constants in the select module.</li> <li><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Avoid signed int negation overflow in the “audioop” module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</li> <li><a class="reference external" href="https://bugs.python.org/issue17711">bpo-17711</a>: Fixed unpickling by the persistent ID with protocol 0. Original patch by Alexandre Vassalotti.</li> <li><a class="reference external" href="https://bugs.python.org/issue27522">bpo-27522</a>: Avoid an unintentional reference cycle in email.feedparser.</li> <li><a class="reference external" href="https://bugs.python.org/issue27512">bpo-27512</a>: Fix a segfault when os.fspath() called an __fspath__() method that raised an exception. Patch by Xiang Zhang.</li> </ul> </div> <div class="section" id="id109"> <h3>IDLE<a class="headerlink" href="#id109" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27714">bpo-27714</a>: text_textview and test_autocomplete now pass when re-run in the same process. This occurs when test_idle fails when run with the -w option but without -jn. Fix warning from test_config.</li> <li><a class="reference external" href="https://bugs.python.org/issue27621">bpo-27621</a>: Put query response validation error messages in the query box itself instead of in a separate messagebox. Redo tests to match. Add Mac OSX refinements. Original patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue27620">bpo-27620</a>: Escape key now closes Query box as cancelled.</li> <li><a class="reference external" href="https://bugs.python.org/issue27609">bpo-27609</a>: IDLE: tab after initial whitespace should tab, not autocomplete. This fixes problem with writing docstrings at least twice indented.</li> <li><a class="reference external" href="https://bugs.python.org/issue27609">bpo-27609</a>: Explicitly return None when there are also non-None returns. In a few cases, reverse a condition and eliminate a return.</li> <li><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: IDLE no longer runs buggy code because of its tkinter imports. Users must include the same imports required to run directly in Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue27173">bpo-27173</a>: Add ‘IDLE Modern Unix’ to the built-in key sets. Make the default key set depend on the platform. Add tests for the changes to the config module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</li> </ul> </div> <div class="section" id="id110"> <h3>Tests<a class="headerlink" href="#id110" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25805">bpo-25805</a>: Skip a test in test_pkgutil as needed that doesn’t work when <code class="docutils literal notranslate"><span class="pre">__name__</span> <span class="pre">==</span> <span class="pre">__main__</span></code>. Patch by SilentGhost.</li> <li><a class="reference external" href="https://bugs.python.org/issue27472">bpo-27472</a>: Add test.support.unix_shell as the path to the default shell.</li> <li><a class="reference external" href="https://bugs.python.org/issue27369">bpo-27369</a>: In test_pyexpat, avoid testing an error message detail that changed in Expat 2.2.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue27594">bpo-27594</a>: Prevent assertion error when running test_ast with coverage enabled: ensure code object has a valid first line number. Patch suggested by Ivan Levkivskyi.</li> </ul> </div> <div class="section" id="id111"> <h3>Windows<a class="headerlink" href="#id111" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27647">bpo-27647</a>: Update bundled Tcl/Tk to 8.6.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue27610">bpo-27610</a>: Adds PEP 514 metadata to Windows installer</li> <li><a class="reference external" href="https://bugs.python.org/issue27469">bpo-27469</a>: Adds a shell extension to the launcher so that drag and drop works correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enables proper Windows styles in python[w].exe manifest.</li> </ul> </div> <div class="section" id="id112"> <h3>Build<a class="headerlink" href="#id112" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlib’s bootstrap files. Patch by Xiang Zhang</li> <li><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Correct the references to Modules/python.exp, which is required on AIX. The references were accidentally changed in 3.5.0a1.</li> <li><a class="reference external" href="https://bugs.python.org/issue27453">bpo-27453</a>: CPP invocation in configure must use CPPFLAGS. Patch by Chi Hsuan Yen.</li> <li><a class="reference external" href="https://bugs.python.org/issue27641">bpo-27641</a>: The configure script now inserts comments into the makefile to prevent the pgen and _freeze_importlib executables from being cross-compiled.</li> <li><a class="reference external" href="https://bugs.python.org/issue26662">bpo-26662</a>: Set PYTHON_FOR_GEN in configure as the Python program to be used for file generation during the build.</li> <li><a class="reference external" href="https://bugs.python.org/issue10910">bpo-10910</a>: Avoid C++ compilation errors on FreeBSD and OS X. Also update FreedBSD version checks for the original ctype UTF-8 workaround.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-alpha-3"> <h2>Python 3.6.0 alpha 3<a class="headerlink" href="#python-3-6-0-alpha-3" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-07-11</em></p> <div class="section" id="id113"> <h3>Core and Builtins<a class="headerlink" href="#id113" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27473">bpo-27473</a>: Fixed possible integer overflow in bytes and bytearray concatenations. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue23034">bpo-23034</a>: The output of a special Python build with defined COUNT_ALLOCS, SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by default. It can be re-enabled using the “-X showalloccount” option. It now outputs to stderr instead of stdout.</li> <li><a class="reference external" href="https://bugs.python.org/issue27443">bpo-27443</a>: __length_hint__() of bytearray iterators no longer return a negative integer for a resized bytearray.</li> <li><a class="reference external" href="https://bugs.python.org/issue27007">bpo-27007</a>: The fromhex() class methods of bytes and bytearray subclasses now return an instance of corresponding subclass.</li> </ul> </div> <div class="section" id="id114"> <h3>Library<a class="headerlink" href="#id114" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26844">bpo-26844</a>: Fix error message for imp.find_module() to refer to ‘path’ instead of ‘name’. Patch by Lev Maximov.</li> <li><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL zero-length recv() calls to not block and not raise an error about unclean EOF.</li> <li><a class="reference external" href="https://bugs.python.org/issue27466">bpo-27466</a>: Change time format returned by http.cookie.time2netscape, confirming the netscape cookie format and making it consistent with documentation.</li> <li><a class="reference external" href="https://bugs.python.org/issue21708">bpo-21708</a>: Deprecated dbm.dumb behavior that differs from common dbm behavior: creating a database in ‘r’ and ‘w’ modes and modifying a database in ‘r’ mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue26721">bpo-26721</a>: Change the socketserver.StreamRequestHandler.wfile attribute to implement BufferedIOBase. In particular, the write() method no longer does partial writes.</li> <li><a class="reference external" href="https://bugs.python.org/issue22115">bpo-22115</a>: Added methods trace_add, trace_remove and trace_info in the tkinter.Variable class. They replace old methods trace_variable, trace, trace_vdelete and trace_vinfo that use obsolete Tcl commands and might not work in future versions of Tcl. Fixed old tracing methods: trace_vdelete() with wrong mode no longer break tracing, trace_vinfo() now always returns a list of pairs of strings, tracing in the “u” mode now works.</li> <li><a class="reference external" href="https://bugs.python.org/issue26243">bpo-26243</a>: Only the level argument to zlib.compress() is keyword argument now. The first argument is positional-only.</li> <li><a class="reference external" href="https://bugs.python.org/issue27038">bpo-27038</a>: Expose the DirEntry type as os.DirEntry. Code patch by Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Update os.fspath()/PyOS_FSPath() to check the return value of __fspath__() to be either str or bytes.</li> <li><a class="reference external" href="https://bugs.python.org/issue18726">bpo-18726</a>: All optional parameters of the dump(), dumps(), load() and loads() functions and JSONEncoder and JSONDecoder class constructors in the json module are now keyword-only.</li> <li><a class="reference external" href="https://bugs.python.org/issue27319">bpo-27319</a>: Methods selection_set(), selection_add(), selection_remove() and selection_toggle() of ttk.TreeView now allow passing multiple items as multiple arguments instead of passing them as a tuple. Deprecated undocumented ability of calling the selection() method with arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue27079">bpo-27079</a>: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().</li> <li><a class="reference external" href="https://bugs.python.org/issue27294">bpo-27294</a>: Numerical state in the repr for Tkinter event objects is now represented as a combination of known flags.</li> <li><a class="reference external" href="https://bugs.python.org/issue27177">bpo-27177</a>: Match objects in the re module now support index-like objects as group indices. Based on patches by Jeroen Demeyer and Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Some functions (compile() etc) accepted a filename argument encoded as an iterable of integers. Now only strings and byte-like objects are accepted.</li> <li><a class="reference external" href="https://bugs.python.org/issue26536">bpo-26536</a>: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes.</li> <li><a class="reference external" href="https://bugs.python.org/issue27048">bpo-27048</a>: Prevents distutils failing on Windows when environment variables contain non-ASCII characters</li> <li><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27238">bpo-27238</a>: Got rid of bare excepts in the turtle module. Original patch by Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue27122">bpo-27122</a>: When an exception is raised within the context being managed by a contextlib.ExitStack() and one of the exit stack generators catches and raises it in a chain, do not re-raise the original exception when exiting, let the new chained one through. This avoids the PEP 479 bug described in issue25782.</li> </ul> </div> <div class="section" id="id115"> <h3>Security<a class="headerlink" href="#id115" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27278">bpo-27278</a>: Fix os.urandom() implementation using getrandom() on Linux. Truncate size to INT_MAX and loop until we collected enough random bytes, instead of casting a directly Py_ssize_t to int.</li> </ul> </div> <div class="section" id="id116"> <h3>Library<a class="headerlink" href="#id116" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue16864">bpo-16864</a>: sqlite3.Cursor.lastrowid now supports REPLACE statement. Initial patch by Alex LordThorsen.</li> <li><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item id’s containing spaces.</li> <li><a class="reference external" href="https://bugs.python.org/issue8637">bpo-8637</a>: Honor a pager set by the env var MANPAGER (in preference to one set by the env var PAGER).</li> </ul> </div> <div class="section" id="id117"> <h3>Security<a class="headerlink" href="#id117" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</li> </ul> </div> <div class="section" id="id118"> <h3>Library<a class="headerlink" href="#id118" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue16182">bpo-16182</a>: Fix various functions in the “readline” module to use the locale encoding, and fix get_begidx() and get_endidx() to return code point indexes.</li> <li><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</li> </ul> </div> <div class="section" id="id119"> <h3>IDLE<a class="headerlink" href="#id119" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27477">bpo-27477</a>: IDLE search dialogs now use ttk widgets.</li> <li><a class="reference external" href="https://bugs.python.org/issue27173">bpo-27173</a>: Add ‘IDLE Modern Unix’ to the built-in key sets. Make the default key set depend on the platform. Add tests for the changes to the config module.</li> <li><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: make command line “idle-test> python test_help.py” work. __file__ is relative when python is started in the file’s directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</li> <li><a class="reference external" href="https://bugs.python.org/issue27380">bpo-27380</a>: IDLE: add query.py with base Query dialog and ttk widgets. Module had subclasses SectionName, ModuleName, and HelpSource, which are used to get information from users by configdialog and file =>Load Module. Each subclass has itw own validity checks. Using ModuleName allows users to edit bad module names instead of starting over. Add tests and delete the two files combined into the new one.</li> <li><a class="reference external" href="https://bugs.python.org/issue27372">bpo-27372</a>: Test_idle no longer changes the locale.</li> <li><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</li> <li><a class="reference external" href="https://bugs.python.org/issue27245">bpo-27245</a>: IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE was started from a console or by import, a cascade of warnings was emitted. Patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue24137">bpo-24137</a>: Run IDLE, test_idle, and htest with tkinter default root disabled. Fix code and tests that fail with this restriction. Fix htests to not create a second and redundant root and mainloop.</li> <li><a class="reference external" href="https://bugs.python.org/issue27310">bpo-27310</a>: Fix IDLE.app failure to launch on OS X due to vestigial import.</li> </ul> </div> <div class="section" id="id120"> <h3>C API<a class="headerlink" href="#id120" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: PyUnicode_FSDecoder() accepted a filename argument encoded as an iterable of integers. Now only strings and byte-like objects are accepted.</li> </ul> </div> <div class="section" id="id121"> <h3>Build<a class="headerlink" href="#id121" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28066">bpo-28066</a>: Fix the logic that searches build directories for generated include files when building outside the source tree.</li> <li><a class="reference external" href="https://bugs.python.org/issue27442">bpo-27442</a>: Expose the Android API level that python was built against, in sysconfig.get_config_vars() as ‘ANDROID_API_LEVEL’.</li> <li><a class="reference external" href="https://bugs.python.org/issue27434">bpo-27434</a>: The interpreter that runs the cross-build, found in PATH, must now be of the same feature version (e.g. 3.6) as the source being built.</li> <li><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</li> <li><a class="reference external" href="https://bugs.python.org/issue23968">bpo-23968</a>: Rename the platform directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install the platform specific _sysconfigdata module into the platform directory and rename it to include the ABIFLAGS.</li> <li>Don’t use largefile support for GNU/Hurd.</li> </ul> </div> <div class="section" id="id122"> <h3>Tools/Demos<a class="headerlink" href="#id122" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27332">bpo-27332</a>: Fixed the type of the first argument of module-level functions generated by Argument Clinic. Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</li> </ul> </div> <div class="section" id="id123"> <h3>Documentation<a class="headerlink" href="#id123" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue19489">bpo-19489</a>: Moved the search box from the sidebar to the header and footer of each page. Patch by Ammar Askar.</li> <li><a class="reference external" href="https://bugs.python.org/issue27285">bpo-27285</a>: Update documentation to reflect the deprecation of <code class="docutils literal notranslate"><span class="pre">pyvenv</span></code> and normalize on the term “virtual environment”. Patch by Steve Piercy.</li> </ul> </div> <div class="section" id="id124"> <h3>Tests<a class="headerlink" href="#id124" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27027">bpo-27027</a>: Added test.support.is_android that is True when this is an Android build.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-alpha-2"> <h2>Python 3.6.0 alpha 2<a class="headerlink" href="#python-3-6-0-alpha-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-06-13</em></p> <div class="section" id="id125"> <h3>Core and Builtins<a class="headerlink" href="#id125" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27095">bpo-27095</a>: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. Patch by Demur Rumed.</li> <li><a class="reference external" href="https://bugs.python.org/issue27190">bpo-27190</a>: Raise NotSupportedError if sqlite3 is older than 3.3.1. Patch by Dave Sawyer.</li> <li><a class="reference external" href="https://bugs.python.org/issue27286">bpo-27286</a>: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling function with generalized unpacking (PEP 448) and conflicting keyword names could cause undefined behavior.</li> <li><a class="reference external" href="https://bugs.python.org/issue27140">bpo-27140</a>: Added BUILD_CONST_KEY_MAP opcode.</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add support for os.PathLike objects to open() (part of PEP 519).</li> <li><a class="reference external" href="https://bugs.python.org/issue27066">bpo-27066</a>: Fixed SystemError if a custom opener (for open()) returns a negative number without setting an exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue26983">bpo-26983</a>: float() now always return an instance of exact float. The deprecation warning is emitted if __float__ returns an instance of a strict subclass of float. In a future versions of Python this can be an error.</li> <li><a class="reference external" href="https://bugs.python.org/issue27097">bpo-27097</a>: Python interpreter is now about 7% faster due to optimized instruction decoding. Based on patch by Demur Rumed.</li> <li><a class="reference external" href="https://bugs.python.org/issue26647">bpo-26647</a>: Python interpreter now uses 16-bit wordcode instead of bytecode. Patch by Demur Rumed.</li> <li><a class="reference external" href="https://bugs.python.org/issue23275">bpo-23275</a>: Allow assigning to an empty target list in round brackets: () = iterable.</li> <li><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Update the __aiter__ protocol: instead of returning an awaitable that resolves to an asynchronous iterator, the asynchronous iterator should be returned directly. Doing the former will trigger a PendingDeprecationWarning.</li> </ul> </div> <div class="section" id="id126"> <h3>Library<a class="headerlink" href="#id126" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li>Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants exposed on the API which are not implemented on GNU/Hurd. They would not work at runtime anyway.</li> <li><a class="reference external" href="https://bugs.python.org/issue27025">bpo-27025</a>: Generated names for Tkinter widgets are now more meaningful and recognizable.</li> <li><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive ElementTree.Element and functools.partial objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue27294">bpo-27294</a>: Improved repr for Tkinter event objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue20508">bpo-20508</a>: Improve exception message of IPv{4,6}Network.__getitem__. Patch by Gareth Rees.</li> </ul> </div> <div class="section" id="id127"> <h3>Security<a class="headerlink" href="#id127" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</li> <li>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team Oststrom.</li> </ul> </div> <div class="section" id="id128"> <h3>Library<a class="headerlink" href="#id128" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21386">bpo-21386</a>: Implement missing IPv4Address.is_global property. It was documented since 07a5610bae9d. Initial patch by Roger Luethi.</li> <li><a class="reference external" href="https://bugs.python.org/issue27029">bpo-27029</a>: Removed deprecated support of universal newlines mode from ZipFile.open().</li> <li><a class="reference external" href="https://bugs.python.org/issue27030">bpo-27030</a>: Unknown escapes consisting of <code class="docutils literal notranslate"><span class="pre">'\'</span></code> and an ASCII letter in regular expressions now are errors. The re.LOCALE flag now can be used only with bytes patterns.</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add os.PathLike support to DirEntry (part of PEP 519). Initial patch by Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue20900">bpo-20900</a>: distutils register command now decodes HTTP responses correctly. Initial patch by ingrid.</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add os.PathLike support to pathlib, removing its provisional status (part of PEP 519). Initial patch by Dusty Phillips.</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add support for os.PathLike objects to os.fsencode() and os.fsdecode() (part of PEP 519).</li> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Introduce os.PathLike and os.fspath() (part of PEP 519).</li> <li>A new version of typing.py provides several new classes and features: @overload outside stubs, Reversible, DefaultDict, Text, ContextManager, Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of the new features are not yet implemented in mypy or other static analyzers). Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have been added (in fact they made it into 3.5.1 but were never mentioned).</li> <li><a class="reference external" href="https://bugs.python.org/issue25738">bpo-25738</a>: Stop http.server.BaseHTTPRequestHandler.send_error() from sending a message body for 205 Reset Content. Also, don’t send Content header fields in responses that don’t have a body. Patch by Susumu Koshiba.</li> <li><a class="reference external" href="https://bugs.python.org/issue21313">bpo-21313</a>: Fix the “platform” module to tolerate when sys.version contains truncated build information.</li> </ul> </div> <div class="section" id="id129"> <h3>Security<a class="headerlink" href="#id129" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26839">bpo-26839</a>: On Linux, <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> now calls <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> with <code class="docutils literal notranslate"><span class="pre">GRND_NONBLOCK</span></code> to fall back on reading <code class="docutils literal notranslate"><span class="pre">/dev/urandom</span></code> if the urandom entropy pool is not initialized yet. Patch written by Colm Buckley.</li> </ul> </div> <div class="section" id="id130"> <h3>Library<a class="headerlink" href="#id130" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23883">bpo-23883</a>: Added missing APIs to __all__ to match the documented APIs for the following modules: cgi, mailbox, mimetypes, plistlib and smtpd. Patches by Jacek Kołodziej.</li> <li><a class="reference external" href="https://bugs.python.org/issue27164">bpo-27164</a>: In the zlib module, allow decompressing raw Deflate streams with a predefined zdict. Based on patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue24291">bpo-24291</a>: Fix wsgiref.simple_server.WSGIRequestHandler to completely write data to the client. Previously it could do partial writes and truncate data. Also, wsgiref.handler.ServerHandler can now handle stdout doing partial writes, but this is deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue21272">bpo-21272</a>: Use _sysconfigdata.py to initialize distutils.sysconfig.</li> <li><a class="reference external" href="https://bugs.python.org/issue19611">bpo-19611</a>: <a class="reference internal" href="../library/inspect.html#module-inspect" title="inspect: Extract information and source code from live objects."><code class="xref py py-mod docutils literal notranslate"><span class="pre">inspect</span></code></a> now reports the implicit <code class="docutils literal notranslate"><span class="pre">.0</span></code> parameters generated by the compiler for comprehension and generator expression scopes as if they were positional-only parameters called <code class="docutils literal notranslate"><span class="pre">implicit0</span></code>. Patch by Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue26809">bpo-26809</a>: Add <code class="docutils literal notranslate"><span class="pre">__all__</span></code> to <a class="reference internal" href="../library/string.html#module-string" title="string: Common string operations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">string</span></code></a>. Patch by Emanuel Barry.</li> <li><a class="reference external" href="https://bugs.python.org/issue26373">bpo-26373</a>: subprocess.Popen.communicate now correctly ignores BrokenPipeError when the child process dies before .communicate() is called in more/all circumstances.</li> <li>signal, socket, and ssl module IntEnum constant name lookups now return a consistent name for values having multiple names. Ex: signal.Signals(6) now refers to itself as signal.SIGALRM rather than flipping between that and signal.SIGIOT based on the interpreter’s hash randomization seed.</li> <li><a class="reference external" href="https://bugs.python.org/issue27167">bpo-27167</a>: Clarify the subprocess.CalledProcessError error message text when the child process died due to a signal.</li> <li><a class="reference external" href="https://bugs.python.org/issue25931">bpo-25931</a>: Don’t define socketserver.Forking* names on platforms such as Windows that do not support os.fork().</li> <li><a class="reference external" href="https://bugs.python.org/issue21776">bpo-21776</a>: distutils.upload now correctly handles HTTPError. Initial patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue26526">bpo-26526</a>: Replace custom parse tree validation in the parser module with a simple DFA validator.</li> <li><a class="reference external" href="https://bugs.python.org/issue27114">bpo-27114</a>: Fix SSLContext._load_windows_store_certs fails with PermissionError</li> <li><a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: Avoid creating duplicate filters when using filterwarnings and simplefilter. Based on patch by Alex Shkop.</li> <li><a class="reference external" href="https://bugs.python.org/issue23026">bpo-23026</a>: winreg.QueryValueEx() now return an integer for REG_QWORD type.</li> <li><a class="reference external" href="https://bugs.python.org/issue26741">bpo-26741</a>: subprocess.Popen destructor now emits a ResourceWarning warning if the child process is still running.</li> <li><a class="reference external" href="https://bugs.python.org/issue27056">bpo-27056</a>: Optimize pickle.load() and pickle.loads(), up to 10% faster to deserialize a lot of small objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue21271">bpo-21271</a>: New keyword only parameters in reset_mock call.</li> </ul> </div> <div class="section" id="id131"> <h3>IDLE<a class="headerlink" href="#id131" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue5124">bpo-5124</a>: Paste with text selected now replaces the selection on X11. This matches how paste works on Windows, Mac, most modern Linux apps, and ttk widgets. Original patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Switch all scrollbars in IDLE to ttk versions. Where needed, minimal tests are added to cover changes.</li> <li><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: IDLE requires tk 8.5 and availability ttk widgets. Delete now unneeded tk version tests and code for older versions. Add test for IDLE syntax colorizer.</li> <li><a class="reference external" href="https://bugs.python.org/issue27239">bpo-27239</a>: idlelib.macosx.isXyzTk functions initialize as needed.</li> <li><a class="reference external" href="https://bugs.python.org/issue27262">bpo-27262</a>: move Aqua unbinding code, which enable context menus, to macosx.</li> <li><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: Make clear in idlelib.idle_test.__init__ that the directory is a private implementation of test.test_idle and tool for maintainers.</li> <li><a class="reference external" href="https://bugs.python.org/issue27196">bpo-27196</a>: Stop ‘ThemeChanged’ warnings when running IDLE tests. These persisted after other warnings were suppressed in #20567. Apply Serhiy Storchaka’s update_idletasks solution to four test files. Record this additional advice in idle_test/README.txt</li> <li><a class="reference external" href="https://bugs.python.org/issue20567">bpo-20567</a>: Revise idle_test/README.txt with advice about avoiding tk warning messages from tests. Apply advice to several IDLE tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue24225">bpo-24225</a>: Update idlelib/README.txt with new file names and event handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue27156">bpo-27156</a>: Remove obsolete code not used by IDLE.</li> <li><a class="reference external" href="https://bugs.python.org/issue27117">bpo-27117</a>: Make colorizer htest and turtledemo work with dark themes. Move code for configuring text widget colors to a new function.</li> <li><a class="reference external" href="https://bugs.python.org/issue24225">bpo-24225</a>: Rename many <code class="xref py py-obj docutils literal notranslate"><span class="pre">idlelib/*.py</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">idle_test/test_*.py</span></code> files. Edit files to replace old names with new names when the old name referred to the module rather than the class it contained. See the issue and IDLE section in What’s New in 3.6 for more.</li> <li><a class="reference external" href="https://bugs.python.org/issue26673">bpo-26673</a>: When tk reports font size as 0, change to size 10. Such fonts on Linux prevented the configuration dialog from opening.</li> <li><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLE’s percolator. Original patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLE’s replace dialog. Original patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLE’s search dialog. Original patch by Westley Martínez.</li> <li><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for undo delegator. Patch mostly by Saimadhav Heblikar .</li> <li><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</li> <li><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</li> </ul> </div> <div class="section" id="id132"> <h3>Documentation<a class="headerlink" href="#id132" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue16484">bpo-16484</a>: Change the default PYTHONDOCS URL to “https:”, and fix the resulting links to use lowercase. Patch by Sean Rodman, test by Kaushik Nadikuditi.</li> <li><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue22558">bpo-22558</a>: Add remaining doc links to source code for Python-coded modules. Patch by Yoni Lavi.</li> </ul> </div> <div class="section" id="id133"> <h3>Tests<a class="headerlink" href="#id133" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25285">bpo-25285</a>: regrtest now uses subprocesses when the -j1 command line option is used: each test file runs in a fresh child process. Before, the -j1 option was ignored.</li> <li><a class="reference external" href="https://bugs.python.org/issue25285">bpo-25285</a>: Tools/buildbot/test.bat script now uses -j1 by default to run each test file in fresh child process.</li> </ul> </div> <div class="section" id="id134"> <h3>Windows<a class="headerlink" href="#id134" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27064">bpo-27064</a>: The py.exe launcher now defaults to Python 3. The Windows launcher <code class="docutils literal notranslate"><span class="pre">py.exe</span></code> no longer prefers an installed Python 2 version over Python 3 by default when used interactively.</li> </ul> </div> <div class="section" id="id135"> <h3>Build<a class="headerlink" href="#id135" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27229">bpo-27229</a>: Fix the cross-compiling pgen rule for in-tree builds. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 1.0.2h.</li> </ul> </div> <div class="section" id="id136"> <h3>Windows<a class="headerlink" href="#id136" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue17500">bpo-17500</a>: Remove unused and outdated icons. (See also: <a class="reference external" href="https://github.com/python/pythondotorg/issues/945">https://github.com/python/pythondotorg/issues/945</a>)</li> </ul> </div> <div class="section" id="id137"> <h3>C API<a class="headerlink" href="#id137" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add the PyOS_FSPath() function (part of PEP 519).</li> <li><a class="reference external" href="https://bugs.python.org/issue26282">bpo-26282</a>: PyArg_ParseTupleAndKeywords() now supports positional-only parameters.</li> </ul> </div> <div class="section" id="id138"> <h3>Tools/Demos<a class="headerlink" href="#id138" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26282">bpo-26282</a>: Argument Clinic now supports positional-only and keyword parameters in the same function.</li> </ul> </div> </div> <div class="section" id="python-3-6-0-alpha-1"> <h2>Python 3.6.0 alpha 1<a class="headerlink" href="#python-3-6-0-alpha-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-05-16</em></p> <div class="section" id="id139"> <h3>Core and Builtins<a class="headerlink" href="#id139" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue20041">bpo-20041</a>: Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue26168">bpo-26168</a>: Fixed possible refleaks in failing Py_BuildValue() with the “N” format unit.</li> <li><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</li> <li><a class="reference external" href="https://bugs.python.org/issue27039">bpo-27039</a>: Fixed bytearray.remove() for values greater than 127. Based on patch by Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue27005">bpo-27005</a>: Optimized the float.fromhex() class method for exact float. It is now 2 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue18531">bpo-18531</a>: Single var-keyword argument of dict subtype was passed unscathed to the C-defined function. Now it is converted to exact dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue26811">bpo-26811</a>: gc.get_objects() no longer contains a broken tuple with NULL pointer.</li> <li><a class="reference external" href="https://bugs.python.org/issue20120">bpo-20120</a>: Use RawConfigParser for .pypirc parsing, removing support for interpolation unintentionally added with move to Python 3. Behavior no longer does any interpolation in .pypirc files, matching behavior in Python 2.7 and Setuptools 19.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue26249">bpo-26249</a>: Memory functions of the <a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> domain (<a class="reference internal" href="../c-api/memory.html#c.PYMEM_DOMAIN_MEM" title="PYMEM_DOMAIN_MEM"><code class="xref c c-data docutils literal notranslate"><span class="pre">PYMEM_DOMAIN_MEM</span></code></a>) now use the <a class="reference internal" href="../c-api/memory.html#pymalloc"><span class="std std-ref">pymalloc allocator</span></a> rather than system <code class="xref c c-func docutils literal notranslate"><span class="pre">malloc()</span></code>. Applications calling <a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> without holding the GIL can now crash: use <code class="docutils literal notranslate"><span class="pre">PYTHONMALLOC=debug</span></code> environment variable to validate the usage of memory allocators in your application.</li> <li><a class="reference external" href="https://bugs.python.org/issue26802">bpo-26802</a>: Optimize function calls only using unpacking like <code class="docutils literal notranslate"><span class="pre">func(*tuple)</span></code> (no other positional argument, no keyword): avoid copying the tuple. Patch written by Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</li> <li><a class="reference external" href="https://bugs.python.org/issue26718">bpo-26718</a>: super.__init__ no longer leaks memory if called multiple times. NOTE: A direct call of super.__init__ is not endorsed!</li> <li><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</li> <li><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</li> <li><a class="reference external" href="https://bugs.python.org/issue25339">bpo-25339</a>: PYTHONIOENCODING now has priority over locale in setting the error handler for stdin and stdout.</li> <li><a class="reference external" href="https://bugs.python.org/issue26494">bpo-26494</a>: Fixed crash on iterating exhausting iterators. Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.</li> <li><a class="reference external" href="https://bugs.python.org/issue26574">bpo-26574</a>: Optimize <code class="docutils literal notranslate"><span class="pre">bytes.replace(b'',</span> <span class="pre">b'.')</span></code> and <code class="docutils literal notranslate"><span class="pre">bytearray.replace(b'',</span> <span class="pre">b'.')</span></code>. Patch written by Josh Snider.</li> <li><a class="reference external" href="https://bugs.python.org/issue26581">bpo-26581</a>: If coding cookie is specified multiple times on a line in Python source code file, only the first one is taken to account.</li> <li><a class="reference external" href="https://bugs.python.org/issue19711">bpo-19711</a>: Add tests for reloading namespace packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue21099">bpo-21099</a>: Switch applicable importlib tests to use PEP 451 API.</li> <li><a class="reference external" href="https://bugs.python.org/issue26563">bpo-26563</a>: Debug hooks on Python memory allocators now raise a fatal error if functions of the <a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> family are called without holding the GIL.</li> <li><a class="reference external" href="https://bugs.python.org/issue26564">bpo-26564</a>: On error, the debug hooks on Python memory allocators now use the <a class="reference internal" href="../library/tracemalloc.html#module-tracemalloc" title="tracemalloc: Trace memory allocations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">tracemalloc</span></code></a> module to get the traceback where a memory block was allocated.</li> <li><a class="reference external" href="https://bugs.python.org/issue26558">bpo-26558</a>: The debug hooks on Python memory allocator <a class="reference internal" href="../c-api/memory.html#c.PyObject_Malloc" title="PyObject_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyObject_Malloc()</span></code></a> now detect when functions are called without holding the GIL.</li> <li><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: Add <span class="target" id="index-5"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONMALLOC"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONMALLOC</span></code></a> environment variable to set the Python memory allocators and/or install debug hooks.</li> <li><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: The <a class="reference internal" href="../c-api/memory.html#c.PyMem_SetupDebugHooks" title="PyMem_SetupDebugHooks"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_SetupDebugHooks()</span></code></a> function can now also be used on Python compiled in release mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: The <span class="target" id="index-6"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONMALLOCSTATS"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONMALLOCSTATS</span></code></a> environment variable can now also be used on Python compiled in release mode. It now has no effect if set to an empty string.</li> <li><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: In debug mode, debug hooks are now also installed on Python memory allocators when Python is configured without pymalloc.</li> <li><a class="reference external" href="https://bugs.python.org/issue26464">bpo-26464</a>: Fix str.translate() when string is ASCII and first replacements removes character, but next replacement uses a non-ASCII character or a string longer than 1 character. Regression introduced in Python 3.5.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue22836">bpo-22836</a>: Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when formatting them produces secondary errors. This affects the reports produced by sys.__excepthook__() and when __del__() raises an exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue26302">bpo-26302</a>: Correct behavior to reject comma as a legal character for cookie names.</li> <li><a class="reference external" href="https://bugs.python.org/issue26136">bpo-26136</a>: Upgrade the warning when a generator raises StopIteration from PendingDeprecationWarning to DeprecationWarning. Patch by Anish Shah.</li> <li><a class="reference external" href="https://bugs.python.org/issue26204">bpo-26204</a>: The compiler now ignores all constant statements: bytes, str, int, float, complex, name constants (None, False, True), Ellipsis and ast.Constant; not only str and int. For example, <code class="docutils literal notranslate"><span class="pre">1.0</span></code> is now ignored in <code class="docutils literal notranslate"><span class="pre">def</span> <span class="pre">f():</span> <span class="pre">1.0</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue4806">bpo-4806</a>: Avoid masking the original TypeError exception when using star (<code class="docutils literal notranslate"><span class="pre">*</span></code>) unpacking in function calls. Based on patch by Hagen Fürstenau and Daniel Urban.</li> <li><a class="reference external" href="https://bugs.python.org/issue26146">bpo-26146</a>: Add a new kind of AST node: <code class="docutils literal notranslate"><span class="pre">ast.Constant</span></code>. It can be used by external AST optimizers, but the compiler does not emit directly such node.</li> <li><a class="reference external" href="https://bugs.python.org/issue23601">bpo-23601</a>: Sped-up allocation of dict key objects by using Python’s small object allocator. (Contributed by Julian Taylor.)</li> <li><a class="reference external" href="https://bugs.python.org/issue18018">bpo-18018</a>: Import raises ImportError instead of SystemError if a relative import is attempted without a known parent package.</li> <li><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, don’t merge constants if they are equal but have a different types. For example, <code class="docutils literal notranslate"><span class="pre">f1,</span> <span class="pre">f2</span> <span class="pre">=</span> <span class="pre">lambda:</span> <span class="pre">1,</span> <span class="pre">lambda:</span> <span class="pre">1.0</span></code> is now correctly compiled to two different functions: <code class="docutils literal notranslate"><span class="pre">f1()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>) and <code class="docutils literal notranslate"><span class="pre">f2()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code> (<code class="docutils literal notranslate"><span class="pre">float</span></code>), even if <code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">1.0</span></code> are equal.</li> <li><a class="reference external" href="https://bugs.python.org/issue26107">bpo-26107</a>: The format of the <code class="docutils literal notranslate"><span class="pre">co_lnotab</span></code> attribute of code objects changes to support negative line number delta.</li> <li><a class="reference external" href="https://bugs.python.org/issue26154">bpo-26154</a>: Add a new private _PyThreadState_UncheckedGet() function to get the current Python thread state, but don’t issue a fatal error if it is NULL. This new function must be used instead of accessing directly the _PyThreadState_Current variable. The variable is no more exposed since Python 3.5.1 to hide the exact implementation of atomic C types, to avoid compiler issues.</li> <li><a class="reference external" href="https://bugs.python.org/issue25791">bpo-25791</a>: If __package__ != __spec__.parent or if neither __package__ or __spec__ are defined then ImportWarning is raised.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: [UPDATE] Comment out the one of the pickleability tests in _PyObject_GetState() due to regressions observed in Cython-based projects.</li> <li><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</li> <li><a class="reference external" href="https://bugs.python.org/issue25973">bpo-25973</a>: Fix segfault when an invalid nonlocal statement binds a name starting with two underscores.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that aren’t subclasses of list or dict and haven’t implemented any pickle-related methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be pickled. Including memoryview.</li> <li><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special macro Py_SETREF.</li> <li><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue25421">bpo-25421</a>: __sizeof__ methods of builtin types now use dynamic basic size. This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.</li> <li><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8 cache.</li> <li><a class="reference external" href="https://bugs.python.org/issue5319">bpo-5319</a>: New Py_FinalizeEx() API allowing Python to set an exit status of 120 on failure to flush buffered streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue25485">bpo-25485</a>: telnetlib.Telnet is now a context manager.</li> <li><a class="reference external" href="https://bugs.python.org/issue24097">bpo-24097</a>: Fixed crash in object.__reduce__() if slot name is freed inside __getattr__.</li> <li><a class="reference external" href="https://bugs.python.org/issue24731">bpo-24731</a>: Fixed crash on converting objects with special methods __bytes__, __trunc__, and __float__ returning instances of subclasses of bytes, int, and float to subclasses of bytes, int, and float correspondingly.</li> <li><a class="reference external" href="https://bugs.python.org/issue25630">bpo-25630</a>: Fix a possible segfault during argument parsing in functions that accept filesystem paths.</li> <li><a class="reference external" href="https://bugs.python.org/issue23564">bpo-23564</a>: Fixed a partially broken sanity check in the _posixsubprocess internals regarding how fds_to_pass were passed to the child. The bug had no actual impact as subprocess.py already avoided it.</li> <li><a class="reference external" href="https://bugs.python.org/issue25388">bpo-25388</a>: Fixed tokenizer crash when processing undecodable source code with a null byte.</li> <li><a class="reference external" href="https://bugs.python.org/issue25462">bpo-25462</a>: The hash of the key now is calculated only once in most operations in C implementation of OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Default implementation of __reduce__ and __reduce_ex__ now rejects builtin types with not defined __new__.</li> <li><a class="reference external" href="https://bugs.python.org/issue24802">bpo-24802</a>: Avoid buffer overreads when int(), float(), compile(), exec() and eval() are passed bytes-like objects. These objects are not necessarily terminated by a null byte, but the functions assumed they were.</li> <li><a class="reference external" href="https://bugs.python.org/issue25555">bpo-25555</a>: Fix parser and AST: fill lineno and col_offset of “arg” node when compiling AST from Python objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue24726">bpo-24726</a>: Fixed a crash and leaking NULL in repr() of OrderedDict that was mutated by direct calls of dict methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Iterating OrderedDict with keys with unstable hash now raises KeyError in C implementations as well as in Python implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were garbage collected.</li> <li><a class="reference external" href="https://bugs.python.org/issue25401">bpo-25401</a>: Optimize bytes.fromhex() and bytearray.fromhex(): they are now between 2x and 3.5x faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25399">bpo-25399</a>: Optimize bytearray % args using the new private _PyBytesWriter API. Formatting is now between 2.5 and 5 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25274">bpo-25274</a>: sys.setrecursionlimit() now raises a RecursionError if the new recursion limit is too low depending at the current recursion depth. Modify also the “lower-water mark” formula to make it monotonic. This mark is used to decide when the overflowed flag of the thread state is reset.</li> <li><a class="reference external" href="https://bugs.python.org/issue24402">bpo-24402</a>: Fix input() to prompt to the redirected stdout when sys.stdout.fileno() fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue25349">bpo-25349</a>: Optimize bytes % args using the new private _PyBytesWriter API. Formatting is now up to 2 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue24806">bpo-24806</a>: Prevent builtin types that are not allowed to be subclassed from being subclassed through multiple inheritance.</li> <li><a class="reference external" href="https://bugs.python.org/issue25301">bpo-25301</a>: The UTF-8 decoder is now up to 15 times as fast for error handlers: <code class="docutils literal notranslate"><span class="pre">ignore</span></code>, <code class="docutils literal notranslate"><span class="pre">replace</span></code> and <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue24848">bpo-24848</a>: Fixed a number of bugs in UTF-7 decoding of misformed data.</li> <li><a class="reference external" href="https://bugs.python.org/issue25267">bpo-25267</a>: The UTF-8 encoder is now up to 75 times as fast for error handlers: <code class="docutils literal notranslate"><span class="pre">ignore</span></code>, <code class="docutils literal notranslate"><span class="pre">replace</span></code>, <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code>, <code class="docutils literal notranslate"><span class="pre">surrogatepass</span></code>. Patch co-written with Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue25280">bpo-25280</a>: Import trace messages emitted in verbose (-v) mode are no longer formatted twice.</li> <li><a class="reference external" href="https://bugs.python.org/issue25227">bpo-25227</a>: Optimize ASCII and latin1 encoders with the <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code> error handler: the encoders are now up to 3 times as fast. Initial patch written by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue25003">bpo-25003</a>: On Solaris 11.3 or newer, os.urandom() now uses the getrandom() function instead of the getentropy() function. The getentropy() function is blocking to generate very good quality entropy, os.urandom() doesn’t need such high-quality entropy.</li> <li><a class="reference external" href="https://bugs.python.org/issue9232">bpo-9232</a>: Modify Python’s grammar to allow trailing commas in the argument list of a function declaration. For example, “def f(*, a = 3,): pass” is now legal. Patch from Mark Dickinson.</li> <li><a class="reference external" href="https://bugs.python.org/issue24965">bpo-24965</a>: Implement PEP 498 “Literal String Interpolation”. This allows you to embed expressions inside f-strings, which are converted to normal strings at run time. Given x=3, then f’value={x}’ == ‘value=3’. Patch by Eric V. Smith.</li> <li><a class="reference external" href="https://bugs.python.org/issue26478">bpo-26478</a>: Fix semantic bugs when using binary operators with dictionary views and tuples.</li> <li><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in zipimporter.get_data().</li> <li><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</li> <li><a class="reference external" href="https://bugs.python.org/issue26288">bpo-26288</a>: Optimize PyLong_AsDouble.</li> <li><a class="reference external" href="https://bugs.python.org/issue26289">bpo-26289</a>: Optimize floor and modulo division for single-digit longs. Microbenchmarks show 2-2.5x improvement. Built-in ‘divmod’ function is now also ~10% faster. (See also: <a class="reference external" href="https://bugs.python.org/issue26315">bpo-26315</a>)</li> <li><a class="reference external" href="https://bugs.python.org/issue25887">bpo-25887</a>: Raise a RuntimeError when a coroutine object is awaited more than once.</li> </ul> </div> <div class="section" id="id140"> <h3>Library<a class="headerlink" href="#id140" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27057">bpo-27057</a>: Fix os.set_inheritable() on Android, ioctl() is blocked by SELinux and fails with EACCESS. The function now falls back to fcntl(). Patch written by Michał Bednarski.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27014">bpo-27014</a>: Fix infinite recursion using typing.py. Thanks to Kalle Tuure!</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27031">bpo-27031</a>: Removed dummy methods in Tkinter widget classes: tk_menuBar() and tk_bindForTraversal().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue14132">bpo-14132</a>: Fix urllib.request redirect handling when the target only has a query string. Original fix by Ján Janech.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17214">bpo-17214</a>: The “urllib.request” module now percent-encodes non-ASCII bytes found in redirect target URLs. Some servers send Location header fields with non-ASCII bytes, but “http.client” requires the request target to be ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch by Christian Heimes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27033">bpo-27033</a>: The default value of the decode_data parameter for smtpd.SMTPChannel and smtpd.SMTPServer constructors is changed to False.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27034">bpo-27034</a>: Removed deprecated class asynchat.fifo.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26870">bpo-26870</a>: Added readline.set_auto_history(), which can stop entries being automatically added to the history list. Based on patch by Tyler Crompton.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26039">bpo-26039</a>: zipfile.ZipFile.open() can now be used to write data into a ZIP file, as well as for extracting data. Patch by Thomas Kluyver.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26892">bpo-26892</a>: Honor debuglevel flag in urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22274">bpo-22274</a>: In the subprocess module, allow stderr to be redirected to stdout even when stdout is not redirected. Patch by Akira Li.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26807">bpo-26807</a>: mock_open ‘files’ no longer error on readline at end of file. Patch from Yolanda Robla.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25745">bpo-25745</a>: Fixed leaking a userptr in curses panel destructor.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26977">bpo-26977</a>: Removed unnecessary, and ignored, call to sum of squares helper in statistics.pvariance.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26002">bpo-26002</a>: Use bisect in statistics.median instead of a linear search. Patch by Upendra Kuma.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25974">bpo-25974</a>: Make use of new Decimal.as_integer_ratio() method in statistics module. Patch by Stefan Krah.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26996">bpo-26996</a>: Add secrets module as described in PEP 506.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26881">bpo-26881</a>: The modulefinder module now supports extended opcode arguments.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23815">bpo-23815</a>: Fixed crashes related to directly created instances of types in _tkinter and curses.panel modules.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17765">bpo-17765</a>: weakref.ref() no longer silently ignores keyword arguments. Patch by Georg Brandl.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26873">bpo-26873</a>: xmlrpc now raises ResponseError on unsupported type tags instead of silently return incorrect result.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26915">bpo-26915</a>: The __contains__ methods in the collections ABCs now check for identity before checking equality. This better matches the behavior of the concrete classes, allows sensible handling of NaNs, and makes it easier to reason about container invariants.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26711">bpo-26711</a>: Fixed the comparison of plistlib.Data with other types.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24114">bpo-24114</a>: Fix an uninitialized variable in <code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.util</span></code>.</p> <p>The bug only occurs on SunOS when the ctypes implementation searches for the <code class="xref py py-obj docutils literal notranslate"><span class="pre">crle</span></code> program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26864">bpo-26864</a>: In urllib.request, change the proxy bypass host checking against no_proxy to be case-insensitive, and to not match unrelated host names that happen to have a bypassed hostname as a suffix. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24902">bpo-24902</a>: Print server URL on http.server startup. Initial patch by Felix Kaiser.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25788">bpo-25788</a>: fileinput.hook_encoded() now supports an “errors” argument for passing to open. Original patch by Joseph Hackman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26634">bpo-26634</a>: recursive_repr() now sets __qualname__ of wrapper. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26804">bpo-26804</a>: urllib.request will prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26837">bpo-26837</a>: assertSequenceEqual() now correctly outputs non-stringified differing items (like bytes in the -b mode). This affects assertListEqual() and assertTupleEqual().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26041">bpo-26041</a>: Remove “will be removed in Python 3.7” from deprecation messages of platform.dist() and platform.linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26822">bpo-26822</a>: itemgetter, attrgetter and methodcaller objects no longer silently ignore keyword arguments.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26733">bpo-26733</a>: Disassembling a class now disassembles class and static methods. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26801">bpo-26801</a>: Fix error handling in <a class="reference internal" href="../library/shutil.html#shutil.get_terminal_size" title="shutil.get_terminal_size"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.get_terminal_size()</span></code></a>, catch <a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#NameError" title="NameError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NameError</span></code></a>. Patch written by Emanuel Barry.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfile’s ustar and gnu formats now correctly calculate name and link field limits for multibyte character encodings like utf-8.</p> </li> </ul> </div> <div class="section" id="id141"> <h3>Security<a class="headerlink" href="#id141" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26657">bpo-26657</a>: Fix directory traversal vulnerability with http.server on Windows. This fixes a regression that was introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister.</li> </ul> </div> <div class="section" id="id142"> <h3>Library<a class="headerlink" href="#id142" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26717">bpo-26717</a>: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by Anthony Sottile.</li> <li><a class="reference external" href="https://bugs.python.org/issue26782">bpo-26782</a>: Add STARTUPINFO to subprocess.__all__ on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue26404">bpo-26404</a>: Add context manager to socketserver. Patch by Aviv Palivoda.</li> <li><a class="reference external" href="https://bugs.python.org/issue26735">bpo-26735</a>: Fix <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> on Solaris 11.3 and newer when reading more than 1,024 bytes: call <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> multiple times with a limit of 1024 bytes per call.</li> <li><a class="reference external" href="https://bugs.python.org/issue26585">bpo-26585</a>: Eliminate http.server._quote_html() and use html.escape(quote=False). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26685">bpo-26685</a>: Raise OSError if closing a socket fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola’.</li> <li><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.</li> <li><a class="reference external" href="https://bugs.python.org/issue26587">bpo-26587</a>: the site module now allows .pth files to specify files to be added to sys.path (e.g. zip files).</li> <li><a class="reference external" href="https://bugs.python.org/issue25609">bpo-25609</a>: Introduce contextlib.AbstractContextManager and typing.ContextManager.</li> <li><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</li> <li><a class="reference external" href="https://bugs.python.org/issue23735">bpo-23735</a>: Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric Price.</li> <li><a class="reference external" href="https://bugs.python.org/issue25951">bpo-25951</a>: Change SSLSocket.sendall() to return None, as explicitly documented for plain socket objects. Patch by Aviv Palivoda.</li> <li><a class="reference external" href="https://bugs.python.org/issue26586">bpo-26586</a>: In http.server, respond with “413 Request header fields too large” if there are too many header fields to parse, rather than killing the connection and raising an unhandled exception. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26676">bpo-26676</a>: Added missing XMLPullParser to ElementTree.__all__.</li> <li><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable() to always return False.</li> <li><a class="reference external" href="https://bugs.python.org/issue26492">bpo-26492</a>: Exhausted iterator of array.array now conforms with the behavior of iterators of other mutable sequences: it lefts exhausted even if iterated array is extended.</li> <li><a class="reference external" href="https://bugs.python.org/issue26641">bpo-26641</a>: doctest.DocFileTest and doctest.testfile() now support packages (module splitted into multiple directories) for the package parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue25195">bpo-25195</a>: Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne__ ourselves. Patch by Andrew Plummer.</li> <li><a class="reference external" href="https://bugs.python.org/issue26644">bpo-26644</a>: Raise ValueError rather than SystemError when a negative length is passed to SSLSocket.recv() or read().</li> <li><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to 1024.</li> <li><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</li> <li><a class="reference external" href="https://bugs.python.org/issue26637">bpo-26637</a>: The <a class="reference internal" href="../library/importlib.html#module-importlib" title="importlib: The implementation of the import machinery."><code class="xref py py-mod docutils literal notranslate"><span class="pre">importlib</span></code></a> module now emits an <a class="reference internal" href="../library/exceptions.html#ImportError" title="ImportError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ImportError</span></code></a> rather than a <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> if <a class="reference internal" href="../library/functions.html#__import__" title="__import__"><code class="xref py py-func docutils literal notranslate"><span class="pre">__import__()</span></code></a> is tried during the Python shutdown process but <a class="reference internal" href="../library/sys.html#sys.path" title="sys.path"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.path</span></code></a> is already cleared (set to <code class="docutils literal notranslate"><span class="pre">None</span></code>).</li> <li><a class="reference external" href="https://bugs.python.org/issue21925">bpo-21925</a>: <a class="reference internal" href="../library/warnings.html#warnings.formatwarning" title="warnings.formatwarning"><code class="xref py py-func docutils literal notranslate"><span class="pre">warnings.formatwarning()</span></code></a> now catches exceptions when calling <a class="reference internal" href="../library/linecache.html#linecache.getline" title="linecache.getline"><code class="xref py py-func docutils literal notranslate"><span class="pre">linecache.getline()</span></code></a> and <a class="reference internal" href="../library/tracemalloc.html#tracemalloc.get_object_traceback" title="tracemalloc.get_object_traceback"><code class="xref py py-func docutils literal notranslate"><span class="pre">tracemalloc.get_object_traceback()</span></code></a> to be able to log <a class="reference internal" href="../library/exceptions.html#ResourceWarning" title="ResourceWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResourceWarning</span></code></a> emitted late during the Python shutdown process.</li> <li><a class="reference external" href="https://bugs.python.org/issue23848">bpo-23848</a>: On Windows, faulthandler.enable() now also installs an exception handler to dump the traceback of all Python threads on any Windows exception, not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT).</li> <li><a class="reference external" href="https://bugs.python.org/issue26530">bpo-26530</a>: Add C functions <code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_Track()</span></code> and <code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_Untrack()</span></code> to track memory blocks using the <a class="reference internal" href="../library/tracemalloc.html#module-tracemalloc" title="tracemalloc: Trace memory allocations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">tracemalloc</span></code></a> module. Add <code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_GetTraceback()</span></code> to get the traceback of an object.</li> <li><a class="reference external" href="https://bugs.python.org/issue26588">bpo-26588</a>: The _tracemalloc now supports tracing memory allocations of multiple address spaces (domains).</li> <li><a class="reference external" href="https://bugs.python.org/issue24266">bpo-24266</a>: Ctrl+C during Readline history search now cancels the search mode when compiled with Readline 7.</li> <li><a class="reference external" href="https://bugs.python.org/issue26590">bpo-26590</a>: Implement a safe finalizer for the _socket.socket type. It now releases the GIL to close the socket.</li> <li><a class="reference external" href="https://bugs.python.org/issue18787">bpo-18787</a>: spwd.getspnam() now raises a PermissionError if the user doesn’t have privileges.</li> <li><a class="reference external" href="https://bugs.python.org/issue26560">bpo-26560</a>: Avoid potential ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby.</li> <li><a class="reference external" href="https://bugs.python.org/issue26567">bpo-26567</a>: Add a new function <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_ResourceWarning" title="PyErr_ResourceWarning"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_ResourceWarning()</span></code></a> function to pass the destroyed object. Add a <em>source</em> attribute to <code class="xref py py-class docutils literal notranslate"><span class="pre">warnings.WarningMessage</span></code>. Add warnings._showwarnmsg() which uses tracemalloc to get the traceback where source object was allocated.</li> </ul> </div> <div class="section" id="id143"> <h3>Security<a class="headerlink" href="#id143" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26313">bpo-26313</a>: ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch by Baji.</li> </ul> </div> <div class="section" id="id144"> <h3>Library<a class="headerlink" href="#id144" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26569">bpo-26569</a>: Fix <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule()</span></code></a> and <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule_ex()</span></code></a> to support importing packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue26499">bpo-26499</a>: Account for remaining Content-Length in HTTPResponse.readline() and read1(). Based on patch by Silent Ghost. Also document that HTTPResponse now supports these methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue25320">bpo-25320</a>: Handle sockets in directories unittest discovery is scanning. Patch from Victor van den Elzen.</li> <li><a class="reference external" href="https://bugs.python.org/issue16181">bpo-16181</a>: cookiejar.http2time() now returns None if year is higher than datetime.MAXYEAR.</li> <li><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</li> <li><a class="reference external" href="https://bugs.python.org/issue23718">bpo-23718</a>: Fixed parsing time in week 0 before Jan 1. Original patch by Tamás Bence Gedai.</li> <li><a class="reference external" href="https://bugs.python.org/issue26323">bpo-26323</a>: Add Mock.assert_called() and Mock.assert_called_once() methods to unittest.mock. Patch written by Amit Saha.</li> <li><a class="reference external" href="https://bugs.python.org/issue20589">bpo-20589</a>: Invoking Path.owner() and Path.group() on Windows now raise NotImplementedError instead of ImportError.</li> <li><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</li> <li><a class="reference external" href="https://bugs.python.org/issue15068">bpo-15068</a>: Got rid of excessive buffering in fileinput. The bufsize parameter is now deprecated and ignored.</li> <li><a class="reference external" href="https://bugs.python.org/issue19475">bpo-19475</a>: Added an optional argument timespec to the datetime isoformat() method to choose the precision of the time component.</li> <li><a class="reference external" href="https://bugs.python.org/issue2202">bpo-2202</a>: Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu Dupuy.</li> <li><a class="reference external" href="https://bugs.python.org/issue26167">bpo-26167</a>: Minimized overhead in copy.copy() and copy.deepcopy(). Optimized copying and deepcopying bytearrays, NotImplemented, slices, short lists, tuples, dicts, sets.</li> <li><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total is None.</li> <li><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x) flag.</li> <li><a class="reference external" href="https://bugs.python.org/issue26482">bpo-26482</a>: Allowed pickling recursive dequeues.</li> <li><a class="reference external" href="https://bugs.python.org/issue26335">bpo-26335</a>: Make mmap.write() return the number of bytes written like other write methods. Patch by Jakub Stasiak.</li> <li><a class="reference external" href="https://bugs.python.org/issue26457">bpo-26457</a>: Fixed the subnets() methods in IP network classes for the case when resulting prefix length is equal to maximal prefix length. Based on patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26385">bpo-26385</a>: Remove the file if the internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost.</li> <li><a class="reference external" href="https://bugs.python.org/issue26402">bpo-26402</a>: Fix XML-RPC client to retry when the server shuts down a persistent connection. This was a regression related to the new http.client.RemoteDisconnected exception in 3.5.0a4.</li> <li><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre"><~</span></code> is optional now in base64.a85decode() with adobe=True. Patch by Swati Jaiswal.</li> <li><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</li> <li><a class="reference external" href="https://bugs.python.org/issue26367">bpo-26367</a>: importlib.__import__() raises ImportError like builtins.__import__() when <code class="docutils literal notranslate"><span class="pre">level</span></code> is specified but without an accompanying package specified.</li> <li><a class="reference external" href="https://bugs.python.org/issue26309">bpo-26309</a>: In the “socketserver” module, shut down the request (closing the connected socket) when verify_request() returns false. Patch by Aviv Palivoda.</li> <li><a class="reference external" href="https://bugs.python.org/issue23430">bpo-23430</a>: Change the socketserver module to only catch exceptions raised from a request handler that are derived from Exception (instead of BaseException). Therefore SystemExit and KeyboardInterrupt no longer trigger the handle_error() method, and will now to stop a single-threaded server.</li> </ul> </div> <div class="section" id="id145"> <h3>Security<a class="headerlink" href="#id145" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in ssl.enum_certificates.</li> </ul> </div> <div class="section" id="id146"> <h3>Library<a class="headerlink" href="#id146" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</li> <li><a class="reference external" href="https://bugs.python.org/issue25994">bpo-25994</a>: Added the close() method and the support of the context manager protocol for the os.scandir() iterator.</li> <li><a class="reference external" href="https://bugs.python.org/issue23992">bpo-23992</a>: multiprocessing: make MapResult not fail-fast upon exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue26243">bpo-26243</a>: Support keyword arguments to zlib.compress(). Patch by Aviv Palivoda.</li> <li><a class="reference external" href="https://bugs.python.org/issue26117">bpo-26117</a>: The os.scandir() iterator now closes file descriptor not only when the iteration is finished, but when it was failed with error.</li> <li><a class="reference external" href="https://bugs.python.org/issue25949">bpo-25949</a>: __dict__ for an OrderedDict instance is now created only when needed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue26045">bpo-26045</a>: Add UTF-8 suggestion to error message when posting a non-Latin-1 string with http.client.</li> <li><a class="reference external" href="https://bugs.python.org/issue26039">bpo-26039</a>: Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir(). Patch by Thomas Kluyver.</li> <li><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopener’s redirect counter even if there is an exception. Based on patches by Brian Brazil and Daniel Rocco.</li> <li><a class="reference external" href="https://bugs.python.org/issue25945">bpo-25945</a>: Fixed a crash when unpickle the functools.partial object with wrong state. Fixed a leak in failed functools.partial constructor. “args” and “keywords” attributes of functools.partial have now always types tuple and dict correspondingly.</li> <li><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with non-atomic attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if it’s called with an invalid pattern. Patch by Thomas Nyberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</li> <li><a class="reference external" href="https://bugs.python.org/issue26227">bpo-26227</a>: On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions of the socket module now decode the hostname from the ANSI code page rather than UTF-8.</li> <li><a class="reference external" href="https://bugs.python.org/issue26099">bpo-26099</a>: The site module now writes an error into stderr if sitecustomize module can be imported but executing the module raise an ImportError. Same change for usercustomize.</li> <li><a class="reference external" href="https://bugs.python.org/issue26147">bpo-26147</a>: xmlrpc now works with strings not encodable with used non-UTF-8 encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</li> <li><a class="reference external" href="https://bugs.python.org/issue26013">bpo-26013</a>: Added compatibility with broken protocol 2 pickles created in old Python 3 versions (3.4.3 and lower).</li> <li><a class="reference external" href="https://bugs.python.org/issue26129">bpo-26129</a>: Deprecated accepting non-integers in grp.getgrgid().</li> <li><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue25822">bpo-25822</a>: Add docstrings to the fields of urllib.parse results. Patch contributed by Swati Jaiswal.</li> <li><a class="reference external" href="https://bugs.python.org/issue22642">bpo-22642</a>: Convert trace module option parsing mechanism to argparse. Patch contributed by SilentGhost.</li> <li><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing before $() vars.</li> <li><a class="reference external" href="https://bugs.python.org/issue26069">bpo-26069</a>: Remove the deprecated apis in the trace module.</li> <li><a class="reference external" href="https://bugs.python.org/issue22138">bpo-22138</a>: Fix mock.patch behavior when patching descriptors. Restore original values after patching. Patch contributed by Sean McCully.</li> <li><a class="reference external" href="https://bugs.python.org/issue25672">bpo-25672</a>: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so.</li> <li><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Don’t traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in pathlib.Path.[r]glob().</li> <li><a class="reference external" href="https://bugs.python.org/issue24120">bpo-24120</a>: Ignore PermissionError when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri.</li> <li><a class="reference external" href="https://bugs.python.org/issue21815">bpo-21815</a>: Accept ] characters in the data portion of imap responses, in order to handle the flags with square brackets accepted and produced by servers such as gmail.</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: fileinput now uses sys.stdin as-is if it does not have a buffer attribute (restores backward compatibility).</li> <li><a class="reference external" href="https://bugs.python.org/issue25971">bpo-25971</a>: Optimized creating Fractions from floats by 2 times and from Decimals by 3 times.</li> <li><a class="reference external" href="https://bugs.python.org/issue25802">bpo-25802</a>: Document as deprecated the remaining implementations of importlib.abc.Loader.load_module().</li> <li><a class="reference external" href="https://bugs.python.org/issue25928">bpo-25928</a>: Add Decimal.as_integer_ratio().</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: Copying the lru_cache() wrapper object now always works, independently from the type of the wrapped object (by returning the original object unchanged).</li> <li><a class="reference external" href="https://bugs.python.org/issue25768">bpo-25768</a>: Have the functions in compileall return booleans instead of ints and add proper documentation and tests for the return values.</li> <li><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</li> <li><a class="reference external" href="https://bugs.python.org/issue25860">bpo-25860</a>: os.fwalk() no longer skips remaining directories when error occurs. Original patch by Samson Lee.</li> <li><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</li> <li><a class="reference external" href="https://bugs.python.org/issue25869">bpo-25869</a>: Optimized deepcopying ElementTree; it is now 20 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25873">bpo-25873</a>: Optimized iterating ElementTree. Iterating elements Element.iter() is now 40% faster, iterating text Element.itertext() is now up to 2.5 times faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue22227">bpo-22227</a>: The TarFile iterator is reimplemented using generator. This implementation is simpler that using class.</li> <li><a class="reference external" href="https://bugs.python.org/issue25638">bpo-25638</a>: Optimized ElementTree.iterparse(); it is now 2x faster. Optimized ElementTree parsing; it is now 10% faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25761">bpo-25761</a>: Improved detecting errors in broken pickle data.</li> <li><a class="reference external" href="https://bugs.python.org/issue25717">bpo-25717</a>: Restore the previous behaviour of tolerating most fstat() errors when opening files. This was a regression in 3.5a1, and stopped anonymous temporary files from working in special cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue24903">bpo-24903</a>: Fix regression in number of arguments compileall accepts when ‘-d’ is specified. The check on the number of arguments has been dropped completely as it never worked correctly anyway.</li> <li><a class="reference external" href="https://bugs.python.org/issue25764">bpo-25764</a>: In the subprocess module, preserve any exception caused by fork() failure when preexec_fn is used.</li> <li><a class="reference external" href="https://bugs.python.org/issue25771">bpo-25771</a>: Tweak the exception message for importlib.util.resolve_name() when ‘package’ isn’t specified but necessary.</li> <li><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptime’s regexp cache now is reset after changing timezone with time.tzset().</li> <li><a class="reference external" href="https://bugs.python.org/issue14285">bpo-14285</a>: When executing a package with the “python -m package” option, and package initialization fails, a proper traceback is now reported. The “runpy” module now lets exceptions from package initialization pass back to the caller, rather than raising ImportError.</li> <li><a class="reference external" href="https://bugs.python.org/issue19771">bpo-19771</a>: Also in runpy and the “-m” option, omit the irrelevant message “… is a package and cannot be directly executed” if the package could not even be initialized (e.g. due to a bad <code class="docutils literal notranslate"><span class="pre">*.pyc</span></code> file).</li> <li><a class="reference external" href="https://bugs.python.org/issue25177">bpo-25177</a>: Fixed problem with the mean of very small and very large numbers. As a side effect, statistics.mean and statistics.variance should be significantly faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</li> <li><a class="reference external" href="https://bugs.python.org/issue10131">bpo-10131</a>: Fixed deep copying of minidom documents. Based on patch by Marian Ganisin.</li> <li><a class="reference external" href="https://bugs.python.org/issue7990">bpo-7990</a>: dir() on ElementTree.Element now lists properties: “tag”, “text”, “tail” and “attrib”. Original patch by Santoso Wijaya.</li> <li><a class="reference external" href="https://bugs.python.org/issue25725">bpo-25725</a>: Fixed a reference leak in pickle.loads() when unpickling invalid data including tuple instructions.</li> <li><a class="reference external" href="https://bugs.python.org/issue25663">bpo-25663</a>: In the Readline completer, avoid listing duplicate global names, and search the global namespace before searching builtins.</li> <li><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</li> <li><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</li> <li><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue25624">bpo-25624</a>: ZipFile now always writes a ZIP_STORED header for directory entries. Patch by Dingyuan Wang.</li> <li><a class="reference external" href="https://bugs.python.org/issue25626">bpo-25626</a>: Change three zlib functions to accept sizes that fit in Py_ssize_t, but internally cap those sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() failed to read chunks larger than 2 or 4 GiB. The change affects the zlib.Decompress.decompress() max_length parameter, the zlib.decompress() bufsize parameter, and the zlib.Decompress.flush() length parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue25583">bpo-25583</a>: Avoid incorrect errors raised by os.makedirs(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST.</li> <li><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</li> <li><a class="reference external" href="https://bugs.python.org/issue6973">bpo-6973</a>: When we know a subprocess.Popen process has died, do not allow the send_signal(), terminate(), or kill() methods to do anything as they could potentially signal a different process.</li> <li><a class="reference external" href="https://bugs.python.org/issue23883">bpo-23883</a>: Added missing APIs to __all__ to match the documented APIs for the following modules: calendar, csv, enum, fileinput, ftplib, logging, optparse, tarfile, threading and wave. Also added a test.support.check__all__() helper. Patches by Jacek Kołodziej, Mauro S. M. Rodrigues and Joel Taddei.</li> <li><a class="reference external" href="https://bugs.python.org/issue25590">bpo-25590</a>: In the Readline completer, only call getattr() once per attribute. Also complete names of attributes such as properties and slots which are listed by dir() but not yet created on an instance.</li> <li><a class="reference external" href="https://bugs.python.org/issue25498">bpo-25498</a>: Fix a crash when garbage-collecting ctypes objects created by wrapping a memoryview. This was a regression made in 3.5a1. Based on patch by Eryksun.</li> <li><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</li> <li><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Fixed recursive glob() with patterns starting with <code class="docutils literal notranslate"><span class="pre">**</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplib’s AUTH LOGIN support.</li> <li><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web server’s module search function to handle exceptions from importing packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</li> <li><a class="reference external" href="https://bugs.python.org/issue18973">bpo-18973</a>: Command-line interface of the calendar module now uses argparse instead of optparse.</li> <li><a class="reference external" href="https://bugs.python.org/issue25510">bpo-25510</a>: fileinput.FileInput.readline() now returns b’’ instead of ‘’ at the end if the FileInput was opened with binary mode. Patch by Ryosuke Ito.</li> <li><a class="reference external" href="https://bugs.python.org/issue25503">bpo-25503</a>: Fixed inspect.getdoc() for inherited docstrings of properties. Original patch by John Mark Vandenberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue25515">bpo-25515</a>: Always use os.urandom as a source of randomness in uuid.uuid4.</li> <li><a class="reference external" href="https://bugs.python.org/issue21827">bpo-21827</a>: Fixed textwrap.dedent() for the case when largest common whitespace is a substring of smallest leading whitespace. Based on patch by Robert Li.</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: The lru_cache() wrapper objects now can be copied and pickled (by returning the original object unchanged).</li> <li><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Don’t crash on Union[str, Pattern].</li> <li><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue25411">bpo-25411</a>: Improved Unicode support in SMTPHandler through better use of the email package. Thanks to user simon04 for the patch.</li> <li>Move the imp module from a PendingDeprecationWarning to DeprecationWarning.</li> <li><a class="reference external" href="https://bugs.python.org/issue25407">bpo-25407</a>: Remove mentions of the formatter module being removed in Python 3.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue25406">bpo-25406</a>: Fixed a bug in C implementation of OrderedDict.move_to_end() that caused segmentation fault or hang in iterating after moving several items to the start of ordered dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue25382">bpo-25382</a>: pickletools.dis() now outputs implicit memo index for the MEMOIZE opcode.</li> <li><a class="reference external" href="https://bugs.python.org/issue25357">bpo-25357</a>: Add an optional newline parameter to binascii.b2a_base64(). base64.b64encode() uses it to avoid a memory copy.</li> <li><a class="reference external" href="https://bugs.python.org/issue24164">bpo-24164</a>: Objects that need calling <code class="docutils literal notranslate"><span class="pre">__new__</span></code> with keyword arguments, can now be pickled using pickle protocols older than protocol version 4.</li> <li><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpd’s SMTPChannel now correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are set to true.</li> <li><a class="reference external" href="https://bugs.python.org/issue16099">bpo-16099</a>: RobotFileParser now supports Crawl-delay and Request-rate extensions. Patch by Nikolay Bogoychev.</li> <li><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when MSVC is not installed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in pickletools.opcodes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23972">bpo-23972</a>: Updates asyncio datagram create method allowing reuseport and reuseaddr socket options to be set prior to binding the socket. Mirroring the existing asyncio create_server method the reuseaddr option for datagram sockets defaults to True if the O/S is ‘posix’ (except if the platform is Cygwin). Patch by Chris Laws.</li> <li><a class="reference external" href="https://bugs.python.org/issue25304">bpo-25304</a>: Add asyncio.run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from another thread, returning a concurrent.futures.Future. By Vincent Michel.</li> <li><a class="reference external" href="https://bugs.python.org/issue25232">bpo-25232</a>: Fix CGIRequestHandler to split the query from the URL at the first question mark (?) rather than the last. Patch from Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue24657">bpo-24657</a>: Prevent CGIRequestHandler from collapsing slashes in the query part of the URL as if it were a path. Patch from Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue25287">bpo-25287</a>: Don’t add crypt.METHOD_CRYPT to crypt.methods if it’s not supported. Check if it is supported, it may not be supported on OpenBSD for example.</li> <li><a class="reference external" href="https://bugs.python.org/issue23600">bpo-23600</a>: Default implementation of tzinfo.fromutc() was returning wrong results in some cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue25203">bpo-25203</a>: Failed readline.set_completer_delims() no longer left the module in inconsistent state.</li> <li><a class="reference external" href="https://bugs.python.org/issue25011">bpo-25011</a>: rlcompleter now omits private and special attribute names unless the prefix starts with underscores.</li> <li><a class="reference external" href="https://bugs.python.org/issue25209">bpo-25209</a>: rlcompleter now can add a space or a colon after completed keyword.</li> <li><a class="reference external" href="https://bugs.python.org/issue22241">bpo-22241</a>: timezone.utc name is now plain ‘UTC’, not ‘UTC-00:00’.</li> <li><a class="reference external" href="https://bugs.python.org/issue23517">bpo-23517</a>: fromtimestamp() and utcfromtimestamp() methods of datetime.datetime now round microseconds to nearest with ties going to nearest even integer (ROUND_HALF_EVEN), as round(float), instead of rounding towards -Infinity (ROUND_FLOOR).</li> <li><a class="reference external" href="https://bugs.python.org/issue23552">bpo-23552</a>: Timeit now warns when there is substantial (4x) variance between best and worst times. Patch from Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue24633">bpo-24633</a>: site-packages/README -> README.txt.</li> <li><a class="reference external" href="https://bugs.python.org/issue24879">bpo-24879</a>: help() and pydoc can now list named tuple fields in the order they were defined rather than alphabetically. The ordering is determined by the _fields attribute if present.</li> <li><a class="reference external" href="https://bugs.python.org/issue24874">bpo-24874</a>: Improve speed of itertools.cycle() and make its pickle more compact.</li> <li>Fix crash in itertools.cycle.__setstate__() when the first argument wasn’t a list.</li> <li><a class="reference external" href="https://bugs.python.org/issue20059">bpo-20059</a>: urllib.parse raises ValueError on all invalid ports. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue24360">bpo-24360</a>: Improve __repr__ of argparse.Namespace() for invalid identifiers. Patch by Matthias Bussonnier.</li> <li><a class="reference external" href="https://bugs.python.org/issue23426">bpo-23426</a>: run_setup was broken in distutils. Patch from Alexander Belopolsky.</li> <li><a class="reference external" href="https://bugs.python.org/issue13938">bpo-13938</a>: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.</li> <li><a class="reference external" href="https://bugs.python.org/issue2091">bpo-2091</a>: open() accepted a ‘U’ mode string containing ‘+’, but ‘U’ can only be used with ‘r’. Patch from Jeff Balogh and John O’Connor.</li> <li><a class="reference external" href="https://bugs.python.org/issue8585">bpo-8585</a>: improved tests for zipimporter2. Patch from Mark Lawrence.</li> <li><a class="reference external" href="https://bugs.python.org/issue18622">bpo-18622</a>: unittest.mock.mock_open().reset_mock would recurse infinitely. Patch from Nicola Palumbo and Laurent De Buyst.</li> <li><a class="reference external" href="https://bugs.python.org/issue24426">bpo-24426</a>: Fast searching optimization in regular expressions now works for patterns that starts with capturing groups. Fast searching optimization now can’t be disabled at compile time.</li> <li><a class="reference external" href="https://bugs.python.org/issue23661">bpo-23661</a>: unittest.mock side_effects can now be exceptions again. This was a regression vs Python 3.4. Patch from Ignacio Rossi</li> <li><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: Remove deprecated inspect.getmoduleinfo function.</li> <li><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</li> <li><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating ssl.SSLContext.</li> <li><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</li> <li><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldn’t appear to be nonblocking.</li> <li><a class="reference external" href="https://bugs.python.org/issue25319">bpo-25319</a>: When threading.Event is reinitialized, the underlying condition should use a regular lock rather than a recursive lock.</li> <li>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк Коренберг.</li> <li><a class="reference external" href="https://bugs.python.org/issue25924">bpo-25924</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions 10.5 or higher. Original patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26406">bpo-26406</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on current versions of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input. Patch by Jack O’Connor.</li> <li><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</li> <li><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</li> </ul> </div> <div class="section" id="id147"> <h3>IDLE<a class="headerlink" href="#id147" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav Heblikar.</li> <li>In the ‘IDLE-console differences’ section of the IDLE doc, clarify how running with IDLE affects sys.modules and the standard streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: fix incorrect change in IOBinding that prevented printing. Augment IOBinding htest to include all major IOBinding functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue25905">bpo-25905</a>: Revert unwanted conversion of ‘ to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this and NEWS.txt with ‘ascii’. Re-encode CREDITS.txt to utf-8 and open it with ‘utf-8’.</li> <li><a class="reference external" href="https://bugs.python.org/issue15348">bpo-15348</a>: Stop the debugger engine (normally in a user process) before closing the debugger window (running in the IDLE process). This prevents the RuntimeErrors that were being caught and ignored.</li> <li><a class="reference external" href="https://bugs.python.org/issue24455">bpo-24455</a>: Prevent IDLE from hanging when a) closing the shell while the debugger is active (15347); b) closing the debugger with the [X] button (15348); and c) activating the debugger when already active (24455). The patch by Mark Roseman does this by making two changes. 1. Suspend and resume the gui.interaction method with the tcl vwait mechanism intended for this purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any existing interaction to terminate first.</li> <li>Change ‘The program’ to ‘Your program’ in an IDLE ‘kill program?’ message to make it clearer that the program referred to is the currently running user program, not IDLE itself.</li> <li><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Improve the appearance of the IDLE editor window status bar. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25313">bpo-25313</a>: Change the handling of new built-in text color themes to better address the compatibility problem introduced by the addition of IDLE Dark. Consistently use the revised idleConf.CurrentTheme everywhere in idlelib.</li> <li><a class="reference external" href="https://bugs.python.org/issue24782">bpo-24782</a>: Extension configuration is now a tab in the IDLE Preferences dialog rather than a separate dialog. The former tabs are now a sorted list. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue22726">bpo-22726</a>: Re-activate the config dialog help button with some content about the other buttons and the new IDLE Dark theme.</li> <li><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: IDLE now has an ‘IDLE Dark’ built-in text color theme. It is more or less IDLE Classic inverted, with a cobalt blue background. Strings, comments, keywords, … are still green, red, orange, … . To use it with IDLEs released before November 2015, hit the ‘Save as New Custom Theme’ button and enter a new name, such as ‘Custom Dark’. The custom theme will work with any IDLE release, and can be modified.</li> <li><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: README.txt is now an idlelib index for IDLE developers and curious users. The previous user content is now in the IDLE doc chapter. ‘IDLE’ now means ‘Integrated Development and Learning Environment’.</li> <li><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24972">bpo-24972</a>: Inactive selection background now matches active selection background, as configured by users, on all systems. Found items are now always highlighted on Windows. Initial patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24570">bpo-24570</a>: Idle: make calltip and completion boxes appear on Macs affected by a tk regression. Initial patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24988">bpo-24988</a>: Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24801">bpo-24801</a>: Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25173">bpo-25173</a>: Associate tkinter messageboxes with a specific widget. For Mac OSX, make them a ‘sheet’. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25198">bpo-25198</a>: Enhance the initial html viewer now used for Idle Help. Properly indent fixed-pitch text (patch by Mark Roseman). Give code snippet a very Sphinx-like light blueish-gray background. Re-use initial width and height set by users for shell and editor. When the Table of Contents (TOC) menu is used, put the section header at the top of the screen.</li> <li><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</li> <li><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue22820">bpo-22820</a>: Explain need for <em>print</em> when running file from Idle editor.</li> <li><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</li> <li><a class="reference external" href="https://bugs.python.org/issue25219">bpo-25219</a>: Update doc for Idle command line options. Some were missing and notes were not correct.</li> <li><a class="reference external" href="https://bugs.python.org/issue24861">bpo-24861</a>: Most of idlelib is private and subject to change. Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__.</li> <li><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</li> <li><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Replace help.txt with help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks better than help.txt and will better document Idle as released. The tkinter html viewer that works for this file was written by Rose Roseman. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 & 3 conflicts).</li> </ul> </div> <div class="section" id="id148"> <h3>Documentation<a class="headerlink" href="#id148" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</li> <li><a class="reference external" href="https://bugs.python.org/issue6953">bpo-6953</a>: Rework the Readline module documentation to group related functions together, and add more details such as what underlying Readline functions and variables are accessed.</li> <li><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</li> <li><a class="reference external" href="https://bugs.python.org/issue24952">bpo-24952</a>: Clarify the default size argument of stack_size() in the “threading” and “_thread” modules. Patch from Mattip.</li> <li><a class="reference external" href="https://bugs.python.org/issue26014">bpo-26014</a>: Update 3.x packaging documentation: * “See also” links to the new docs are now provided in the legacy pages * links to setuptools documentation have been updated</li> </ul> </div> <div class="section" id="id149"> <h3>Tests<a class="headerlink" href="#id149" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21916">bpo-21916</a>: Added tests for the turtle module. Patch by ingrid, Gregory Loyse and Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue26295">bpo-26295</a>: When using “python3 -m test –testdir=TESTDIR”, regrtest doesn’t add “test.” prefix to test module names.</li> <li><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool) was untested.</li> <li><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</li> <li><a class="reference external" href="https://bugs.python.org/issue26325">bpo-26325</a>: Added test.support.check_no_resource_warning() to check that no ResourceWarning is emitted.</li> <li><a class="reference external" href="https://bugs.python.org/issue25940">bpo-25940</a>: Changed test_ssl to use its internal local server more. This avoids relying on svn.python.org, which recently changed root certificate.</li> <li><a class="reference external" href="https://bugs.python.org/issue25616">bpo-25616</a>: Tests for OrderedDict are extracted from test_collections into separate file test_ordered_dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue25188">bpo-25188</a>: Add -P/–pgo to test.regrtest to suppress error output when running the test suite for the purposes of a PGO build. Initial patch by Alecsandru Patrascu.</li> <li><a class="reference external" href="https://bugs.python.org/issue22806">bpo-22806</a>: Add <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--list-tests</span></code> command to list tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue18174">bpo-18174</a>: <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--huntrleaks</span> <span class="pre">...</span></code> now also checks for leak of file descriptors. Patch written by Richard Oudkerk.</li> <li><a class="reference external" href="https://bugs.python.org/issue25260">bpo-25260</a>: Fix <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--coverage</span></code> on Windows. Remove the list of ignored directories.</li> <li><code class="docutils literal notranslate"><span class="pre">PCbuild\rt.bat</span></code> now accepts an unlimited number of arguments to pass along to regrtest.py. Previously there was a limit of 9.</li> <li><a class="reference external" href="https://bugs.python.org/issue26583">bpo-26583</a>: Skip test_timestamp_overflow in test_import if bytecode files cannot be written.</li> </ul> </div> <div class="section" id="id150"> <h3>Build<a class="headerlink" href="#id150" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21277">bpo-21277</a>: Don’t try to link _ctypes with a ffi_convenience library.</li> <li><a class="reference external" href="https://bugs.python.org/issue26884">bpo-26884</a>: Fix linking extension modules for cross builds. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue26932">bpo-26932</a>: Fixed support of RTLD_* constants defined as enum values, not via macros (in particular on Android). Patch by Chi Hsuan Yen.</li> <li><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Disable the rules for running _freeze_importlib and pgen when cross-compiling. The output of these programs is normally saved with the source code anyway, and is still regenerated when doing a native build. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue21668">bpo-21668</a>: Link audioop, _datetime, _ctypes_test modules to libm, except on Mac OS X. Patch written by Chi Hsuan Yen.</li> <li><a class="reference external" href="https://bugs.python.org/issue25702">bpo-25702</a>: A –with-lto configure option has been added that will enable link time optimizations at build time during a make profile-opt. Some compilers and toolchains are known to not produce stable code when using LTO, be sure to test things thoroughly before relying on it. It can provide a few % speed up over profile-opt alone.</li> <li><a class="reference external" href="https://bugs.python.org/issue26624">bpo-26624</a>: Adds validation of ucrtbase[d].dll version with warning for old versions.</li> <li><a class="reference external" href="https://bugs.python.org/issue17603">bpo-17603</a>: Avoid error about nonexistant fileblocks.o file by using a lower-level check for st_blocks in struct stat.</li> <li><a class="reference external" href="https://bugs.python.org/issue26079">bpo-26079</a>: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel.</li> <li><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</li> <li><a class="reference external" href="https://bugs.python.org/issue25348">bpo-25348</a>: Added <code class="docutils literal notranslate"><span class="pre">--pgo</span></code> and <code class="docutils literal notranslate"><span class="pre">--pgo-job</span></code> arguments to <code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span></code> for building with Profile-Guided Optimization. The old <code class="docutils literal notranslate"><span class="pre">PCbuild\build_pgo.bat</span></code> script is removed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25827">bpo-25827</a>: Add support for building with ICC to <code class="docutils literal notranslate"><span class="pre">configure</span></code>, including a new <code class="docutils literal notranslate"><span class="pre">--with-icc</span></code> flag.</li> <li><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</li> <li><a class="reference external" href="https://bugs.python.org/issue24986">bpo-24986</a>: It is now possible to build Python on Windows without errors when external libraries are not available.</li> <li><a class="reference external" href="https://bugs.python.org/issue24421">bpo-24421</a>: Compile Modules/_math.c once, before building extensions. Previously it could fail to compile properly if the math and cmath builds were concurrent.</li> <li><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 1.0.2g.</li> <li><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</li> <li><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7’s new textual SDK stub libraries.</li> <li><a class="reference external" href="https://bugs.python.org/issue24324">bpo-24324</a>: Do not enable unreachable code warnings when using gcc as the option does not work correctly in older versions of gcc and has been silently removed as of gcc-4.5.</li> </ul> </div> <div class="section" id="id151"> <h3>Windows<a class="headerlink" href="#id151" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</li> <li><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases that don’t include the contents of the include directory (that is, 1.0.2e and later).</li> <li><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit Python</li> <li><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</li> <li><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</li> <li><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</li> </ul> </div> <div class="section" id="id152"> <h3>Tools/Demos<a class="headerlink" href="#id152" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: don’t get C types once when the Python code is loaded, but get C types on demand. The C types can change if python-gdb.py is loaded before the Python executable. Patch written by Thomas Ilsche.</li> <li><a class="reference external" href="https://bugs.python.org/issue26271">bpo-26271</a>: Fix the Freeze tool to properly use flags passed through configure. Patch by Daniel Shaulov.</li> <li><a class="reference external" href="https://bugs.python.org/issue26489">bpo-26489</a>: Add dictionary unpacking support to Tools/parser/unparse.py. Patch by Guo Ci Teo.</li> <li><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</li> <li><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config –extension-suffix.</li> <li><a class="reference external" href="https://bugs.python.org/issue25154">bpo-25154</a>: The pyvenv script has been deprecated in favour of <code class="xref py py-obj docutils literal notranslate"><span class="pre">python3</span> <span class="pre">-m</span> <span class="pre">venv</span></code>.</li> </ul> </div> <div class="section" id="id153"> <h3>C API<a class="headerlink" href="#id153" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26312">bpo-26312</a>: SystemError is now raised in all programming bugs with using PyArg_ParseTupleAndKeywords(). RuntimeError did raised before in some programming bugs.</li> <li><a class="reference external" href="https://bugs.python.org/issue26198">bpo-26198</a>: ValueError is now raised instead of TypeError on buffer overflow in parsing “es#” and “et#” format units. SystemError is now raised instead of TypeError on programmatical error in parsing format string.</li> </ul> </div> </div> <div class="section" id="python-3-5-3-final"> <h2>Python 3.5.3 final<a class="headerlink" href="#python-3-5-3-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-01-17</em></p> <p>There were no code changes between 3.5.3rc1 and 3.5.3 final.</p> </div> <div class="section" id="python-3-5-3-release-candidate-1"> <h2>Python 3.5.3 release candidate 1<a class="headerlink" href="#python-3-5-3-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2017-01-02</em></p> <div class="section" id="id154"> <h3>Core and Builtins<a class="headerlink" href="#id154" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29073">bpo-29073</a>: bytearray formatting no longer truncates on first null byte.</li> <li><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include <sys/random.h> if it does not exist.</li> <li><a class="reference external" href="https://bugs.python.org/issue28147">bpo-28147</a>: Fix a memory leak in split-table dictionaries: setattr() must not convert combined table into split table.</li> <li><a class="reference external" href="https://bugs.python.org/issue25677">bpo-25677</a>: Correct the positioning of the syntax error caret for indented blocks. Based on patch by Michael Layzell.</li> <li><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate form.</li> <li><a class="reference external" href="https://bugs.python.org/issue28512">bpo-28512</a>: Fixed setting the offset attribute of SyntaxError by PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().</li> <li><a class="reference external" href="https://bugs.python.org/issue28991">bpo-28991</a>: functools.lru_cache() was susceptible to an obscure reentrancy bug caused by a monkey-patched len() function.</li> <li><a class="reference external" href="https://bugs.python.org/issue28648">bpo-28648</a>: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue19398">bpo-19398</a>: Extra slash no longer added to sys.path components in case of empty compile-time PYTHONPATH components.</li> <li><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.</li> <li><a class="reference external" href="https://bugs.python.org/issue23782">bpo-23782</a>: Fixed possible memory leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here().</li> <li><a class="reference external" href="https://bugs.python.org/issue28379">bpo-28379</a>: Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The type of long range iterator is now registered as Iterator. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The constructor of range_iterator now checks that step is not 0. Patch by Oren Milman.</li> <li><a class="reference external" href="https://bugs.python.org/issue26906">bpo-26906</a>: Resolving special methods of uninitialized type now causes implicit initialization of the type instead of a fail.</li> <li><a class="reference external" href="https://bugs.python.org/issue18287">bpo-18287</a>: PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas Koep.</li> <li><a class="reference external" href="https://bugs.python.org/issue24098">bpo-24098</a>: Fixed possible crash when AST is changed in process of compiling it.</li> <li><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</li> <li><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and frozensets.</li> <li><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with invalid keyword args.</li> <li><a class="reference external" href="https://bugs.python.org/issue28203">bpo-28203</a>: Fix incorrect type in error message from <code class="docutils literal notranslate"><span class="pre">complex(1.0,</span> <span class="pre">{2:3})</span></code>. Patch by Soumya Sharma.</li> <li><a class="reference external" href="https://bugs.python.org/issue27955">bpo-27955</a>: Fallback on reading /dev/urandom device when the getrandom() syscall fails with EPERM, for example when blocked by SECCOMP.</li> <li><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimport’s compile_source(). zipimport should use the same optimization level as the interpreter.</li> <li><a class="reference external" href="https://bugs.python.org/issue25221">bpo-25221</a>: Fix corrupted result from PyLong_FromLong(0) when Python is compiled with NSMALLPOSINTS = 0.</li> <li><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename (patch by Eryk Sun)</li> <li><a class="reference external" href="https://bugs.python.org/issue28189">bpo-28189</a>: dictitems_contains no longer swallows compare errors. (Patch by Xiang Zhang)</li> <li><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generator’s frame’s backreference to the generator to prevent crashes in frame.clear().</li> <li><a class="reference external" href="https://bugs.python.org/issue27811">bpo-27811</a>: Fix a crash when a coroutine that has not been awaited is finalized with warnings-as-errors enabled.</li> <li><a class="reference external" href="https://bugs.python.org/issue27587">bpo-27587</a>: Fix another issue found by PVS-Studio: Null pointer check after use of ‘def’ in _PyState_AddModule(). Initial patch by Christian Heimes.</li> <li><a class="reference external" href="https://bugs.python.org/issue26020">bpo-26020</a>: set literal evaluation order did not match documented behaviour.</li> <li><a class="reference external" href="https://bugs.python.org/issue27782">bpo-27782</a>: Multi-phase extension module import now correctly allows the <code class="docutils literal notranslate"><span class="pre">m_methods</span></code> field to be used to add module level functions to instances of non-module types returned from <code class="docutils literal notranslate"><span class="pre">Py_create_mod</span></code>. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27936">bpo-27936</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27487">bpo-27487</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27558">bpo-27558</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27419">bpo-27419</a>: 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.</li> <li><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue27514">bpo-27514</a>: Make having too many statically nested blocks a SyntaxError instead of SystemError.</li> <li><a class="reference external" href="https://bugs.python.org/issue27473">bpo-27473</a>: Fixed possible integer overflow in bytes and bytearray concatenations. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Don’t rely on wrapping for overflow check in PySequence_Tuple(). Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue27443">bpo-27443</a>: __length_hint__() of bytearray iterators no longer return a negative integer for a resized bytearray.</li> <li><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</li> </ul> </div> <div class="section" id="id155"> <h3>Library<a class="headerlink" href="#id155" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue15812">bpo-15812</a>: inspect.getframeinfo() now correctly shows the first line of a context. Patch by Sam Breese.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>: Offsets in a ZIP file created with extern file object and modes “w” and “x” now are relative to the start of the file.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue13051">bpo-13051</a>: Fixed recursion errors in large or resized curses.textpad.Textbox. Based on patch by Tycho Andersen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue29119">bpo-29119</a>: Fix weakrefs in the pure python version of collections.OrderedDict move_to_end() method. Contributed by Andra Bogildea.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue9770">bpo-9770</a>: curses.ascii predicates now work correctly with negative integers.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28427">bpo-28427</a>: old keys should not remove new values from WeakValueDictionary when collecting from another thread.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19542">bpo-19542</a>: Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() when a GC collection happens in another thread.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when pass a sequence that doesn’t own its elements as limits.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28779">bpo-28779</a>: multiprocessing.set_forkserver_preload() would crash the forkserver process if a preloaded module instantiated some multiprocessing objects such as locks.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28847">bpo-28847</a>: dbm.dumb now supports reading read-only files and no longer writes the index file when it is not changed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25659">bpo-25659</a>: In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() methods on abstract classes like Array.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28732">bpo-28732</a>: Fix crash in os.spawnv() with no elements in args</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28485">bpo-28485</a>: Always raise ValueError for negative compileall.compile_dir(workers=…) parameter, even when multithreading is unavailable.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28387">bpo-28387</a>: Fixed possible crash in _io.TextIOWrapper deallocator when the garbage collector is invoked in other thread. Based on patch by Sebastian Cufre.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27517">bpo-27517</a>: LZMA compressor and decompressor no longer raise exceptions if given empty data twice. Patch by Benjamin Fogle.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in curses’s addch() with ncurses6.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28449">bpo-28449</a>: tarfile.open() with mode “r” or “r:” now tries to open a tar file with compression before trying to open it without compression. Otherwise it had 50% chance failed with ignore_zeros=True.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23262">bpo-23262</a>: The webbrowser module now supports Firefox 36+ and derived browsers. Based on patch by Oleg Broytman.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27939">bpo-27939</a>: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by representing the scale as float value internally in Tk. tkinter.IntVar now works if float value is set to underlying Tk variable.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28255">bpo-28255</a>: calendar.TextCalendar().prmonth() no longer prints a space at the start of new line after printing a month’s calendar. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue20491">bpo-20491</a>: The textwrap.TextWrapper class now honors non-breaking spaces. Based on patch by Kaarle Ritvanen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28353">bpo-28353</a>: os.fwalk() no longer fails on broken links.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25464">bpo-25464</a>: Fixed HList.header_exists() in tkinter.tix module by addin a workaround to Tix library bug.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer add entry “./” to ZIP archive.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24452">bpo-24452</a>: Make webbrowser support Chrome on Mac OS X.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue20766">bpo-20766</a>: Fix references leaked by pdb in the handling of SIGINT handlers.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Fixed writing ZIP files that starts not from the start of the file. Offsets in ZIP file now are relative to the start of the archive in conforming to the specification.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28321">bpo-28321</a>: Fixed writing non-BMP characters with binary format in plistlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28322">bpo-28322</a>: Fixed possible crashes when unpickle itertools objects from incorrect pickle data. Based on patch by John Leitch.</p> </li> <li><p class="first">Fix possible integer overflows and crashes in the mmap module with unusual usage patterns.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue1703178">bpo-1703178</a>: Fix the ability to pass the –link-objects option to the distutils build_ext command.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28253">bpo-28253</a>: Fixed calendar functions for extreme months: 0001-01 and 9999-12.</p> <p>Methods itermonthdays() and itermonthdays2() are reimplemented so that they don’t call itermonthdates() which can cause datetime.date under/overflow.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28275">bpo-28275</a>: Fixed possible use after free in the decompress() methods of the LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27897">bpo-27897</a>: Fixed possible crash in sqlite3.Connection.create_collation() if pass invalid string-like object as a name. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue18893">bpo-18893</a>: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by Madison May.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27611">bpo-27611</a>: Fixed support of default root window in the tkinter.tix module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27348">bpo-27348</a>: In the traceback module, restore the formatting of exception messages like “Exception: None”. This fixes a regression introduced in 3.5a2.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25651">bpo-25651</a>: Allow falsy values to be used for msg parameter of subTest().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p> </li> <li><p class="first">Fix UnboundLocalError in socket._sendfile_use_sendfile.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28075">bpo-28075</a>: Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch by Eryk Sun.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25270">bpo-25270</a>: Prevent codecs.escape_encode() from raising SystemError when an empty bytestring is passed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28181">bpo-28181</a>: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25895">bpo-25895</a>: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh and Markus Holtermann.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27599">bpo-27599</a>: Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19003">bpo-19003</a>: m email.generator now replaces only <code class="docutils literal notranslate"><span class="pre">\r</span></code> and/or <code class="docutils literal notranslate"><span class="pre">\n</span></code> line endings, per the RFC, instead of all unicode line endings.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28019">bpo-28019</a>: itertools.count() no longer rounds non-integer step in range between 1.0 and 2.0 to 1.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25969">bpo-25969</a>: Update the lib2to3 grammar to handle the unpacking generalizations added in 3.5.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue14977">bpo-14977</a>: mailcap now respects the order of the lines in the mailcap files (“first match”), as required by RFC 1542. Patch by Michael Lazar.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17582">bpo-17582</a>: xml.etree.ElementTree nows preserves whitespaces in attributes (Patch by Duane Griffin. Reviewed and approved by Stefan Behnel.)</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue28047">bpo-28047</a>: Fixed calculation of line length used for the base64 CTE in the new email policies.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Don’t pass str(_charset) to MIMEText.set_payload(). Patch by Claude Paroz.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22450">bpo-22450</a>: urllib now includes an <code class="docutils literal notranslate"><span class="pre">Accept:</span> <span class="pre">*/*</span></code> header among the default headers. This makes the results of REST API requests more consistent and predictable especially when proxy servers are involved.</p> </li> <li><p class="first">lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between runs given the same Grammar.txt input regardless of the hash randomization setting.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27570">bpo-27570</a>: Avoid zero-length memcpy() etc calls with null source pointers in the “ctypes” and “array” modules.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22233">bpo-22233</a>: Break email header lines <em>only</em> on the RFC specified CR and LF characters, not on arbitrary unicode line breaks. This also fixes a bug in HTTP header parsing.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27988">bpo-27988</a>: Fix email iter_attachments incorrect mutation of payload list.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl module’s parsing of GEN_RID subject alternative name fields in X.509 certs.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl module’s default cipher list to counter measure sweet32 attack (CVE-2016-2183).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl module’s default cipher list. (Required OpenSSL 1.1.0 or LibreSSL).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26470">bpo-26470</a>: Port ssl and hashlib module to OpenSSL 1.1.0.</p> </li> <li><p class="first">Remove support for passing a file descriptor to os.access. It never worked but previously didn’t raise.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27881">bpo-27881</a>: Fixed possible bugs when setting sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27861">bpo-27861</a>: Fixed a crash in sqlite3.Connection.cursor() when a factory creates not a cursor. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: Avoid spurious output on OS X with Gnu Readline.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27706">bpo-27706</a>: Restore deterministic behavior of random.Random().seed() for string seeds using seeding version 1. Allows sequences of calls to random() to exactly match those obtained in Python 2. Patch by Nofar Schnider.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue10513">bpo-10513</a>: Fix a regression in Connection.commit(). Statements should not be reset after a commit.</p> </li> <li><p class="first">A new version of typing.py from <a class="reference external" href="https://github.com/python/typing">https://github.com/python/typing</a>: - Collection (only for 3.6) (<a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>) - Add FrozenSet to __all__ (upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove the dict constraint in ForwardRef._eval_type (upstream #252)</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27539">bpo-27539</a>: Fix unnormalised <code class="docutils literal notranslate"><span class="pre">Fraction.__pow__</span></code> result in the case of negative exponent and negative base.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21718">bpo-21718</a>: cursor.description is now available for queries using CTEs.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue2466">bpo-2466</a>: posixpath.ismount now correctly recognizes mount points which the user does not have permission to access.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27773">bpo-27773</a>: Correct some memory management errors server_hostname in _ssl.wrap_socket().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26750">bpo-26750</a>: unittest.mock.create_autospec() now works properly for subclasses of property() and other data descriptors.</p> </li> <li><p class="first">In the curses module, raise an error if window.getstr() or window.instr() is passed a negative value.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27783">bpo-27783</a>: Fix possible usage of uninitialized memory in operator.methodcaller.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27774">bpo-27774</a>: Fix possible Py_DECREF on unowned object in _sre.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27760">bpo-27760</a>: Fix possible integer overflow in binascii.b2a_qp.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27758">bpo-27758</a>: Fix possible integer overflow in the _csv module for large record lengths.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27568">bpo-27568</a>: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates that the script is in CGI mode.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27656">bpo-27656</a>: Do not assume sched.h defines any SCHED_* constants.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27130">bpo-27130</a>: In the “zlib” module, fix handling of large buffers (typically 4 GiB) when compressing and decompressing. Previously, inputs were limited to 4 GiB, and compression and decompression operations did not properly handle results of 4 GiB.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17711">bpo-17711</a>: Fixed unpickling by the persistent ID with protocol 0. Original patch by Alexandre Vassalotti.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27522">bpo-27522</a>: Avoid an unintentional reference cycle in email.feedparser.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26844">bpo-26844</a>: Fix error message for imp.find_module() to refer to ‘path’ instead of ‘name’. Patch by Lev Maximov.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL zero-length recv() calls to not block and not raise an error about unclean EOF.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27466">bpo-27466</a>: Change time format returned by http.cookie.time2netscape, confirming the netscape cookie format and making it consistent with documentation.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26664">bpo-26664</a>: Fix activate.fish by removing mis-use of <code class="docutils literal notranslate"><span class="pre">$</span></code>.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22115">bpo-22115</a>: Fixed tracing Tkinter variables: trace_vdelete() with wrong mode no longer break tracing, trace_vinfo() now always returns a list of pairs of strings, tracing in the “u” mode now works.</p> </li> <li><p class="first">Fix a scoping issue in importlib.util.LazyLoader which triggered an UnboundLocalError when lazy-loading a module that was already put into sys.modules.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27079">bpo-27079</a>: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Some functions (compile() etc) accepted a filename argument encoded as an iterable of integers. Now only strings and byte-like objects are accepted.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27048">bpo-27048</a>: Prevents distutils failing on Windows when environment variables contain non-ASCII characters</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27238">bpo-27238</a>: Got rid of bare excepts in the turtle module. Original patch by Jelle Zijlstra.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27122">bpo-27122</a>: When an exception is raised within the context being managed by a contextlib.ExitStack() and one of the exit stack generators catches and raises it in a chain, do not re-raise the original exception when exiting, let the new chained one through. This avoids the PEP 479 bug described in issue25782.</p> </li> </ul> </div> <div class="section" id="id156"> <h3>Security<a class="headerlink" href="#id156" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27278">bpo-27278</a>: Fix os.urandom() implementation using getrandom() on Linux. Truncate size to INT_MAX and loop until we collected enough random bytes, instead of casting a directly Py_ssize_t to int.</li> </ul> </div> <div class="section" id="id157"> <h3>Library<a class="headerlink" href="#id157" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item id’s containing spaces.</li> </ul> </div> <div class="section" id="id158"> <h3>Security<a class="headerlink" href="#id158" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</li> </ul> </div> <div class="section" id="id159"> <h3>Library<a class="headerlink" href="#id159" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue16182">bpo-16182</a>: Fix various functions in the “readline” module to use the locale encoding, and fix get_begidx() and get_endidx() to return code point indexes.</li> <li><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</li> <li><a class="reference external" href="https://bugs.python.org/issue27930">bpo-27930</a>: Improved behaviour of logging.handlers.QueueListener. Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue21201">bpo-21201</a>: Improves readability of multiprocessing error message. Thanks to Wojciech Walczak for patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</li> <li><a class="reference external" href="https://bugs.python.org/issue27906">bpo-27906</a>: Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.</li> <li><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isn’t properly supported. Patch by Seth Michael Larson.</li> <li><a class="reference external" href="https://bugs.python.org/issue26654">bpo-26654</a>: Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy.</li> <li><a class="reference external" href="https://bugs.python.org/issue26909">bpo-26909</a>: Fix slow pipes IO in asyncio. Patch by INADA Naoki.</li> <li><a class="reference external" href="https://bugs.python.org/issue28176">bpo-28176</a>: Fix callbacks race in asyncio.SelectorLoop.sock_connect.</li> <li><a class="reference external" href="https://bugs.python.org/issue27759">bpo-27759</a>: Fix selectors incorrectly retain invalid file descriptors. Patch by Mark Williams.</li> <li><a class="reference external" href="https://bugs.python.org/issue28368">bpo-28368</a>: Refuse monitoring processes if the child watcher has no loop attached. Patch by Vincent Michel.</li> <li><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transport’s FD is used with add_reader, add_writer, etc.</li> <li><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.</li> <li><a class="reference external" href="https://bugs.python.org/issue28371">bpo-28371</a>: Deprecate passing asyncio.Handles to run_in_executor.</li> <li><a class="reference external" href="https://bugs.python.org/issue28372">bpo-28372</a>: Fix asyncio to support formatting of non-python coroutines.</li> <li><a class="reference external" href="https://bugs.python.org/issue28399">bpo-28399</a>: Remove UNIX socket from FS before binding. Patch by Коренберг Марк.</li> <li><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</li> <li><a class="reference external" href="https://bugs.python.org/issue26923">bpo-26923</a>: Fix asyncio.Gather to refuse being cancelled once all children are done. Patch by Johannes Ebke.</li> <li><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Don’t configure the number of workers for default threadpool executor. Initial patch by Hans Lawrenz.</li> <li><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon().</li> <li><a class="reference external" href="https://bugs.python.org/issue28613">bpo-28613</a>: Fix get_event_loop() return the current loop if called from coroutines/callbacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin Mayfield.</li> <li><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</li> <li><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</li> <li><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue24142">bpo-24142</a>: Reading a corrupt config file left the parser in an invalid state. Original patch by Florian Höch.</li> <li><a class="reference external" href="https://bugs.python.org/issue28990">bpo-28990</a>: Fix SSL hanging if connection is closed before handshake completed. (Patch by HoHo-Ho)</li> </ul> </div> <div class="section" id="id160"> <h3>IDLE<a class="headerlink" href="#id160" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue15308">bpo-15308</a>: Add ‘interrupt execution’ (^C) to Shell menu. Patch by Roger Serwy, updated by Bayard Randel.</li> <li><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from ‘flashing’ gui widgets on the screen.</li> <li>Add version to title of IDLE help window.</li> <li><a class="reference external" href="https://bugs.python.org/issue25564">bpo-25564</a>: In section on IDLE – console differences, mention that using exec means that __builtins__ is defined for each statement.</li> <li><a class="reference external" href="https://bugs.python.org/issue27714">bpo-27714</a>: text_textview and test_autocomplete now pass when re-run in the same process. This occurs when test_idle fails when run with the -w option but without -jn. Fix warning from test_config.</li> <li><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: IDLE no longer runs buggy code because of its tkinter imports. Users must include the same imports required to run directly in Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</li> <li><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</li> <li><a class="reference external" href="https://bugs.python.org/issue27245">bpo-27245</a>: IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE was started from a console or by import, a cascade of warnings was emitted. Patch by Serhiy Storchaka.</li> </ul> </div> <div class="section" id="id161"> <h3>C API<a class="headerlink" href="#id161" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</li> <li><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: PyUnicode_FSDecoder() accepted a filename argument encoded as an iterable of integers. Now only strings and bytes-like objects are accepted.</li> </ul> </div> <div class="section" id="id162"> <h3>Documentation<a class="headerlink" href="#id162" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</li> </ul> </div> <div class="section" id="id163"> <h3>Tests<a class="headerlink" href="#id163" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28950">bpo-28950</a>: Disallow -j0 to be combined with -T/-l/-M in regrtest command line arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue28666">bpo-28666</a>: Now test.support.rmtree is able to remove unwritable or unreadable directories.</li> <li><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</li> <li><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue27787">bpo-27787</a>: Call gc.collect() before checking each test for “dangling threads”, since the dangling threads are weak references.</li> <li><a class="reference external" href="https://bugs.python.org/issue27369">bpo-27369</a>: In test_pyexpat, avoid testing an error message detail that changed in Expat 2.2.0.</li> </ul> </div> <div class="section" id="id164"> <h3>Tools/Demos<a class="headerlink" href="#id164" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27952">bpo-27952</a>: Get Tools/scripts/fixcid.py working with Python 3 and the current “re” module, avoid invalid Python backslash escapes, and fix a bug parsing escaped C quote signs.</li> <li><a class="reference external" href="https://bugs.python.org/issue27332">bpo-27332</a>: Fixed the type of the first argument of module-level functions generated by Argument Clinic. Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</li> </ul> </div> <div class="section" id="id165"> <h3>Windows<a class="headerlink" href="#id165" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue28110">bpo-28110</a>: launcher.msi has different product codes between 32-bit and 64-bit</li> <li><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</li> <li><a class="reference external" href="https://bugs.python.org/issue27469">bpo-27469</a>: Adds a shell extension to the launcher so that drag and drop works correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enabled proper Windows styles in python[w].exe manifest.</li> </ul> </div> <div class="section" id="id166"> <h3>Build<a class="headerlink" href="#id166" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</li> <li><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</li> <li><a class="reference external" href="https://bugs.python.org/issue10656">bpo-10656</a>: Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael Haubenwallner.</li> <li><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename –with-optimiations to –enable-optimizations.</li> <li><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</li> <li><a class="reference external" href="https://bugs.python.org/issue28248">bpo-28248</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2j.</li> <li><a class="reference external" href="https://bugs.python.org/issue28258">bpo-28258</a>: Fixed build with Estonian locale (python-config and distclean targets in Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</li> <li><a class="reference external" href="https://bugs.python.org/issue28066">bpo-28066</a>: Fix the logic that searches build directories for generated include files when building outside the source tree.</li> <li><a class="reference external" href="https://bugs.python.org/issue15819">bpo-15819</a>: Remove redundant include search directory option for building outside the source tree.</li> <li><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</li> <li><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</li> <li><a class="reference external" href="https://bugs.python.org/issue27983">bpo-27983</a>: Cause lack of llvm-profdata tool when using clang as required for PGO linking to be a configure time error rather than make time when <code class="docutils literal notranslate"><span class="pre">--with-optimizations</span></code> is enabled. Also improve our ability to find the llvm-profdata tool on MacOS and some Linuxes.</li> <li><a class="reference external" href="https://bugs.python.org/issue26307">bpo-26307</a>: The profile-opt build now applies PGO to the built-in modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Add the –with-optimizations configure flag.</li> <li><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlib’s bootstrap files. Patch by Xiang Zhang</li> <li><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Correct the references to Modules/python.exp and ld_so_aix, which are required on AIX. This updates references to an installation path that was changed in 3.2a4, and undoes changed references to the build tree that were made in 3.5.0a1.</li> <li><a class="reference external" href="https://bugs.python.org/issue27453">bpo-27453</a>: CPP invocation in configure must use CPPFLAGS. Patch by Chi Hsuan Yen.</li> <li><a class="reference external" href="https://bugs.python.org/issue27641">bpo-27641</a>: The configure script now inserts comments into the makefile to prevent the pgen and _freeze_importlib executables from being cross-compiled.</li> <li><a class="reference external" href="https://bugs.python.org/issue26662">bpo-26662</a>: Set PYTHON_FOR_GEN in configure as the Python program to be used for file generation during the build.</li> <li><a class="reference external" href="https://bugs.python.org/issue10910">bpo-10910</a>: Avoid C++ compilation errors on FreeBSD and OS X. Also update FreedBSD version checks for the original ctype UTF-8 workaround.</li> <li><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing ‘getentropy’ declaration warning on macOS. Patch by Gareth Rees.</li> </ul> </div> </div> <div class="section" id="python-3-5-2-final"> <h2>Python 3.5.2 final<a class="headerlink" href="#python-3-5-2-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-06-26</em></p> <div class="section" id="id167"> <h3>Core and Builtins<a class="headerlink" href="#id167" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</li> </ul> </div> <div class="section" id="id168"> <h3>Tests<a class="headerlink" href="#id168" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26867">bpo-26867</a>: Ubuntu’s openssl OP_NO_SSLv3 is forced on by default; fix test.</li> </ul> </div> <div class="section" id="id169"> <h3>IDLE<a class="headerlink" href="#id169" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii in idlelib/NEWS.txt - minimal part for 3.5.2.</li> </ul> </div> </div> <div class="section" id="python-3-5-2-release-candidate-1"> <h2>Python 3.5.2 release candidate 1<a class="headerlink" href="#python-3-5-2-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2016-06-12</em></p> <div class="section" id="id170"> <h3>Core and Builtins<a class="headerlink" href="#id170" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27066">bpo-27066</a>: Fixed SystemError if a custom opener (for open()) returns a negative number without setting an exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue20041">bpo-20041</a>: Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue26168">bpo-26168</a>: Fixed possible refleaks in failing Py_BuildValue() with the “N” format unit.</li> <li><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</li> <li><a class="reference external" href="https://bugs.python.org/issue27039">bpo-27039</a>: Fixed bytearray.remove() for values greater than 127. Patch by Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue26811">bpo-26811</a>: gc.get_objects() no longer contains a broken tuple with NULL pointer.</li> <li><a class="reference external" href="https://bugs.python.org/issue20120">bpo-20120</a>: Use RawConfigParser for .pypirc parsing, removing support for interpolation unintentionally added with move to Python 3. Behavior no longer does any interpolation in .pypirc files, matching behavior in Python 2.7 and Setuptools 19.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</li> <li><a class="reference external" href="https://bugs.python.org/issue26718">bpo-26718</a>: super.__init__ no longer leaks memory if called multiple times. NOTE: A direct call of super.__init__ is not endorsed!</li> <li><a class="reference external" href="https://bugs.python.org/issue25339">bpo-25339</a>: PYTHONIOENCODING now has priority over locale in setting the error handler for stdin and stdout.</li> <li><a class="reference external" href="https://bugs.python.org/issue26494">bpo-26494</a>: Fixed crash on iterating exhausting iterators. Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.</li> <li><a class="reference external" href="https://bugs.python.org/issue26581">bpo-26581</a>: If coding cookie is specified multiple times on a line in Python source code file, only the first one is taken to account.</li> <li><a class="reference external" href="https://bugs.python.org/issue26464">bpo-26464</a>: Fix str.translate() when string is ASCII and first replacements removes character, but next replacement uses a non-ASCII character or a string longer than 1 character. Regression introduced in Python 3.5.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue22836">bpo-22836</a>: Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when formatting them produces secondary errors. This affects the reports produced by sys.__excepthook__() and when __del__() raises an exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue26302">bpo-26302</a>: Correct behavior to reject comma as a legal character for cookie names.</li> <li><a class="reference external" href="https://bugs.python.org/issue4806">bpo-4806</a>: Avoid masking the original TypeError exception when using star (<code class="docutils literal notranslate"><span class="pre">*</span></code>) unpacking in function calls. Based on patch by Hagen Fürstenau and Daniel Urban.</li> <li><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</li> <li><a class="reference external" href="https://bugs.python.org/issue26154">bpo-26154</a>: Add a new private _PyThreadState_UncheckedGet() function to get the current Python thread state, but don’t issue a fatal error if it is NULL. This new function must be used instead of accessing directly the _PyThreadState_Current variable. The variable is no more exposed since Python 3.5.1 to hide the exact implementation of atomic C types, to avoid compiler issues.</li> <li><a class="reference external" href="https://bugs.python.org/issue26194">bpo-26194</a>: Deque.insert() gave odd results for bounded deques that had reached their maximum size. Now an IndexError will be raised when attempting to insert into a full deque.</li> <li><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, don’t merge constants if they are equal but have a different types. For example, <code class="docutils literal notranslate"><span class="pre">f1,</span> <span class="pre">f2</span> <span class="pre">=</span> <span class="pre">lambda:</span> <span class="pre">1,</span> <span class="pre">lambda:</span> <span class="pre">1.0</span></code> is now correctly compiled to two different functions: <code class="docutils literal notranslate"><span class="pre">f1()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>) and <code class="docutils literal notranslate"><span class="pre">f2()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>), even if <code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">1.0</span></code> are equal.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: [UPDATE] Comment out the one of the pickleability tests in _PyObject_GetState() due to regressions observed in Cython-based projects.</li> <li><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</li> <li><a class="reference external" href="https://bugs.python.org/issue25973">bpo-25973</a>: Fix segfault when an invalid nonlocal statement binds a name starting with two underscores.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that aren’t subclasses of list or dict and haven’t implemented any pickle-related methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be pickled. Including memoryview.</li> <li><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special macro Py_SETREF.</li> <li><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue25421">bpo-25421</a>: __sizeof__ methods of builtin types now use dynamic basic size. This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.</li> <li><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8 cache.</li> <li><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</li> <li><a class="reference external" href="https://bugs.python.org/issue24097">bpo-24097</a>: Fixed crash in object.__reduce__() if slot name is freed inside __getattr__.</li> <li><a class="reference external" href="https://bugs.python.org/issue24731">bpo-24731</a>: Fixed crash on converting objects with special methods __bytes__, __trunc__, and __float__ returning instances of subclasses of bytes, int, and float to subclasses of bytes, int, and float correspondingly.</li> <li><a class="reference external" href="https://bugs.python.org/issue26478">bpo-26478</a>: Fix semantic bugs when using binary operators with dictionary views and tuples.</li> <li><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in zipimporter.get_data().</li> <li><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</li> <li><a class="reference external" href="https://bugs.python.org/issue25887">bpo-25887</a>: Raise a RuntimeError when a coroutine object is awaited more than once.</li> <li><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Update the __aiter__ protocol: instead of returning an awaitable that resolves to an asynchronous iterator, the asynchronous iterator should be returned directly. Doing the former will trigger a PendingDeprecationWarning.</li> </ul> </div> <div class="section" id="id171"> <h3>Security<a class="headerlink" href="#id171" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</li> <li>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team Oststrom</li> </ul> </div> <div class="section" id="id172"> <h3>Library<a class="headerlink" href="#id172" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21386">bpo-21386</a>: Implement missing IPv4Address.is_global property. It was documented since 07a5610bae9d. Initial patch by Roger Luethi.</li> <li><a class="reference external" href="https://bugs.python.org/issue20900">bpo-20900</a>: distutils register command now decodes HTTP responses correctly. Initial patch by ingrid.</li> <li>A new version of typing.py provides several new classes and features: @overload outside stubs, DefaultDict, Text, ContextManager, Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of the new features are not yet implemented in mypy or other static analyzers). Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have been added (in fact they made it into 3.5.1 but were never mentioned).</li> <li><a class="reference external" href="https://bugs.python.org/issue25738">bpo-25738</a>: Stop http.server.BaseHTTPRequestHandler.send_error() from sending a message body for 205 Reset Content. Also, don’t send Content header fields in responses that don’t have a body. Patch by Susumu Koshiba.</li> <li><a class="reference external" href="https://bugs.python.org/issue21313">bpo-21313</a>: Fix the “platform” module to tolerate when sys.version contains truncated build information.</li> </ul> </div> <div class="section" id="id173"> <h3>Security<a class="headerlink" href="#id173" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26839">bpo-26839</a>: On Linux, <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> now calls <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> with <code class="docutils literal notranslate"><span class="pre">GRND_NONBLOCK</span></code> to fall back on reading <code class="docutils literal notranslate"><span class="pre">/dev/urandom</span></code> if the urandom entropy pool is not initialized yet. Patch written by Colm Buckley.</li> </ul> </div> <div class="section" id="id174"> <h3>Library<a class="headerlink" href="#id174" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27164">bpo-27164</a>: In the zlib module, allow decompressing raw Deflate streams with a predefined zdict. Based on patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24291">bpo-24291</a>: Fix wsgiref.simple_server.WSGIRequestHandler to completely write data to the client. Previously it could do partial writes and truncate data. Also, wsgiref.handler.ServerHandler can now handle stdout doing partial writes, but this is deprecated.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26809">bpo-26809</a>: Add <code class="docutils literal notranslate"><span class="pre">__all__</span></code> to <a class="reference internal" href="../library/string.html#module-string" title="string: Common string operations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">string</span></code></a>. Patch by Emanuel Barry.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26373">bpo-26373</a>: subprocess.Popen.communicate now correctly ignores BrokenPipeError when the child process dies before .communicate() is called in more/all circumstances.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21776">bpo-21776</a>: distutils.upload now correctly handles HTTPError. Initial patch by Claudiu Popa.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27114">bpo-27114</a>: Fix SSLContext._load_windows_store_certs fails with PermissionError</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: Avoid creating duplicate filters when using filterwarnings and simplefilter. Based on patch by Alex Shkop.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27057">bpo-27057</a>: Fix os.set_inheritable() on Android, ioctl() is blocked by SELinux and fails with EACCESS. The function now falls back to fcntl(). Patch written by Michał Bednarski.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue27014">bpo-27014</a>: Fix infinite recursion using typing.py. Thanks to Kalle Tuure!</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue14132">bpo-14132</a>: Fix urllib.request redirect handling when the target only has a query string. Original fix by Ján Janech.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17214">bpo-17214</a>: The “urllib.request” module now percent-encodes non-ASCII bytes found in redirect target URLs. Some servers send Location header fields with non-ASCII bytes, but “http.client” requires the request target to be ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch by Christian Heimes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26892">bpo-26892</a>: Honor debuglevel flag in urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22274">bpo-22274</a>: In the subprocess module, allow stderr to be redirected to stdout even when stdout is not redirected. Patch by Akira Li.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26807">bpo-26807</a>: mock_open ‘files’ no longer error on readline at end of file. Patch from Yolanda Robla.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue25745">bpo-25745</a>: Fixed leaking a userptr in curses panel destructor.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26977">bpo-26977</a>: Removed unnecessary, and ignored, call to sum of squares helper in statistics.pvariance.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26881">bpo-26881</a>: The modulefinder module now supports extended opcode arguments.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23815">bpo-23815</a>: Fixed crashes related to directly created instances of types in _tkinter and curses.panel modules.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue17765">bpo-17765</a>: weakref.ref() no longer silently ignores keyword arguments. Patch by Georg Brandl.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26873">bpo-26873</a>: xmlrpc now raises ResponseError on unsupported type tags instead of silently return incorrect result.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26711">bpo-26711</a>: Fixed the comparison of plistlib.Data with other types.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24114">bpo-24114</a>: Fix an uninitialized variable in <code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.util</span></code>.</p> <p>The bug only occurs on SunOS when the ctypes implementation searches for the <code class="xref py py-obj docutils literal notranslate"><span class="pre">crle</span></code> program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26864">bpo-26864</a>: In urllib.request, change the proxy bypass host checking against no_proxy to be case-insensitive, and to not match unrelated host names that happen to have a bypassed hostname as a suffix. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26634">bpo-26634</a>: recursive_repr() now sets __qualname__ of wrapper. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26804">bpo-26804</a>: urllib.request will prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26837">bpo-26837</a>: assertSequenceEqual() now correctly outputs non-stringified differing items (like bytes in the -b mode). This affects assertListEqual() and assertTupleEqual().</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26041">bpo-26041</a>: Remove “will be removed in Python 3.7” from deprecation messages of platform.dist() and platform.linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26822">bpo-26822</a>: itemgetter, attrgetter and methodcaller objects no longer silently ignore keyword arguments.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26733">bpo-26733</a>: Disassembling a class now disassembles class and static methods. Patch by Xiang Zhang.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue26801">bpo-26801</a>: Fix error handling in <a class="reference internal" href="../library/shutil.html#shutil.get_terminal_size" title="shutil.get_terminal_size"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.get_terminal_size()</span></code></a>, catch <a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#NameError" title="NameError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NameError</span></code></a>. Patch written by Emanuel Barry.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfile’s ustar and gnu formats now correctly calculate name and link field limits for multibyte character encodings like utf-8.</p> </li> </ul> </div> <div class="section" id="id175"> <h3>Security<a class="headerlink" href="#id175" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26657">bpo-26657</a>: Fix directory traversal vulnerability with http.server on Windows. This fixes a regression that was introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister.</li> </ul> </div> <div class="section" id="id176"> <h3>Library<a class="headerlink" href="#id176" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26717">bpo-26717</a>: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by Anthony Sottile.</li> <li><a class="reference external" href="https://bugs.python.org/issue26735">bpo-26735</a>: Fix <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> on Solaris 11.3 and newer when reading more than 1,024 bytes: call <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> multiple times with a limit of 1024 bytes per call.</li> <li><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola’.</li> <li><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.</li> <li><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</li> <li><a class="reference external" href="https://bugs.python.org/issue23735">bpo-23735</a>: Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric Price.</li> <li><a class="reference external" href="https://bugs.python.org/issue26586">bpo-26586</a>: In http.server, respond with “413 Request header fields too large” if there are too many header fields to parse, rather than killing the connection and raising an unhandled exception. Patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable() to always return False.</li> <li><a class="reference external" href="https://bugs.python.org/issue25195">bpo-25195</a>: Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne__ ourselves. Patch by Andrew Plummer.</li> <li><a class="reference external" href="https://bugs.python.org/issue26644">bpo-26644</a>: Raise ValueError rather than SystemError when a negative length is passed to SSLSocket.recv() or read().</li> <li><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to 1024.</li> <li><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</li> <li><a class="reference external" href="https://bugs.python.org/issue21925">bpo-21925</a>: <a class="reference internal" href="../library/warnings.html#warnings.formatwarning" title="warnings.formatwarning"><code class="xref py py-func docutils literal notranslate"><span class="pre">warnings.formatwarning()</span></code></a> now catches exceptions on <code class="docutils literal notranslate"><span class="pre">linecache.getline(...)</span></code> to be able to log <a class="reference internal" href="../library/exceptions.html#ResourceWarning" title="ResourceWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResourceWarning</span></code></a> emitted late during the Python shutdown process.</li> <li><a class="reference external" href="https://bugs.python.org/issue24266">bpo-24266</a>: Ctrl+C during Readline history search now cancels the search mode when compiled with Readline 7.</li> <li><a class="reference external" href="https://bugs.python.org/issue26560">bpo-26560</a>: Avoid potential ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby.</li> </ul> </div> <div class="section" id="id177"> <h3>Security<a class="headerlink" href="#id177" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26313">bpo-26313</a>: ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch by Baji.</li> </ul> </div> <div class="section" id="id178"> <h3>Library<a class="headerlink" href="#id178" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26569">bpo-26569</a>: Fix <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule()</span></code></a> and <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule_ex()</span></code></a> to support importing packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue26499">bpo-26499</a>: Account for remaining Content-Length in HTTPResponse.readline() and read1(). Based on patch by Silent Ghost. Also document that HTTPResponse now supports these methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue25320">bpo-25320</a>: Handle sockets in directories unittest discovery is scanning. Patch from Victor van den Elzen.</li> <li><a class="reference external" href="https://bugs.python.org/issue16181">bpo-16181</a>: cookiejar.http2time() now returns None if year is higher than datetime.MAXYEAR.</li> <li><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</li> <li><a class="reference external" href="https://bugs.python.org/issue23718">bpo-23718</a>: Fixed parsing time in week 0 before Jan 1. Original patch by Tamás Bence Gedai.</li> <li><a class="reference external" href="https://bugs.python.org/issue20589">bpo-20589</a>: Invoking Path.owner() and Path.group() on Windows now raise NotImplementedError instead of ImportError.</li> <li><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</li> <li><a class="reference external" href="https://bugs.python.org/issue15068">bpo-15068</a>: Got rid of excessive buffering in the fileinput module. The bufsize parameter is no longer used.</li> <li><a class="reference external" href="https://bugs.python.org/issue2202">bpo-2202</a>: Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu Dupuy.</li> <li><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total is None.</li> <li><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x) flag.</li> <li><a class="reference external" href="https://bugs.python.org/issue26457">bpo-26457</a>: Fixed the subnets() methods in IP network classes for the case when resulting prefix length is equal to maximal prefix length. Based on patch by Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue26385">bpo-26385</a>: Remove the file if the internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost.</li> <li><a class="reference external" href="https://bugs.python.org/issue26402">bpo-26402</a>: Fix XML-RPC client to retry when the server shuts down a persistent connection. This was a regression related to the new http.client.RemoteDisconnected exception in 3.5.0a4.</li> <li><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre"><~</span></code> is optional now in base64.a85decode() with adobe=True. Patch by Swati Jaiswal.</li> <li><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</li> <li><a class="reference external" href="https://bugs.python.org/issue26367">bpo-26367</a>: importlib.__import__() raises SystemError like builtins.__import__() when <code class="docutils literal notranslate"><span class="pre">level</span></code> is specified but without an accompanying package specified.</li> <li><a class="reference external" href="https://bugs.python.org/issue26309">bpo-26309</a>: In the “socketserver” module, shut down the request (closing the connected socket) when verify_request() returns false. Patch by Aviv Palivoda.</li> </ul> </div> <div class="section" id="id179"> <h3>Security<a class="headerlink" href="#id179" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in ssl.enum_certificates.</li> </ul> </div> <div class="section" id="id180"> <h3>Library<a class="headerlink" href="#id180" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</li> <li><a class="reference external" href="https://bugs.python.org/issue26117">bpo-26117</a>: The os.scandir() iterator now closes file descriptor not only when the iteration is finished, but when it was failed with error.</li> <li><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue26045">bpo-26045</a>: Add UTF-8 suggestion to error message when posting a non-Latin-1 string with http.client.</li> <li><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopener’s redirect counter even if there is an exception. Based on patches by Brian Brazil and Daniel Rocco.</li> <li><a class="reference external" href="https://bugs.python.org/issue25945">bpo-25945</a>: Fixed a crash when unpickle the functools.partial object with wrong state. Fixed a leak in failed functools.partial constructor. “args” and “keywords” attributes of functools.partial have now always types tuple and dict correspondingly.</li> <li><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with non-atomic attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if it’s called with an invalid pattern. Patch by Thomas Nyberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</li> <li><a class="reference external" href="https://bugs.python.org/issue26227">bpo-26227</a>: On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions of the socket module now decode the hostname from the ANSI code page rather than UTF-8.</li> <li><a class="reference external" href="https://bugs.python.org/issue26147">bpo-26147</a>: xmlrpc now works with strings not encodable with used non-UTF-8 encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</li> <li><a class="reference external" href="https://bugs.python.org/issue26013">bpo-26013</a>: Added compatibility with broken protocol 2 pickles created in old Python 3 versions (3.4.3 and lower).</li> <li><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue17633">bpo-17633</a>: Improve zipimport’s support for namespace packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing before $() vars.</li> <li><a class="reference external" href="https://bugs.python.org/issue22138">bpo-22138</a>: Fix mock.patch behavior when patching descriptors. Restore original values after patching. Patch contributed by Sean McCully.</li> <li><a class="reference external" href="https://bugs.python.org/issue25672">bpo-25672</a>: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so.</li> <li><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Don’t traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in pathlib.Path.[r]glob().</li> <li><a class="reference external" href="https://bugs.python.org/issue24120">bpo-24120</a>: Ignore PermissionError when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri.</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: fileinput now uses sys.stdin as-is if it does not have a buffer attribute (restores backward compatibility).</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: Copying the lru_cache() wrapper object now always works, independently from the type of the wrapped object (by returning the original object unchanged).</li> <li><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</li> <li><a class="reference external" href="https://bugs.python.org/issue25860">bpo-25860</a>: os.fwalk() no longer skips remaining directories when error occurs. Original patch by Samson Lee.</li> <li><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</li> <li><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue25717">bpo-25717</a>: Restore the previous behaviour of tolerating most fstat() errors when opening files. This was a regression in 3.5a1, and stopped anonymous temporary files from working in special cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue24903">bpo-24903</a>: Fix regression in number of arguments compileall accepts when ‘-d’ is specified. The check on the number of arguments has been dropped completely as it never worked correctly anyway.</li> <li><a class="reference external" href="https://bugs.python.org/issue25764">bpo-25764</a>: In the subprocess module, preserve any exception caused by fork() failure when preexec_fn is used.</li> <li><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptime’s regexp cache now is reset after changing timezone with time.tzset().</li> <li><a class="reference external" href="https://bugs.python.org/issue14285">bpo-14285</a>: When executing a package with the “python -m package” option, and package initialization fails, a proper traceback is now reported. The “runpy” module now lets exceptions from package initialization pass back to the caller, rather than raising ImportError.</li> <li><a class="reference external" href="https://bugs.python.org/issue19771">bpo-19771</a>: Also in runpy and the “-m” option, omit the irrelevant message “… is a package and cannot be directly executed” if the package could not even be initialized (e.g. due to a bad <code class="docutils literal notranslate"><span class="pre">*.pyc</span></code> file).</li> <li><a class="reference external" href="https://bugs.python.org/issue25177">bpo-25177</a>: Fixed problem with the mean of very small and very large numbers. As a side effect, statistics.mean and statistics.variance should be significantly faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</li> <li><a class="reference external" href="https://bugs.python.org/issue10131">bpo-10131</a>: Fixed deep copying of minidom documents. Based on patch by Marian Ganisin.</li> <li><a class="reference external" href="https://bugs.python.org/issue25725">bpo-25725</a>: Fixed a reference leak in pickle.loads() when unpickling invalid data including tuple instructions.</li> <li><a class="reference external" href="https://bugs.python.org/issue25663">bpo-25663</a>: In the Readline completer, avoid listing duplicate global names, and search the global namespace before searching builtins.</li> <li><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</li> <li><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</li> <li><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue25624">bpo-25624</a>: ZipFile now always writes a ZIP_STORED header for directory entries. Patch by Dingyuan Wang.</li> <li>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк Коренберг.</li> <li><a class="reference external" href="https://bugs.python.org/issue25924">bpo-25924</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions 10.5 or higher. Original patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26406">bpo-26406</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on current versions of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis.</li> <li><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input. Patch by Jack O’Connor.</li> <li><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</li> <li><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</li> <li><a class="reference external" href="https://bugs.python.org/issue27223">bpo-27223</a>: asyncio: Fix _read_ready and _write_ready to respect _conn_lost. Patch by Łukasz Langa.</li> <li><a class="reference external" href="https://bugs.python.org/issue22970">bpo-22970</a>: asyncio: Fix inconsistency cancelling Condition.wait. Patch by David Coles.</li> </ul> </div> <div class="section" id="id181"> <h3>IDLE<a class="headerlink" href="#id181" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue5124">bpo-5124</a>: Paste with text selected now replaces the selection on X11. This matches how paste works on Windows, Mac, most modern Linux apps, and ttk widgets. Original patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: Make clear in idlelib.idle_test.__init__ that the directory is a private implementation of test.test_idle and tool for maintainers.</li> <li><a class="reference external" href="https://bugs.python.org/issue27196">bpo-27196</a>: Stop ‘ThemeChanged’ warnings when running IDLE tests. These persisted after other warnings were suppressed in #20567. Apply Serhiy Storchaka’s update_idletasks solution to four test files. Record this additional advice in idle_test/README.txt</li> <li><a class="reference external" href="https://bugs.python.org/issue20567">bpo-20567</a>: Revise idle_test/README.txt with advice about avoiding tk warning messages from tests. Apply advice to several IDLE tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue27117">bpo-27117</a>: Make colorizer htest and turtledemo work with dark themes. Move code for configuring text widget colors to a new function.</li> <li><a class="reference external" href="https://bugs.python.org/issue26673">bpo-26673</a>: When tk reports font size as 0, change to size 10. Such fonts on Linux prevented the configuration dialog from opening.</li> <li><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLE’s percolator. Original patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLE’s replace dialog. Original patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLE’s search dialog. Original patch by Westley Martínez.</li> <li><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for IDLE’s undo delegator. Original patch by Saimadhav Heblikar .</li> <li><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</li> <li><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</li> <li><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav Heblikar.</li> <li>In the ‘IDLE-console differences’ section of the IDLE doc, clarify how running with IDLE affects sys.modules and the standard streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: fix incorrect change in IOBinding that prevented printing. Augment IOBinding htest to include all major IOBinding functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue25905">bpo-25905</a>: Revert unwanted conversion of ‘ to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this and NEWS.txt with ‘ascii’. Re-encode CREDITS.txt to utf-8 and open it with ‘utf-8’.</li> </ul> </div> <div class="section" id="id182"> <h3>Documentation<a class="headerlink" href="#id182" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue19489">bpo-19489</a>: Moved the search box from the sidebar to the header and footer of each page. Patch by Ammar Askar.</li> <li><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</li> <li><a class="reference external" href="https://bugs.python.org/issue6953">bpo-6953</a>: Rework the Readline module documentation to group related functions together, and add more details such as what underlying Readline functions and variables are accessed.</li> <li><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</li> <li><a class="reference external" href="https://bugs.python.org/issue25500">bpo-25500</a>: Fix documentation to not claim that __import__ is searched for in the global scope.</li> <li><a class="reference external" href="https://bugs.python.org/issue26014">bpo-26014</a>: Update 3.x packaging documentation: * “See also” links to the new docs are now provided in the legacy pages * links to setuptools documentation have been updated</li> </ul> </div> <div class="section" id="id183"> <h3>Tests<a class="headerlink" href="#id183" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21916">bpo-21916</a>: Added tests for the turtle module. Patch by ingrid, Gregory Loyse and Jelle Zijlstra.</li> <li><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool) was untested.</li> <li><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</li> <li><a class="reference external" href="https://bugs.python.org/issue26325">bpo-26325</a>: Added test.support.check_no_resource_warning() to check that no ResourceWarning is emitted.</li> <li><a class="reference external" href="https://bugs.python.org/issue25940">bpo-25940</a>: Changed test_ssl to use self-signed.pythontest.net. This avoids relying on svn.python.org, which recently changed root certificate.</li> <li><a class="reference external" href="https://bugs.python.org/issue25616">bpo-25616</a>: Tests for OrderedDict are extracted from test_collections into separate file test_ordered_dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue26583">bpo-26583</a>: Skip test_timestamp_overflow in test_import if bytecode files cannot be written.</li> </ul> </div> <div class="section" id="id184"> <h3>Build<a class="headerlink" href="#id184" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26884">bpo-26884</a>: Fix linking extension modules for cross builds. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Disable the rules for running _freeze_importlib and pgen when cross-compiling. The output of these programs is normally saved with the source code anyway, and is still regenerated when doing a native build. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue27229">bpo-27229</a>: Fix the cross-compiling pgen rule for in-tree builds. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue21668">bpo-21668</a>: Link audioop, _datetime, _ctypes_test modules to libm, except on Mac OS X. Patch written by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue25702">bpo-25702</a>: A –with-lto configure option has been added that will enable link time optimizations at build time during a make profile-opt. Some compilers and toolchains are known to not produce stable code when using LTO, be sure to test things thoroughly before relying on it. It can provide a few % speed up over profile-opt alone.</li> <li><a class="reference external" href="https://bugs.python.org/issue26624">bpo-26624</a>: Adds validation of ucrtbase[d].dll version with warning for old versions.</li> <li><a class="reference external" href="https://bugs.python.org/issue17603">bpo-17603</a>: Avoid error about nonexistant fileblocks.o file by using a lower-level check for st_blocks in struct stat.</li> <li><a class="reference external" href="https://bugs.python.org/issue26079">bpo-26079</a>: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel.</li> <li><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</li> <li><a class="reference external" href="https://bugs.python.org/issue24421">bpo-24421</a>: Compile Modules/_math.c once, before building extensions. Previously it could fail to compile properly if the math and cmath builds were concurrent.</li> <li><a class="reference external" href="https://bugs.python.org/issue25348">bpo-25348</a>: Added <code class="docutils literal notranslate"><span class="pre">--pgo</span></code> and <code class="docutils literal notranslate"><span class="pre">--pgo-job</span></code> arguments to <code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span></code> for building with Profile-Guided Optimization. The old <code class="docutils literal notranslate"><span class="pre">PCbuild\build_pgo.bat</span></code> script is now deprecated, and simply calls <code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span> <span class="pre">--pgo</span> <span class="pre">%*</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue25827">bpo-25827</a>: Add support for building with ICC to <code class="docutils literal notranslate"><span class="pre">configure</span></code>, including a new <code class="docutils literal notranslate"><span class="pre">--with-icc</span></code> flag.</li> <li><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</li> <li><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 1.0.2h.</li> <li><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</li> <li><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7’s new textual SDK stub libraries.</li> <li><a class="reference external" href="https://bugs.python.org/issue24324">bpo-24324</a>: Do not enable unreachable code warnings when using gcc as the option does not work correctly in older versions of gcc and has been silently removed as of gcc-4.5.</li> </ul> </div> <div class="section" id="id185"> <h3>Windows<a class="headerlink" href="#id185" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</li> <li><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases that don’t include the contents of the include directory (that is, 1.0.2e and later).</li> <li><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit Python</li> <li><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</li> <li><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</li> </ul> </div> <div class="section" id="id186"> <h3>Tools/Demos<a class="headerlink" href="#id186" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: don’t get C types once when the Python code is loaded, but get C types on demand. The C types can change if python-gdb.py is loaded before the Python executable. Patch written by Thomas Ilsche.</li> <li><a class="reference external" href="https://bugs.python.org/issue26271">bpo-26271</a>: Fix the Freeze tool to properly use flags passed through configure. Patch by Daniel Shaulov.</li> <li><a class="reference external" href="https://bugs.python.org/issue26489">bpo-26489</a>: Add dictionary unpacking support to Tools/parser/unparse.py. Patch by Guo Ci Teo.</li> <li><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</li> </ul> </div> <div class="section" id="id187"> <h3>Windows<a class="headerlink" href="#id187" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue17500">bpo-17500</a>: Remove unused and outdated icons. (See also: <a class="reference external" href="https://github.com/python/pythondotorg/issues/945">https://github.com/python/pythondotorg/issues/945</a>)</li> </ul> </div> </div> <div class="section" id="python-3-5-1-final"> <h2>Python 3.5.1 final<a class="headerlink" href="#python-3-5-1-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-12-06</em></p> <div class="section" id="id188"> <h3>Core and Builtins<a class="headerlink" href="#id188" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8 cache.</li> </ul> </div> <div class="section" id="id189"> <h3>Windows<a class="headerlink" href="#id189" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25715">bpo-25715</a>: Python 3.5.1 installer shows wrong upgrade path and incorrect logic for launcher detection.</li> </ul> </div> </div> <div class="section" id="python-3-5-1-release-candidate-1"> <h2>Python 3.5.1 release candidate 1<a class="headerlink" href="#python-3-5-1-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-11-22</em></p> <div class="section" id="id190"> <h3>Core and Builtins<a class="headerlink" href="#id190" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25630">bpo-25630</a>: Fix a possible segfault during argument parsing in functions that accept filesystem paths.</li> <li><a class="reference external" href="https://bugs.python.org/issue23564">bpo-23564</a>: Fixed a partially broken sanity check in the _posixsubprocess internals regarding how fds_to_pass were passed to the child. The bug had no actual impact as subprocess.py already avoided it.</li> <li><a class="reference external" href="https://bugs.python.org/issue25388">bpo-25388</a>: Fixed tokenizer crash when processing undecodable source code with a null byte.</li> <li><a class="reference external" href="https://bugs.python.org/issue25462">bpo-25462</a>: The hash of the key now is calculated only once in most operations in C implementation of OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Default implementation of __reduce__ and __reduce_ex__ now rejects builtin types with not defined __new__.</li> <li><a class="reference external" href="https://bugs.python.org/issue25555">bpo-25555</a>: Fix parser and AST: fill lineno and col_offset of “arg” node when compiling AST from Python objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue24802">bpo-24802</a>: Avoid buffer overreads when int(), float(), compile(), exec() and eval() are passed bytes-like objects. These objects are not necessarily terminated by a null byte, but the functions assumed they were.</li> <li><a class="reference external" href="https://bugs.python.org/issue24726">bpo-24726</a>: Fixed a crash and leaking NULL in repr() of OrderedDict that was mutated by direct calls of dict methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Iterating OrderedDict with keys with unstable hash now raises KeyError in C implementations as well as in Python implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were garbage collected.</li> <li><a class="reference external" href="https://bugs.python.org/issue25274">bpo-25274</a>: sys.setrecursionlimit() now raises a RecursionError if the new recursion limit is too low depending at the current recursion depth. Modify also the “lower-water mark” formula to make it monotonic. This mark is used to decide when the overflowed flag of the thread state is reset.</li> <li><a class="reference external" href="https://bugs.python.org/issue24402">bpo-24402</a>: Fix input() to prompt to the redirected stdout when sys.stdout.fileno() fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue24806">bpo-24806</a>: Prevent builtin types that are not allowed to be subclassed from being subclassed through multiple inheritance.</li> <li><a class="reference external" href="https://bugs.python.org/issue24848">bpo-24848</a>: Fixed a number of bugs in UTF-7 decoding of misformed data.</li> <li><a class="reference external" href="https://bugs.python.org/issue25280">bpo-25280</a>: Import trace messages emitted in verbose (-v) mode are no longer formatted twice.</li> <li><a class="reference external" href="https://bugs.python.org/issue25003">bpo-25003</a>: On Solaris 11.3 or newer, os.urandom() now uses the getrandom() function instead of the getentropy() function. The getentropy() function is blocking to generate very good quality entropy, os.urandom() doesn’t need such high-quality entropy.</li> <li><a class="reference external" href="https://bugs.python.org/issue25182">bpo-25182</a>: The stdprinter (used as sys.stderr before the io module is imported at startup) now uses the backslashreplace error handler.</li> <li><a class="reference external" href="https://bugs.python.org/issue25131">bpo-25131</a>: Make the line number and column offset of set/dict literals and comprehensions correspond to the opening brace.</li> <li><a class="reference external" href="https://bugs.python.org/issue25150">bpo-25150</a>: Hide the private _Py_atomic_xxx symbols from the public Python.h header to fix a compilation error with OpenMP. PyThreadState_GET() becomes an alias to PyThreadState_Get() to avoid ABI incompatibilities.</li> </ul> </div> <div class="section" id="id191"> <h3>Library<a class="headerlink" href="#id191" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25626">bpo-25626</a>: Change three zlib functions to accept sizes that fit in Py_ssize_t, but internally cap those sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() failed to read chunks larger than 2 or 4 GiB. The change affects the zlib.Decompress.decompress() max_length parameter, the zlib.decompress() bufsize parameter, and the zlib.Decompress.flush() length parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue25583">bpo-25583</a>: Avoid incorrect errors raised by os.makedirs(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST.</li> <li><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</li> <li><a class="reference external" href="https://bugs.python.org/issue6973">bpo-6973</a>: When we know a subprocess.Popen process has died, do not allow the send_signal(), terminate(), or kill() methods to do anything as they could potentially signal a different process.</li> <li><a class="reference external" href="https://bugs.python.org/issue25590">bpo-25590</a>: In the Readline completer, only call getattr() once per attribute.</li> <li><a class="reference external" href="https://bugs.python.org/issue25498">bpo-25498</a>: Fix a crash when garbage-collecting ctypes objects created by wrapping a memoryview. This was a regression made in 3.5a1. Based on patch by Eryksun.</li> <li><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</li> <li><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Fixed recursive glob() with patterns starting with <code class="docutils literal notranslate"><span class="pre">**</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplib’s AUTH LOGIN support.</li> <li><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web server’s module search function to handle exceptions from importing packages.</li> <li><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</li> <li><a class="reference external" href="https://bugs.python.org/issue25510">bpo-25510</a>: fileinput.FileInput.readline() now returns b’’ instead of ‘’ at the end if the FileInput was opened with binary mode. Patch by Ryosuke Ito.</li> <li><a class="reference external" href="https://bugs.python.org/issue25503">bpo-25503</a>: Fixed inspect.getdoc() for inherited docstrings of properties. Original patch by John Mark Vandenberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue25515">bpo-25515</a>: Always use os.urandom as a source of randomness in uuid.uuid4.</li> <li><a class="reference external" href="https://bugs.python.org/issue21827">bpo-21827</a>: Fixed textwrap.dedent() for the case when largest common whitespace is a substring of smallest leading whitespace. Based on patch by Robert Li.</li> <li><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: The lru_cache() wrapper objects now can be copied and pickled (by returning the original object unchanged).</li> <li><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Don’t crash on Union[str, Pattern].</li> <li><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue25411">bpo-25411</a>: Improved Unicode support in SMTPHandler through better use of the email package. Thanks to user simon04 for the patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue25407">bpo-25407</a>: Remove mentions of the formatter module being removed in Python 3.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue25406">bpo-25406</a>: Fixed a bug in C implementation of OrderedDict.move_to_end() that caused segmentation fault or hang in iterating after moving several items to the start of ordered dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpd’s SMTPChannel now correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are set to true.</li> <li><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when MSVC is not installed.</li> <li><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in pickletools.opcodes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23972">bpo-23972</a>: Updates asyncio datagram create method allowing reuseport and reuseaddr socket options to be set prior to binding the socket. Mirroring the existing asyncio create_server method the reuseaddr option for datagram sockets defaults to True if the O/S is ‘posix’ (except if the platform is Cygwin). Patch by Chris Laws.</li> <li><a class="reference external" href="https://bugs.python.org/issue25304">bpo-25304</a>: Add asyncio.run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from another thread, returning a concurrent.futures.Future. By Vincent Michel.</li> <li><a class="reference external" href="https://bugs.python.org/issue25232">bpo-25232</a>: Fix CGIRequestHandler to split the query from the URL at the first question mark (?) rather than the last. Patch from Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue24657">bpo-24657</a>: Prevent CGIRequestHandler from collapsing slashes in the query part of the URL as if it were a path. Patch from Xiang Zhang.</li> <li><a class="reference external" href="https://bugs.python.org/issue24483">bpo-24483</a>: C implementation of functools.lru_cache() now calculates key’s hash only once.</li> <li><a class="reference external" href="https://bugs.python.org/issue22958">bpo-22958</a>: Constructor and update method of weakref.WeakValueDictionary now accept the self and the dict keyword arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue22609">bpo-22609</a>: Constructor of collections.UserDict now accepts the self keyword argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue25111">bpo-25111</a>: Fixed comparison of traceback.FrameSummary.</li> <li><a class="reference external" href="https://bugs.python.org/issue25262">bpo-25262</a>: Added support for BINBYTES8 opcode in Python implementation of unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored on 32-bit platforms in C implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue25034">bpo-25034</a>: Fix string.Formatter problem with auto-numbering and nested format_specs. Patch by Anthon van der Neut.</li> <li><a class="reference external" href="https://bugs.python.org/issue25233">bpo-25233</a>: Rewrite the guts of asyncio.Queue and asyncio.Semaphore to be more understandable and correct.</li> <li><a class="reference external" href="https://bugs.python.org/issue25203">bpo-25203</a>: Failed readline.set_completer_delims() no longer left the module in inconsistent state.</li> <li><a class="reference external" href="https://bugs.python.org/issue23600">bpo-23600</a>: Default implementation of tzinfo.fromutc() was returning wrong results in some cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue23329">bpo-23329</a>: Allow the ssl module to be built with older versions of LibreSSL.</li> <li>Prevent overflow in _Unpickler_Read.</li> <li><a class="reference external" href="https://bugs.python.org/issue25047">bpo-25047</a>: The XML encoding declaration written by Element Tree now respects the letter case given by the user. This restores the ability to write encoding names in uppercase like “UTF-8”, which worked in Python 2.</li> <li><a class="reference external" href="https://bugs.python.org/issue25135">bpo-25135</a>: Make deque_clear() safer by emptying the deque before clearing. This helps avoid possible reentrancy issues.</li> <li><a class="reference external" href="https://bugs.python.org/issue19143">bpo-19143</a>: platform module now reads Windows version from kernel32.dll to avoid compatibility shims.</li> <li><a class="reference external" href="https://bugs.python.org/issue25092">bpo-25092</a>: Fix datetime.strftime() failure when errno was already set to EINVAL.</li> <li><a class="reference external" href="https://bugs.python.org/issue23517">bpo-23517</a>: Fix rounding in fromtimestamp() and utcfromtimestamp() methods of datetime.datetime: microseconds are now rounded to nearest with ties going to nearest even integer (ROUND_HALF_EVEN), instead of being rounding towards minus infinity (ROUND_FLOOR). It’s important that these methods use the same rounding mode than datetime.timedelta to keep the property: (datetime(1970,1,1) + timedelta(seconds=t)) == datetime.utcfromtimestamp(t). It also the rounding mode used by round(float) for example.</li> <li><a class="reference external" href="https://bugs.python.org/issue25155">bpo-25155</a>: Fix datetime.datetime.now() and datetime.datetime.utcnow() on Windows to support date after year 2038. It was a regression introduced in Python 3.5.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue25108">bpo-25108</a>: Omitted internal frames in traceback functions print_stack(), format_stack(), and extract_stack() called without arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue25118">bpo-25118</a>: Fix a regression of Python 3.5.0 in os.waitpid() on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue24684">bpo-24684</a>: socket.socket.getaddrinfo() now calls PyUnicode_AsEncodedString() instead of calling the encode() method of the host, to handle correctly custom string with an encode() method which doesn’t return a byte string. The encoder of the IDNA codec is now called directly instead of calling the encode() method of the string.</li> <li><a class="reference external" href="https://bugs.python.org/issue25060">bpo-25060</a>: Correctly compute stack usage of the BUILD_MAP opcode.</li> <li><a class="reference external" href="https://bugs.python.org/issue24857">bpo-24857</a>: Comparing call_args to a long sequence now correctly returns a boolean result instead of raising an exception. Patch by A Kaptur.</li> <li><a class="reference external" href="https://bugs.python.org/issue23144">bpo-23144</a>: Make sure that HTMLParser.feed() returns all the data, even when convert_charrefs is True.</li> <li><a class="reference external" href="https://bugs.python.org/issue24982">bpo-24982</a>: shutil.make_archive() with the “zip” format now adds entries for directories (including empty directories) in ZIP file.</li> <li><a class="reference external" href="https://bugs.python.org/issue25019">bpo-25019</a>: Fixed a crash caused by setting non-string key of expat parser. Based on patch by John Leitch.</li> <li><a class="reference external" href="https://bugs.python.org/issue16180">bpo-16180</a>: Exit pdb if file has syntax error, instead of trapping user in an infinite loop. Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue24891">bpo-24891</a>: Fix a race condition at Python startup if the file descriptor of stdin (0), stdout (1) or stderr (2) is closed while Python is creating sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set to None if the creation of the object failed, instead of raising an OSError exception. Initial patch written by Marco Paolini.</li> <li><a class="reference external" href="https://bugs.python.org/issue24992">bpo-24992</a>: Fix error handling and a race condition (related to garbage collection) in collections.OrderedDict constructor.</li> <li><a class="reference external" href="https://bugs.python.org/issue24881">bpo-24881</a>: Fixed setting binary mode in Python implementation of FileIO on Windows and Cygwin. Patch from Akira Li.</li> <li><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</li> <li><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating ssl.SSLContext.</li> <li><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</li> <li><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldn’t appear to be nonblocking.</li> <li><a class="reference external" href="https://bugs.python.org/issue25319">bpo-25319</a>: When threading.Event is reinitialized, the underlying condition should use a regular lock rather than a recursive lock.</li> <li><a class="reference external" href="https://bugs.python.org/issue21112">bpo-21112</a>: Fix regression in unittest.expectedFailure on subclasses. Patch from Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue24764">bpo-24764</a>: cgi.FieldStorage.read_multi() now ignores the Content-Length header in part headers. Patch written by Peter Landry and reviewed by Pierre Quentel.</li> <li><a class="reference external" href="https://bugs.python.org/issue24913">bpo-24913</a>: Fix overrun error in deque.index(). Found by John Leitch and Bryce Darling.</li> <li><a class="reference external" href="https://bugs.python.org/issue24774">bpo-24774</a>: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.</li> <li><a class="reference external" href="https://bugs.python.org/issue21159">bpo-21159</a>: Improve message in configparser.InterpolationMissingOptionError. Patch from Łukasz Langa.</li> <li><a class="reference external" href="https://bugs.python.org/issue20362">bpo-20362</a>: Honour TestCase.longMessage correctly in assertRegex. Patch from Ilia Kurenkov.</li> <li><a class="reference external" href="https://bugs.python.org/issue23572">bpo-23572</a>: Fixed functools.singledispatch on classes with falsy metaclasses. Patch by Ethan Furman.</li> <li>asyncio: ensure_future() now accepts awaitable objects.</li> </ul> </div> <div class="section" id="id192"> <h3>IDLE<a class="headerlink" href="#id192" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue15348">bpo-15348</a>: Stop the debugger engine (normally in a user process) before closing the debugger window (running in the IDLE process). This prevents the RuntimeErrors that were being caught and ignored.</li> <li><a class="reference external" href="https://bugs.python.org/issue24455">bpo-24455</a>: Prevent IDLE from hanging when a) closing the shell while the debugger is active (15347); b) closing the debugger with the [X] button (15348); and c) activating the debugger when already active (24455). The patch by Mark Roseman does this by making two changes. 1. Suspend and resume the gui.interaction method with the tcl vwait mechanism intended for this purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any existing interaction to terminate first.</li> <li>Change ‘The program’ to ‘Your program’ in an IDLE ‘kill program?’ message to make it clearer that the program referred to is the currently running user program, not IDLE itself.</li> <li><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Improve the appearance of the IDLE editor window status bar. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25313">bpo-25313</a>: Change the handling of new built-in text color themes to better address the compatibility problem introduced by the addition of IDLE Dark. Consistently use the revised idleConf.CurrentTheme everywhere in idlelib.</li> <li><a class="reference external" href="https://bugs.python.org/issue24782">bpo-24782</a>: Extension configuration is now a tab in the IDLE Preferences dialog rather than a separate dialog. The former tabs are now a sorted list. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue22726">bpo-22726</a>: Re-activate the config dialog help button with some content about the other buttons and the new IDLE Dark theme.</li> <li><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: IDLE now has an ‘IDLE Dark’ built-in text color theme. It is more or less IDLE Classic inverted, with a cobalt blue background. Strings, comments, keywords, … are still green, red, orange, … . To use it with IDLEs released before November 2015, hit the ‘Save as New Custom Theme’ button and enter a new name, such as ‘Custom Dark’. The custom theme will work with any IDLE release, and can be modified.</li> <li><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: README.txt is now an idlelib index for IDLE developers and curious users. The previous user content is now in the IDLE doc chapter. ‘IDLE’ now means ‘Integrated Development and Learning Environment’.</li> <li><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24972">bpo-24972</a>: Inactive selection background now matches active selection background, as configured by users, on all systems. Found items are now always highlighted on Windows. Initial patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24570">bpo-24570</a>: Idle: make calltip and completion boxes appear on Macs affected by a tk regression. Initial patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24988">bpo-24988</a>: Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue24801">bpo-24801</a>: Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25173">bpo-25173</a>: Associate tkinter messageboxes with a specific widget. For Mac OSX, make them a ‘sheet’. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue25198">bpo-25198</a>: Enhance the initial html viewer now used for Idle Help. Properly indent fixed-pitch text (patch by Mark Roseman). Give code snippet a very Sphinx-like light blueish-gray background. Re-use initial width and height set by users for shell and editor. When the Table of Contents (TOC) menu is used, put the section header at the top of the screen.</li> <li><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</li> <li><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue22820">bpo-22820</a>: Explain need for <em>print</em> when running file from Idle editor.</li> <li><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</li> <li><a class="reference external" href="https://bugs.python.org/issue25219">bpo-25219</a>: Update doc for Idle command line options. Some were missing and notes were not correct.</li> <li><a class="reference external" href="https://bugs.python.org/issue24861">bpo-24861</a>: Most of idlelib is private and subject to change. Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__.</li> <li><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</li> <li><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Replace help.txt with help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks better than help.txt and will better document Idle as released. The tkinter html viewer that works for this file was written by Mark Roseman. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 & 3 conflicts).</li> </ul> </div> <div class="section" id="id193"> <h3>Documentation<a class="headerlink" href="#id193" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22558">bpo-22558</a>: Add remaining doc links to source code for Python-coded modules. Patch by Yoni Lavi.</li> <li><a class="reference external" href="https://bugs.python.org/issue12067">bpo-12067</a>: Rewrite Comparisons section in the Expressions chapter of the language reference. Some of the details of comparing mixed types were incorrect or ambiguous. NotImplemented is only relevant at a lower level than the Expressions chapter. Added details of comparing range() objects, and default behaviour and consistency suggestions for user-defined classes. Patch from Andy Maier.</li> <li><a class="reference external" href="https://bugs.python.org/issue24952">bpo-24952</a>: Clarify the default size argument of stack_size() in the “threading” and “_thread” modules. Patch from Mattip.</li> <li><a class="reference external" href="https://bugs.python.org/issue23725">bpo-23725</a>: Overhaul tempfile docs. Note deprecated status of mktemp. Patch from Zbigniew Jędrzejewski-Szmek.</li> <li><a class="reference external" href="https://bugs.python.org/issue24808">bpo-24808</a>: Update the types of some PyTypeObject fields. Patch by Joseph Weston.</li> <li><a class="reference external" href="https://bugs.python.org/issue22812">bpo-22812</a>: Fix unittest discovery examples. Patch from Pam McA’Nulty.</li> </ul> </div> <div class="section" id="id194"> <h3>Tests<a class="headerlink" href="#id194" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue25099">bpo-25099</a>: Make test_compileall not fail when an entry on sys.path cannot be written to (commonly seen in administrative installs on Windows).</li> <li><a class="reference external" href="https://bugs.python.org/issue23919">bpo-23919</a>: Prevents assert dialogs appearing in the test suite.</li> <li><code class="docutils literal notranslate"><span class="pre">PCbuild\rt.bat</span></code> now accepts an unlimited number of arguments to pass along to regrtest.py. Previously there was a limit of 9.</li> </ul> </div> <div class="section" id="id195"> <h3>Build<a class="headerlink" href="#id195" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24915">bpo-24915</a>: Add LLVM support for PGO builds and use the test suite to generate the profile data. Initial patch by Alecsandru Patrascu of Intel.</li> <li><a class="reference external" href="https://bugs.python.org/issue24910">bpo-24910</a>: Windows MSIs now have unique display names.</li> <li><a class="reference external" href="https://bugs.python.org/issue24986">bpo-24986</a>: It is now possible to build Python on Windows without errors when external libraries are not available.</li> </ul> </div> <div class="section" id="id196"> <h3>Windows<a class="headerlink" href="#id196" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25450">bpo-25450</a>: Updates shortcuts to start Python in installation directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue25164">bpo-25164</a>: Changes default all-users install directory to match per-user directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue25143">bpo-25143</a>: Improves installer error messages for unsupported platforms.</li> <li><a class="reference external" href="https://bugs.python.org/issue25163">bpo-25163</a>: Display correct directory in installer when using non-default settings.</li> <li><a class="reference external" href="https://bugs.python.org/issue25361">bpo-25361</a>: Disables use of SSE2 instructions in Windows 32-bit build</li> <li><a class="reference external" href="https://bugs.python.org/issue25089">bpo-25089</a>: Adds logging to installer for case where launcher is not selected on upgrade.</li> <li><a class="reference external" href="https://bugs.python.org/issue25165">bpo-25165</a>: Windows uninstallation should not remove launcher if other versions remain</li> <li><a class="reference external" href="https://bugs.python.org/issue25112">bpo-25112</a>: py.exe launcher is missing icons</li> <li><a class="reference external" href="https://bugs.python.org/issue25102">bpo-25102</a>: Windows installer does not precompile for -O or -OO.</li> <li><a class="reference external" href="https://bugs.python.org/issue25081">bpo-25081</a>: Makes Back button in installer go back to upgrade page when upgrading.</li> <li><a class="reference external" href="https://bugs.python.org/issue25091">bpo-25091</a>: Increases font size of the installer.</li> <li><a class="reference external" href="https://bugs.python.org/issue25126">bpo-25126</a>: Clarifies that the non-web installer will download some components.</li> <li><a class="reference external" href="https://bugs.python.org/issue25213">bpo-25213</a>: Restores requestedExecutionLevel to manifest to disable UAC virtualization.</li> <li><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</li> </ul> </div> <div class="section" id="id197"> <h3>Tools/Demos<a class="headerlink" href="#id197" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config –extension-suffix.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-final"> <h2>Python 3.5.0 final<a class="headerlink" href="#python-3-5-0-final" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-09-13</em></p> <div class="section" id="id198"> <h3>Build<a class="headerlink" href="#id198" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25071">bpo-25071</a>: Windows installer should not require TargetDir parameter when installing quietly.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-release-candidate-4"> <h2>Python 3.5.0 release candidate 4<a class="headerlink" href="#python-3-5-0-release-candidate-4" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-09-09</em></p> <div class="section" id="id199"> <h3>Library<a class="headerlink" href="#id199" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25029">bpo-25029</a>: Fixes MemoryError in test_strptime.</li> </ul> </div> <div class="section" id="id200"> <h3>Build<a class="headerlink" href="#id200" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue25027">bpo-25027</a>: Reverts partial-static build options and adds vcruntime140.dll to Windows installation.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-release-candidate-3"> <h2>Python 3.5.0 release candidate 3<a class="headerlink" href="#python-3-5-0-release-candidate-3" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-09-07</em></p> <div class="section" id="id201"> <h3>Core and Builtins<a class="headerlink" href="#id201" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24305">bpo-24305</a>: Prevent import subsystem stack frames from being counted by the warnings.warn(stacklevel=) parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue24912">bpo-24912</a>: Prevent __class__ assignment to immutable built-in objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue24975">bpo-24975</a>: Fix AST compilation for PEP 448 syntax.</li> </ul> </div> <div class="section" id="id202"> <h3>Library<a class="headerlink" href="#id202" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24917">bpo-24917</a>: time_strftime() buffer over-read.</li> <li><a class="reference external" href="https://bugs.python.org/issue24748">bpo-24748</a>: To resolve a compatibility problem found with py2exe and pywin32, imp.load_dynamic() once again ignores previously loaded modules to support Python modules replacing themselves with extension modules. Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue24635">bpo-24635</a>: Fixed a bug in typing.py where isinstance([], typing.Iterable) would return True once, then False on subsequent calls.</li> <li><a class="reference external" href="https://bugs.python.org/issue24989">bpo-24989</a>: Fixed buffer overread in BytesIO.readline() if a position is set beyond size. Based on patch by John Leitch.</li> <li><a class="reference external" href="https://bugs.python.org/issue24913">bpo-24913</a>: Fix overrun error in deque.index(). Found by John Leitch and Bryce Darling.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-release-candidate-2"> <h2>Python 3.5.0 release candidate 2<a class="headerlink" href="#python-3-5-0-release-candidate-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-08-25</em></p> <div class="section" id="id203"> <h3>Core and Builtins<a class="headerlink" href="#id203" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24769">bpo-24769</a>: Interpreter now starts properly when dynamic loading is disabled. Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue21167">bpo-21167</a>: NAN operations are now handled correctly when python is compiled with ICC even if -fp-model strict is not specified.</li> <li><a class="reference external" href="https://bugs.python.org/issue24492">bpo-24492</a>: A “package” lacking a __name__ attribute when trying to perform a <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">..</span> <span class="pre">import</span> <span class="pre">...</span></code> statement will trigger an ImportError instead of an AttributeError.</li> </ul> </div> <div class="section" id="id204"> <h3>Library<a class="headerlink" href="#id204" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24847">bpo-24847</a>: Removes vcruntime140.dll dependency from Tcl/Tk.</li> <li><a class="reference external" href="https://bugs.python.org/issue24839">bpo-24839</a>: platform._syscmd_ver raises DeprecationWarning</li> <li><a class="reference external" href="https://bugs.python.org/issue24867">bpo-24867</a>: Fix Task.get_stack() for ‘async def’ coroutines</li> </ul> </div> </div> <div class="section" id="python-3-5-0-release-candidate-1"> <h2>Python 3.5.0 release candidate 1<a class="headerlink" href="#python-3-5-0-release-candidate-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-08-09</em></p> <div class="section" id="id205"> <h3>Core and Builtins<a class="headerlink" href="#id205" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24667">bpo-24667</a>: Resize odict in all cases that the underlying dict resizes.</li> </ul> </div> <div class="section" id="id206"> <h3>Library<a class="headerlink" href="#id206" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24824">bpo-24824</a>: Signatures of codecs.encode() and codecs.decode() now are compatible with pydoc.</li> <li><a class="reference external" href="https://bugs.python.org/issue24634">bpo-24634</a>: Importing uuid should not try to load libc on Windows</li> <li><a class="reference external" href="https://bugs.python.org/issue24798">bpo-24798</a>: _msvccompiler.py doesn’t properly support manifests</li> <li><a class="reference external" href="https://bugs.python.org/issue4395">bpo-4395</a>: Better testing and documentation of binary operators. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: Update typing.py from GitHub repo.</li> <li><a class="reference external" href="https://bugs.python.org/issue23004">bpo-23004</a>: mock_open() now reads binary data correctly when the type of read_data is bytes. Initial patch by Aaron Hill.</li> <li><a class="reference external" href="https://bugs.python.org/issue23888">bpo-23888</a>: Handle fractional time in cookie expiry. Patch by ssh.</li> <li><a class="reference external" href="https://bugs.python.org/issue23652">bpo-23652</a>: Make it possible to compile the select module against the libc headers from the Linux Standard Base, which do not include some EPOLL macros. Patch by Matt Frank.</li> <li><a class="reference external" href="https://bugs.python.org/issue22932">bpo-22932</a>: Fix timezones in email.utils.formatdate. Patch from Dmitry Shachnev.</li> <li><a class="reference external" href="https://bugs.python.org/issue23779">bpo-23779</a>: imaplib raises TypeError if authenticator tries to abort. Patch from Craig Holmquist.</li> <li><a class="reference external" href="https://bugs.python.org/issue23319">bpo-23319</a>: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch written by Matthieu Gautier.</li> <li><a class="reference external" href="https://bugs.python.org/issue23254">bpo-23254</a>: Document how to close the TCPServer listening socket. Patch from Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue19450">bpo-19450</a>: Update Windows and OS X installer builds to use SQLite 3.8.11.</li> <li><a class="reference external" href="https://bugs.python.org/issue17527">bpo-17527</a>: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.</li> <li><a class="reference external" href="https://bugs.python.org/issue24791">bpo-24791</a>: Fix grammar regression for call syntax: ‘g(*a or b)’.</li> </ul> </div> <div class="section" id="id207"> <h3>IDLE<a class="headerlink" href="#id207" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23672">bpo-23672</a>: Allow Idle to edit and run files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi.</li> <li><a class="reference external" href="https://bugs.python.org/issue24745">bpo-24745</a>: Idle editor default font. Switch from Courier to platform-sensitive TkFixedFont. This should not affect current customized font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg and remove ‘fontxxx’ entries from [Editor Window]. Patch by Mark Roseman.</li> <li><a class="reference external" href="https://bugs.python.org/issue21192">bpo-21192</a>: Idle editor. When a file is run, put its name in the restart bar. Do not print false prompts. Original patch by Adnan Umer.</li> <li><a class="reference external" href="https://bugs.python.org/issue13884">bpo-13884</a>: Idle menus. Remove tearoff lines. Patch by Roger Serwy.</li> </ul> </div> <div class="section" id="id208"> <h3>Documentation<a class="headerlink" href="#id208" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24129">bpo-24129</a>: Clarify the reference documentation for name resolution. This includes removing the assumption that readers will be familiar with the name resolution scheme Python used prior to the introduction of lexical scoping for function namespaces. Patch by Ivan Levkivskyi.</li> <li><a class="reference external" href="https://bugs.python.org/issue20769">bpo-20769</a>: Improve reload() docs. Patch by Dorian Pula.</li> <li><a class="reference external" href="https://bugs.python.org/issue23589">bpo-23589</a>: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan.</li> <li><a class="reference external" href="https://bugs.python.org/issue24729">bpo-24729</a>: Correct IO tutorial to match implementation regarding encoding parameter to open function.</li> </ul> </div> <div class="section" id="id209"> <h3>Tests<a class="headerlink" href="#id209" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24751">bpo-24751</a>: When running regrtest with the <code class="docutils literal notranslate"><span class="pre">-w</span></code> command line option, a test run is no longer marked as a failure if all tests succeed when re-run.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-beta-4"> <h2>Python 3.5.0 beta 4<a class="headerlink" href="#python-3-5-0-beta-4" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-07-26</em></p> <div class="section" id="id210"> <h3>Core and Builtins<a class="headerlink" href="#id210" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23573">bpo-23573</a>: Restored optimization of bytes.rfind() and bytearray.rfind() for single-byte argument on Linux.</li> <li><a class="reference external" href="https://bugs.python.org/issue24569">bpo-24569</a>: Make PEP 448 dictionary evaluation more consistent.</li> <li><a class="reference external" href="https://bugs.python.org/issue24583">bpo-24583</a>: Fix crash when set is mutated while being updated.</li> <li><a class="reference external" href="https://bugs.python.org/issue24407">bpo-24407</a>: Fix crash when dict is mutated while being updated.</li> <li><a class="reference external" href="https://bugs.python.org/issue24619">bpo-24619</a>: New approach for tokenizing async/await. As a consequence, it is now possible to have one-line ‘async def foo(): await ..’ functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue24687">bpo-24687</a>: Plug refleak on SyntaxError in function parameters annotations.</li> <li><a class="reference external" href="https://bugs.python.org/issue15944">bpo-15944</a>: memoryview: Allow arbitrary formats when casting to bytes. Patch by Martin Panter.</li> </ul> </div> <div class="section" id="id211"> <h3>Library<a class="headerlink" href="#id211" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23441">bpo-23441</a>: rcompleter now prints a tab character instead of displaying possible completions for an empty word. Initial patch by Martin Sekera.</li> <li><a class="reference external" href="https://bugs.python.org/issue24683">bpo-24683</a>: Fixed crashes in _json functions called with arguments of inappropriate type.</li> <li><a class="reference external" href="https://bugs.python.org/issue21697">bpo-21697</a>: shutil.copytree() now correctly handles symbolic links that point to directories. Patch by Eduardo Seabra and Thomas Kluyver.</li> <li><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: Fixed segmentation fault when gc.collect() is called during constructing lru_cache (C implementation).</li> <li><a class="reference external" href="https://bugs.python.org/issue24695">bpo-24695</a>: Fix a regression in traceback.print_exception(). If exc_traceback is None we shouldn’t print a traceback header like described in the documentation.</li> <li><a class="reference external" href="https://bugs.python.org/issue24620">bpo-24620</a>: Random.setstate() now validates the value of state last element.</li> <li><a class="reference external" href="https://bugs.python.org/issue22485">bpo-22485</a>: Fixed an issue that caused <a class="reference internal" href="../library/inspect.html#inspect.getsource" title="inspect.getsource"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.getsource</span></code></a> to return incorrect results on nested functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22153">bpo-22153</a>: Improve unittest docs. Patch from Martin Panter and evilzero.</li> <li><a class="reference external" href="https://bugs.python.org/issue24580">bpo-24580</a>: Symbolic group references to open group in re patterns now are explicitly forbidden as well as numeric group references.</li> <li><a class="reference external" href="https://bugs.python.org/issue24206">bpo-24206</a>: Fixed __eq__ and __ne__ methods of inspect classes.</li> <li><a class="reference external" href="https://bugs.python.org/issue24631">bpo-24631</a>: Fixed regression in the timeit module with multiline setup.</li> <li><a class="reference external" href="https://bugs.python.org/issue18622">bpo-18622</a>: unittest.mock.mock_open().reset_mock would recurse infinitely. Patch from Nicola Palumbo and Laurent De Buyst.</li> <li><a class="reference external" href="https://bugs.python.org/issue23661">bpo-23661</a>: unittest.mock side_effects can now be exceptions again. This was a regression vs Python 3.4. Patch from Ignacio Rossi</li> <li><a class="reference external" href="https://bugs.python.org/issue24608">bpo-24608</a>: chunk.Chunk.read() now always returns bytes, not str.</li> <li><a class="reference external" href="https://bugs.python.org/issue18684">bpo-18684</a>: Fixed reading out of the buffer in the re module.</li> <li><a class="reference external" href="https://bugs.python.org/issue24259">bpo-24259</a>: tarfile now raises a ReadError if an archive is truncated inside a data segment.</li> <li><a class="reference external" href="https://bugs.python.org/issue15014">bpo-15014</a>: SMTP.auth() and SMTP.login() now support RFC 4954’s optional initial-response argument to the SMTP AUTH command.</li> <li><a class="reference external" href="https://bugs.python.org/issue24669">bpo-24669</a>: Fix inspect.getsource() for ‘async def’ functions. Patch by Kai Groner.</li> <li><a class="reference external" href="https://bugs.python.org/issue24688">bpo-24688</a>: ast.get_docstring() for ‘async def’ functions.</li> </ul> </div> <div class="section" id="id212"> <h3>Build<a class="headerlink" href="#id212" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24603">bpo-24603</a>: Update Windows builds and OS X 10.5 installer to use OpenSSL 1.0.2d.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-beta-3"> <h2>Python 3.5.0 beta 3<a class="headerlink" href="#python-3-5-0-beta-3" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-07-05</em></p> <div class="section" id="id213"> <h3>Core and Builtins<a class="headerlink" href="#id213" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24467">bpo-24467</a>: Fixed possible buffer over-read in bytearray. The bytearray object now always allocates place for trailing null byte and it’s buffer now is always null-terminated.</li> <li>Upgrade to Unicode 8.0.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue24345">bpo-24345</a>: Add Py_tp_finalize slot for the stable ABI.</li> <li><a class="reference external" href="https://bugs.python.org/issue24400">bpo-24400</a>: Introduce a distinct type for PEP 492 coroutines; add types.CoroutineType, inspect.getcoroutinestate, inspect.getcoroutinelocals; coroutines no longer use CO_GENERATOR flag; sys.set_coroutine_wrapper works only for ‘async def’ coroutines; inspect.iscoroutine no longer uses collections.abc.Coroutine, it’s intended to test for pure ‘async def’ coroutines only; add new opcode: GET_YIELD_FROM_ITER; fix generators wrapper used in types.coroutine to be instance of collections.abc.Generator; collections.abc.Awaitable and collections.abc.Coroutine can no longer be used to detect generator-based coroutines–use inspect.isawaitable instead.</li> <li><a class="reference external" href="https://bugs.python.org/issue24450">bpo-24450</a>: Add gi_yieldfrom to generators and cr_await to coroutines. Contributed by Benno Leslie and Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue19235">bpo-19235</a>: Add new RecursionError exception. Patch by Georg Brandl.</li> </ul> </div> <div class="section" id="id214"> <h3>Library<a class="headerlink" href="#id214" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21750">bpo-21750</a>: mock_open.read_data can now be read from each instance, as it could in Python 3.3.</li> <li><a class="reference external" href="https://bugs.python.org/issue24552">bpo-24552</a>: Fix use after free in an error case of the _pickle module.</li> <li><a class="reference external" href="https://bugs.python.org/issue24514">bpo-24514</a>: tarfile now tolerates number fields consisting of only whitespace.</li> <li><a class="reference external" href="https://bugs.python.org/issue19176">bpo-19176</a>: Fixed doctype() related bugs in C implementation of ElementTree. A deprecation warning no longer issued by XMLParser subclass with default doctype() method. Direct call of doctype() now issues a warning. Parser’s doctype() now is not called if target’s doctype() is called. Based on patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue20387">bpo-20387</a>: Restore semantic round-trip correctness in tokenize/untokenize for tab-indented blocks.</li> <li><a class="reference external" href="https://bugs.python.org/issue24456">bpo-24456</a>: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of the audioop module.</li> <li><a class="reference external" href="https://bugs.python.org/issue24336">bpo-24336</a>: The contextmanager decorator now works with functions with keyword arguments called “func” and “self”. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue24522">bpo-24522</a>: Fix possible integer overflow in json accelerator module.</li> <li><a class="reference external" href="https://bugs.python.org/issue24489">bpo-24489</a>: ensure a previously set C errno doesn’t disturb cmath.polar().</li> <li><a class="reference external" href="https://bugs.python.org/issue24408">bpo-24408</a>: Fixed AttributeError in measure() and metrics() methods of tkinter.Font.</li> <li><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: C implementation of functools.lru_cache() now can be used with methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue24347">bpo-24347</a>: Set KeyError if PyDict_GetItemWithError returns NULL.</li> <li><a class="reference external" href="https://bugs.python.org/issue24348">bpo-24348</a>: Drop superfluous incref/decref.</li> <li><a class="reference external" href="https://bugs.python.org/issue24359">bpo-24359</a>: Check for changed OrderedDict size during iteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue24368">bpo-24368</a>: Support keyword arguments in OrderedDict methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue24362">bpo-24362</a>: Simplify the C OrderedDict fast nodes resize logic.</li> <li><a class="reference external" href="https://bugs.python.org/issue24377">bpo-24377</a>: Fix a ref leak in OrderedDict.__repr__.</li> <li><a class="reference external" href="https://bugs.python.org/issue24369">bpo-24369</a>: Defend against key-changes during iteration.</li> </ul> </div> <div class="section" id="id215"> <h3>Tests<a class="headerlink" href="#id215" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24373">bpo-24373</a>: _testmultiphase and xxlimited now use tp_traverse and tp_finalize to avoid reference leaks encountered when combining tp_dealloc with PyType_FromSpec (see <a class="reference external" href="https://bugs.python.org/issue16690">bpo-16690</a> for details)</li> </ul> </div> <div class="section" id="id216"> <h3>Documentation<a class="headerlink" href="#id216" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24458">bpo-24458</a>: Update documentation to cover multi-phase initialization for extension modules (PEP 489). Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue24351">bpo-24351</a>: Clarify what is meant by “identifier” in the context of string.Template instances.</li> </ul> </div> <div class="section" id="id217"> <h3>Build<a class="headerlink" href="#id217" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24432">bpo-24432</a>: Update Windows builds and OS X 10.5 installer to use OpenSSL 1.0.2c.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-beta-2"> <h2>Python 3.5.0 beta 2<a class="headerlink" href="#python-3-5-0-beta-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-05-31</em></p> <div class="section" id="id218"> <h3>Core and Builtins<a class="headerlink" href="#id218" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24284">bpo-24284</a>: The startswith and endswith methods of the str class no longer return True when finding the empty string and the indexes are completely out of range.</li> <li><a class="reference external" href="https://bugs.python.org/issue24115">bpo-24115</a>: Update uses of PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue24328">bpo-24328</a>: Fix importing one character extension modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue11205">bpo-11205</a>: In dictionary displays, evaluate the key before the value.</li> <li><a class="reference external" href="https://bugs.python.org/issue24285">bpo-24285</a>: Fixed regression that prevented importing extension modules from inside packages. Patch by Petr Viktorin.</li> </ul> </div> <div class="section" id="id219"> <h3>Library<a class="headerlink" href="#id219" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23247">bpo-23247</a>: Fix a crash in the StreamWriter.reset() of CJK codecs.</li> <li><a class="reference external" href="https://bugs.python.org/issue24270">bpo-24270</a>: Add math.isclose() and cmath.isclose() functions as per PEP 485. Contributed by Chris Barker and Tal Einat.</li> <li><a class="reference external" href="https://bugs.python.org/issue5633">bpo-5633</a>: Fixed timeit when the statement is a string and the setup is not.</li> <li><a class="reference external" href="https://bugs.python.org/issue24326">bpo-24326</a>: Fixed audioop.ratecv() with non-default weightB argument. Original patch by David Moore.</li> <li><a class="reference external" href="https://bugs.python.org/issue16991">bpo-16991</a>: Add a C implementation of OrderedDict.</li> <li><a class="reference external" href="https://bugs.python.org/issue23934">bpo-23934</a>: Fix inspect.signature to fail correctly for builtin types lacking signature information. Initial patch by James Powell.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-beta-1"> <h2>Python 3.5.0 beta 1<a class="headerlink" href="#python-3-5-0-beta-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-05-24</em></p> <div class="section" id="id220"> <h3>Core and Builtins<a class="headerlink" href="#id220" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24276">bpo-24276</a>: Fixed optimization of property descriptor getter.</li> <li><a class="reference external" href="https://bugs.python.org/issue24268">bpo-24268</a>: PEP 489: Multi-phase extension module initialization. Patch by Petr Viktorin.</li> <li><a class="reference external" href="https://bugs.python.org/issue23955">bpo-23955</a>: Add pyvenv.cfg option to suppress registry/environment lookup for generating sys.path on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed system error in the comparison of faked types.SimpleNamespace.</li> <li><a class="reference external" href="https://bugs.python.org/issue22939">bpo-22939</a>: Fixed integer overflow in iterator object. Patch by Clement Rouault.</li> <li><a class="reference external" href="https://bugs.python.org/issue23985">bpo-23985</a>: Fix a possible buffer overrun when deleting a slice from the front of a bytearray and then appending some other bytes data.</li> <li><a class="reference external" href="https://bugs.python.org/issue24102">bpo-24102</a>: Fixed exception type checking in standard error handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue15027">bpo-15027</a>: The UTF-32 encoder is now 3x to 7x faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue23290">bpo-23290</a>: Optimize set_merge() for cases where the target is empty. (Contributed by Serhiy Storchaka.)</li> <li><a class="reference external" href="https://bugs.python.org/issue2292">bpo-2292</a>: PEP 448: Additional Unpacking Generalizations.</li> <li><a class="reference external" href="https://bugs.python.org/issue24096">bpo-24096</a>: Make warnings.warn_explicit more robust against mutation of the warnings.filters list.</li> <li><a class="reference external" href="https://bugs.python.org/issue23996">bpo-23996</a>: Avoid a crash when a delegated generator raises an unnormalized StopIteration exception. Patch by Stefan Behnel.</li> <li><a class="reference external" href="https://bugs.python.org/issue23910">bpo-23910</a>: Optimize property() getter calls. Patch by Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue23911">bpo-23911</a>: Move path-based importlib bootstrap code to a separate frozen module.</li> <li><a class="reference external" href="https://bugs.python.org/issue24192">bpo-24192</a>: Fix namespace package imports.</li> <li><a class="reference external" href="https://bugs.python.org/issue24022">bpo-24022</a>: Fix tokenizer crash when processing undecodable source code.</li> <li><a class="reference external" href="https://bugs.python.org/issue9951">bpo-9951</a>: Added a hex() method to bytes, bytearray, and memoryview.</li> <li><a class="reference external" href="https://bugs.python.org/issue22906">bpo-22906</a>: PEP 479: Change StopIteration handling inside generators.</li> <li><a class="reference external" href="https://bugs.python.org/issue24017">bpo-24017</a>: PEP 492: Coroutines with async and await syntax.</li> </ul> </div> <div class="section" id="id221"> <h3>Library<a class="headerlink" href="#id221" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: Added C implementation of functools.lru_cache(). Based on patches by Matt Joiner and Alexey Kachayev.</li> <li><a class="reference external" href="https://bugs.python.org/issue24230">bpo-24230</a>: The tempfile module now accepts bytes for prefix, suffix and dir parameters and returns bytes in such situations (matching the os module APIs).</li> <li><a class="reference external" href="https://bugs.python.org/issue22189">bpo-22189</a>: collections.UserString now supports __getnewargs__(), __rmod__(), casefold(), format_map(), isprintable(), and maketrans(). Patch by Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue24244">bpo-24244</a>: Prevents termination when an invalid format string is encountered on Windows in strftime.</li> <li><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: PEP 484: Add the typing module.</li> <li><a class="reference external" href="https://bugs.python.org/issue23086">bpo-23086</a>: The collections.abc.Sequence() abstract base class added <em>start</em> and <em>stop</em> parameters to the index() mixin. Patch by Devin Jeanpierre.</li> <li><a class="reference external" href="https://bugs.python.org/issue20035">bpo-20035</a>: Replaced the <code class="docutils literal notranslate"><span class="pre">tkinter._fix</span></code> module used for setting up the Tcl/Tk environment on Windows with a private function in the <code class="docutils literal notranslate"><span class="pre">_tkinter</span></code> module that makes no permanent changes to the environment.</li> <li><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.</li> <li><a class="reference external" href="https://bugs.python.org/issue15836">bpo-15836</a>: assertRaises(), assertRaisesRegex(), assertWarns() and assertWarnsRegex() assertments now check the type of the first argument to prevent possible user error. Based on patch by Daniel Wagner-Hall.</li> <li><a class="reference external" href="https://bugs.python.org/issue9858">bpo-9858</a>: Add missing method stubs to _io.RawIOBase. Patch by Laura Rupprecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue22955">bpo-22955</a>: attrgetter, itemgetter and methodcaller objects in the operator module now support pickling. Added readable and evaluable repr for these objects. Based on patch by Josh Rosenberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue22107">bpo-22107</a>: tempfile.gettempdir() and tempfile.mkdtemp() now try again when a directory with the chosen name already exists on Windows as well as on Unix. tempfile.mkstemp() now fails early if parent directory is not valid (not exists or is a file) on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue23780">bpo-23780</a>: Improved error message in os.path.join() with single argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue6598">bpo-6598</a>: Increased time precision and random number range in email.utils.make_msgid() to strengthen the uniqueness of the message ID.</li> <li><a class="reference external" href="https://bugs.python.org/issue24091">bpo-24091</a>: Fixed various crashes in corner cases in C implementation of ElementTree.</li> <li><a class="reference external" href="https://bugs.python.org/issue21931">bpo-21931</a>: msilib.FCICreate() now raises TypeError in the case of a bad argument instead of a ValueError with a bogus FCI error number. Patch by Jeffrey Armstrong.</li> <li><a class="reference external" href="https://bugs.python.org/issue13866">bpo-13866</a>: <em>quote_via</em> argument added to urllib.parse.urlencode.</li> <li><a class="reference external" href="https://bugs.python.org/issue20098">bpo-20098</a>: New mangle_from policy option for email, default True for compat32, but False for all other policies.</li> <li><a class="reference external" href="https://bugs.python.org/issue24211">bpo-24211</a>: The email library now supports RFC 6532: it can generate headers using utf-8 instead of encoded words.</li> <li><a class="reference external" href="https://bugs.python.org/issue16314">bpo-16314</a>: Added support for the LZMA compression in distutils.</li> <li><a class="reference external" href="https://bugs.python.org/issue21804">bpo-21804</a>: poplib now supports RFC 6856 (UTF8).</li> <li><a class="reference external" href="https://bugs.python.org/issue18682">bpo-18682</a>: Optimized pprint functions for builtin scalar types.</li> <li><a class="reference external" href="https://bugs.python.org/issue22027">bpo-22027</a>: smtplib now supports RFC 6531 (SMTPUTF8).</li> <li><a class="reference external" href="https://bugs.python.org/issue23488">bpo-23488</a>: Random generator objects now consume 2x less memory on 64-bit.</li> <li><a class="reference external" href="https://bugs.python.org/issue1322">bpo-1322</a>: platform.dist() and platform.linux_distribution() functions are now deprecated. Initial patch by Vajrasky Kok.</li> <li><a class="reference external" href="https://bugs.python.org/issue22486">bpo-22486</a>: Added the math.gcd() function. The fractions.gcd() function now is deprecated. Based on patch by Mark Dickinson.</li> <li><a class="reference external" href="https://bugs.python.org/issue24064">bpo-24064</a>: Property() docstrings are now writeable. (Patch by Berker Peksag.)</li> <li><a class="reference external" href="https://bugs.python.org/issue22681">bpo-22681</a>: Added support for the koi8_t encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue22682">bpo-22682</a>: Added support for the kz1048 encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue23796">bpo-23796</a>: peek and read1 methods of BufferedReader now raise ValueError if they called on a closed object. Patch by John Hergenroeder.</li> <li><a class="reference external" href="https://bugs.python.org/issue21795">bpo-21795</a>: smtpd now supports the 8BITMIME extension whenever the new <em>decode_data</em> constructor argument is set to False.</li> <li><a class="reference external" href="https://bugs.python.org/issue24155">bpo-24155</a>: optimize heapq.heapify() for better cache performance when heapifying large lists.</li> <li><a class="reference external" href="https://bugs.python.org/issue21800">bpo-21800</a>: imaplib now supports RFC 5161 (enable), RFC 6855 (utf8/internationalized email) and automatically encodes non-ASCII usernames and passwords to UTF8.</li> <li><a class="reference external" href="https://bugs.python.org/issue20274">bpo-20274</a>: When calling a _sqlite.Connection, it now complains if passed any keyword arguments. Previously it silently ignored them.</li> <li><a class="reference external" href="https://bugs.python.org/issue20274">bpo-20274</a>: Remove ignored and erroneous “kwargs” parameters from three METH_VARARGS methods on _sqlite.Connection.</li> <li><a class="reference external" href="https://bugs.python.org/issue24134">bpo-24134</a>: assertRaises(), assertRaisesRegex(), assertWarns() and assertWarnsRegex() checks now emits a deprecation warning when callable is None or keyword arguments except msg is passed in the context manager mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue24018">bpo-24018</a>: Add a collections.abc.Generator abstract base class. Contributed by Stefan Behnel.</li> <li><a class="reference external" href="https://bugs.python.org/issue23880">bpo-23880</a>: Tkinter’s getint() and getdouble() now support Tcl_Obj. Tkinter’s getdouble() now supports any numbers (in particular int).</li> <li><a class="reference external" href="https://bugs.python.org/issue22619">bpo-22619</a>: Added negative limit support in the traceback module. Based on patch by Dmitry Kazakov.</li> <li><a class="reference external" href="https://bugs.python.org/issue24094">bpo-24094</a>: Fix possible crash in json.encode with poorly behaved dict subclasses.</li> <li><a class="reference external" href="https://bugs.python.org/issue9246">bpo-9246</a>: On POSIX, os.getcwd() now supports paths longer than 1025 bytes. Patch written by William Orr.</li> <li><a class="reference external" href="https://bugs.python.org/issue17445">bpo-17445</a>: add difflib.diff_bytes() to support comparison of byte strings (fixes a regression from Python 2).</li> <li><a class="reference external" href="https://bugs.python.org/issue23917">bpo-23917</a>: Fall back to sequential compilation when ProcessPoolExecutor doesn’t exist. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue23008">bpo-23008</a>: Fixed resolving attributes with boolean value is False in pydoc.</li> <li>Fix asyncio issue 235: LifoQueue and PriorityQueue’s put didn’t increment unfinished tasks (this bug was introduced when JoinableQueue was merged with Queue).</li> <li><a class="reference external" href="https://bugs.python.org/issue23908">bpo-23908</a>: os functions now reject paths with embedded null character on Windows instead of silently truncating them.</li> <li><a class="reference external" href="https://bugs.python.org/issue23728">bpo-23728</a>: binascii.crc_hqx() could return an integer outside of the range 0-0xffff for empty data.</li> <li><a class="reference external" href="https://bugs.python.org/issue23887">bpo-23887</a>: urllib.error.HTTPError now has a proper repr() representation. Patch by Berker Peksag.</li> <li>asyncio: New event loop APIs: set_task_factory() and get_task_factory().</li> <li>asyncio: async() function is deprecated in favour of ensure_future().</li> <li><a class="reference external" href="https://bugs.python.org/issue24178">bpo-24178</a>: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore support new ‘async with’ syntax. Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue24179">bpo-24179</a>: Support ‘async for’ for asyncio.StreamReader. Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue24184">bpo-24184</a>: Add AsyncIterator and AsyncIterable ABCs to collections.abc. Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue22547">bpo-22547</a>: Implement informative __repr__ for inspect.BoundArguments. Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue24190">bpo-24190</a>: Implement inspect.BoundArgument.apply_defaults() method. Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue20691">bpo-20691</a>: Add ‘follow_wrapped’ argument to inspect.Signature.from_callable() and inspect.signature(). Contributed by Yury Selivanov.</li> <li><a class="reference external" href="https://bugs.python.org/issue24248">bpo-24248</a>: Deprecate inspect.Signature.from_function() and inspect.Signature.from_builtin().</li> <li><a class="reference external" href="https://bugs.python.org/issue23898">bpo-23898</a>: Fix inspect.classify_class_attrs() to support attributes with overloaded __eq__ and __bool__. Patch by Mike Bayer.</li> <li><a class="reference external" href="https://bugs.python.org/issue24298">bpo-24298</a>: Fix inspect.signature() to correctly unwrap wrappers around bound methods.</li> </ul> </div> <div class="section" id="id222"> <h3>IDLE<a class="headerlink" href="#id222" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23184">bpo-23184</a>: remove unused names and imports in idlelib. Initial patch by Al Sweigart.</li> </ul> </div> <div class="section" id="id223"> <h3>Tests<a class="headerlink" href="#id223" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue21520">bpo-21520</a>: test_zipfile no longer fails if the word ‘bad’ appears anywhere in the name of the current directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue9517">bpo-9517</a>: Move script_helper into the support package. Patch by Christie Wilson.</li> </ul> </div> <div class="section" id="id224"> <h3>Documentation<a class="headerlink" href="#id224" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22155">bpo-22155</a>: Add File Handlers subsection with createfilehandler to tkinter doc. Remove obsolete example from FAQ. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue24029">bpo-24029</a>: Document the name binding behavior for submodule imports.</li> <li><a class="reference external" href="https://bugs.python.org/issue24077">bpo-24077</a>: Fix typo in man page for -I command option: -s, not -S</li> </ul> </div> <div class="section" id="id225"> <h3>Tools/Demos<a class="headerlink" href="#id225" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue24000">bpo-24000</a>: Improved Argument Clinic’s mapping of converters to legacy “format units”. Updated the documentation to match.</li> <li><a class="reference external" href="https://bugs.python.org/issue24001">bpo-24001</a>: Argument Clinic converters now use accept={type} instead of types={‘type’} to specify the types the converter accepts.</li> <li><a class="reference external" href="https://bugs.python.org/issue23330">bpo-23330</a>: h2py now supports arbitrary filenames in #include.</li> <li><a class="reference external" href="https://bugs.python.org/issue24031">bpo-24031</a>: make patchcheck now supports git checkouts, too.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-alpha-4"> <h2>Python 3.5.0 alpha 4<a class="headerlink" href="#python-3-5-0-alpha-4" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-04-19</em></p> <div class="section" id="id226"> <h3>Core and Builtins<a class="headerlink" href="#id226" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22980">bpo-22980</a>: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include the architecture triplet in the extension name, to make it easy to test builds for different ABIs in the same working tree. Under OS X, the extension name now includes PEP 3149-style information.</li> <li><a class="reference external" href="https://bugs.python.org/issue22631">bpo-22631</a>: Added Linux-specific socket constant CAN_RAW_FD_FRAMES. Patch courtesy of Joe Jevnik.</li> <li><a class="reference external" href="https://bugs.python.org/issue23731">bpo-23731</a>: Implement PEP 488: removal of .pyo files.</li> <li><a class="reference external" href="https://bugs.python.org/issue23726">bpo-23726</a>: Don’t enable GC for user subclasses of non-GC types that don’t add any new fields. Patch by Eugene Toder.</li> <li><a class="reference external" href="https://bugs.python.org/issue23309">bpo-23309</a>: Avoid a deadlock at shutdown if a daemon thread is aborted while it is holding a lock to a buffered I/O object, and the main thread tries to use the same I/O object (typically stdout or stderr). A fatal error is emitted instead.</li> <li><a class="reference external" href="https://bugs.python.org/issue22977">bpo-22977</a>: Fixed formatting Windows error messages on Wine. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23466">bpo-23466</a>: %c, %o, %x, and %X in bytes formatting now raise TypeError on non-integer input.</li> <li><a class="reference external" href="https://bugs.python.org/issue24044">bpo-24044</a>: Fix possible null pointer dereference in list.sort in out of memory conditions.</li> <li><a class="reference external" href="https://bugs.python.org/issue21354">bpo-21354</a>: PyCFunction_New function is exposed by python DLL again.</li> </ul> </div> <div class="section" id="id227"> <h3>Library<a class="headerlink" href="#id227" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23840">bpo-23840</a>: tokenize.open() now closes the temporary binary file on error to fix a resource warning.</li> <li><a class="reference external" href="https://bugs.python.org/issue16914">bpo-16914</a>: new debuglevel 2 in smtplib adds timestamps to debug output.</li> <li><a class="reference external" href="https://bugs.python.org/issue7159">bpo-7159</a>: urllib.request now supports sending auth credentials automatically after the first 401. This enhancement is a superset of the enhancement from <a class="reference external" href="https://bugs.python.org/issue19494">bpo-19494</a> and supersedes that change.</li> <li><a class="reference external" href="https://bugs.python.org/issue23703">bpo-23703</a>: Fix a regression in urljoin() introduced in 901e4e52b20a. Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue4254">bpo-4254</a>: Adds _curses.update_lines_cols(). Patch by Arnon Yaari</li> <li><a class="reference external" href="https://bugs.python.org/issue19933">bpo-19933</a>: Provide default argument for ndigits in round. Patch by Vajrasky Kok.</li> <li><a class="reference external" href="https://bugs.python.org/issue23193">bpo-23193</a>: Add a numeric_owner parameter to tarfile.TarFile.extract and tarfile.TarFile.extractall. Patch by Michael Vogt and Eric Smith.</li> <li><a class="reference external" href="https://bugs.python.org/issue23342">bpo-23342</a>: Add a subprocess.run() function than returns a CalledProcess instance for a more consistent API than the existing call* functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue21217">bpo-21217</a>: inspect.getsourcelines() now tries to compute the start and end lines from the code object, fixing an issue when a lambda function is used as decorator argument. Patch by Thomas Ballinger and Allison Kaptur.</li> <li><a class="reference external" href="https://bugs.python.org/issue24521">bpo-24521</a>: Fix possible integer overflows in the pickle module.</li> <li><a class="reference external" href="https://bugs.python.org/issue22931">bpo-22931</a>: Allow ‘[‘ and ‘]’ in cookie values.</li> <li>The keywords attribute of functools.partial is now always a dictionary.</li> <li><a class="reference external" href="https://bugs.python.org/issue23811">bpo-23811</a>: Add missing newline to the PyCompileError error message. Patch by Alex Shkop.</li> <li><a class="reference external" href="https://bugs.python.org/issue21116">bpo-21116</a>: Avoid blowing memory when allocating a multiprocessing shared array that’s larger than 50% of the available RAM. Patch by Médéric Boquien.</li> <li><a class="reference external" href="https://bugs.python.org/issue22982">bpo-22982</a>: Improve BOM handling when seeking to multiple positions of a writable text file.</li> <li><a class="reference external" href="https://bugs.python.org/issue23464">bpo-23464</a>: Removed deprecated asyncio JoinableQueue.</li> <li><a class="reference external" href="https://bugs.python.org/issue23529">bpo-23529</a>: Limit the size of decompressed data when reading from GzipFile, BZ2File or LZMAFile. This defeats denial of service attacks using compressed bombs (i.e. compressed payloads which decompress to a huge size). Patch by Martin Panter and Nikolaus Rath.</li> <li><a class="reference external" href="https://bugs.python.org/issue21859">bpo-21859</a>: Added Python implementation of io.FileIO.</li> <li><a class="reference external" href="https://bugs.python.org/issue23865">bpo-23865</a>: close() methods in multiple modules now are idempotent and more robust at shutdown. If they need to release multiple resources, all are released even if errors occur.</li> <li><a class="reference external" href="https://bugs.python.org/issue23400">bpo-23400</a>: Raise same exception on both Python 2 and 3 if sem_open is not available. Patch by Davin Potts.</li> <li><a class="reference external" href="https://bugs.python.org/issue10838">bpo-10838</a>: The subprocess now module includes SubprocessError and TimeoutError in its list of exported names for the users wild enough to use <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">subprocess</span> <span class="pre">import</span> <span class="pre">*</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue23411">bpo-23411</a>: Added DefragResult, ParseResult, SplitResult, DefragResultBytes, ParseResultBytes, and SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23881">bpo-23881</a>: urllib.request.ftpwrapper constructor now closes the socket if the FTP connection failed to fix a ResourceWarning.</li> <li><a class="reference external" href="https://bugs.python.org/issue23853">bpo-23853</a>: <a class="reference internal" href="../library/socket.html#socket.socket.sendall" title="socket.socket.sendall"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.sendall()</span></code></a> does no more reset the socket timeout each time data is sent successfully. The socket timeout is now the maximum total duration to send all data.</li> <li><a class="reference external" href="https://bugs.python.org/issue22721">bpo-22721</a>: An order of multiline pprint output of set or dict containing orderable and non-orderable elements no longer depends on iteration order of set or dict.</li> <li><a class="reference external" href="https://bugs.python.org/issue15133">bpo-15133</a>: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always returns bool. tkinter.BooleanVar now validates input values (accepted bool, int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool.</li> <li><a class="reference external" href="https://bugs.python.org/issue10590">bpo-10590</a>: xml.sax.parseString() now supports string argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue23338">bpo-23338</a>: Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato.</li> <li><a class="reference external" href="https://bugs.python.org/issue15582">bpo-15582</a>: inspect.getdoc() now follows inheritance chains.</li> <li><a class="reference external" href="https://bugs.python.org/issue2175">bpo-2175</a>: SAX parsers now support a character stream of InputSource object.</li> <li><a class="reference external" href="https://bugs.python.org/issue16840">bpo-16840</a>: Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary precision integers added in Tcl 8.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue23834">bpo-23834</a>: Fix socket.sendto(), use the C Py_ssize_t type to store the result of sendto() instead of the C int type.</li> <li><a class="reference external" href="https://bugs.python.org/issue23618">bpo-23618</a>: <a class="reference internal" href="../library/socket.html#socket.socket.connect" title="socket.socket.connect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.connect()</span></code></a> now waits until the connection completes instead of raising <a class="reference internal" href="../library/exceptions.html#InterruptedError" title="InterruptedError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InterruptedError</span></code></a> if the connection is interrupted by signals, signal handlers don’t raise an exception and the socket is blocking or has a timeout. <a class="reference internal" href="../library/socket.html#socket.socket.connect" title="socket.socket.connect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.connect()</span></code></a> still raise <a class="reference internal" href="../library/exceptions.html#InterruptedError" title="InterruptedError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InterruptedError</span></code></a> for non-blocking sockets.</li> <li><a class="reference external" href="https://bugs.python.org/issue21526">bpo-21526</a>: Tkinter now supports new boolean type in Tcl 8.5.</li> <li><a class="reference external" href="https://bugs.python.org/issue23836">bpo-23836</a>: Fix the faulthandler module to handle reentrant calls to its signal handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue23838">bpo-23838</a>: linecache now clears the cache and returns an empty result on MemoryError.</li> <li><a class="reference external" href="https://bugs.python.org/issue10395">bpo-10395</a>: Added os.path.commonpath(). Implemented in posixpath and ntpath. Based on patch by Rafik Draoui.</li> <li><a class="reference external" href="https://bugs.python.org/issue23611">bpo-23611</a>: Serializing more “lookupable” objects (such as unbound methods or nested classes) now are supported with pickle protocols < 4.</li> <li><a class="reference external" href="https://bugs.python.org/issue13583">bpo-13583</a>: sqlite3.Row now supports slice indexing.</li> <li><a class="reference external" href="https://bugs.python.org/issue18473">bpo-18473</a>: Fixed 2to3 and 3to2 compatible pickle mappings. Fixed ambiguous reverse mappings. Added many new mappings. Import mapping is no longer applied to modules already mapped with full name mapping.</li> <li><a class="reference external" href="https://bugs.python.org/issue23485">bpo-23485</a>: select.select() is now retried automatically with the recomputed timeout when interrupted by a signal, except if the signal handler raises an exception. This change is part of the PEP 475.</li> <li><a class="reference external" href="https://bugs.python.org/issue23752">bpo-23752</a>: When built from an existing file descriptor, io.FileIO() now only calls fstat() once. Before fstat() was called twice, which was not necessary.</li> <li><a class="reference external" href="https://bugs.python.org/issue23704">bpo-23704</a>: collections.deque() objects now support __add__, __mul__, and __imul__().</li> <li><a class="reference external" href="https://bugs.python.org/issue23171">bpo-23171</a>: csv.Writer.writerow() now supports arbitrary iterables.</li> <li><a class="reference external" href="https://bugs.python.org/issue23745">bpo-23745</a>: The new email header parser now handles duplicate MIME parameter names without error, similar to how get_param behaves.</li> <li><a class="reference external" href="https://bugs.python.org/issue22117">bpo-22117</a>: Fix os.utime(), it now rounds the timestamp towards minus infinity (-inf) instead of rounding towards zero.</li> <li><a class="reference external" href="https://bugs.python.org/issue23310">bpo-23310</a>: Fix MagicMock’s initializer to work with __methods__, just like configure_mock(). Patch by Kasia Jachim.</li> </ul> </div> <div class="section" id="id228"> <h3>Build<a class="headerlink" href="#id228" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23817">bpo-23817</a>: FreeBSD now uses “1.0” in the SOVERSION as other operating systems, instead of just “1”.</li> <li><a class="reference external" href="https://bugs.python.org/issue23501">bpo-23501</a>: Argument Clinic now generates code into separate files by default.</li> </ul> </div> <div class="section" id="id229"> <h3>Tests<a class="headerlink" href="#id229" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23799">bpo-23799</a>: Added test.support.start_threads() for running and cleaning up multiple threads.</li> <li><a class="reference external" href="https://bugs.python.org/issue22390">bpo-22390</a>: test.regrtest now emits a warning if temporary files or directories are left after running a test.</li> </ul> </div> <div class="section" id="id230"> <h3>Tools/Demos<a class="headerlink" href="#id230" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue18128">bpo-18128</a>: pygettext now uses standard +NNNN format in the POT-Creation-Date header.</li> <li><a class="reference external" href="https://bugs.python.org/issue23935">bpo-23935</a>: Argument Clinic’s understanding of format units accepting bytes, bytearrays, and buffers is now consistent with both the documentation and the implementation.</li> <li><a class="reference external" href="https://bugs.python.org/issue23944">bpo-23944</a>: Argument Clinic now wraps long impl prototypes at column 78.</li> <li><a class="reference external" href="https://bugs.python.org/issue20586">bpo-20586</a>: Argument Clinic now ensures that functions without docstrings have signatures.</li> <li><a class="reference external" href="https://bugs.python.org/issue23492">bpo-23492</a>: Argument Clinic now generates argument parsing code with PyArg_Parse instead of PyArg_ParseTuple if possible.</li> <li><a class="reference external" href="https://bugs.python.org/issue23500">bpo-23500</a>: Argument Clinic is now smarter about generating the “#ifndef” (empty) definition of the methoddef macro: it’s only generated once, even if Argument Clinic processes the same symbol multiple times, and it’s emitted at the end of all processing rather than immediately after the first use.</li> </ul> </div> <div class="section" id="id231"> <h3>C API<a class="headerlink" href="#id231" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23998">bpo-23998</a>: PyImport_ReInitLock() now checks for lock allocation error</li> </ul> </div> </div> <div class="section" id="python-3-5-0-alpha-3"> <h2>Python 3.5.0 alpha 3<a class="headerlink" href="#python-3-5-0-alpha-3" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-03-28</em></p> <div class="section" id="id232"> <h3>Core and Builtins<a class="headerlink" href="#id232" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23573">bpo-23573</a>: Increased performance of string search operations (str.find, str.index, str.count, the in operator, str.split, str.partition) with arguments of different kinds (UCS1, UCS2, UCS4).</li> <li><a class="reference external" href="https://bugs.python.org/issue23753">bpo-23753</a>: Python doesn’t support anymore platforms without stat() or fstat(), these functions are always required.</li> <li><a class="reference external" href="https://bugs.python.org/issue23681">bpo-23681</a>: The -b option now affects comparisons of bytes with int.</li> <li><a class="reference external" href="https://bugs.python.org/issue23632">bpo-23632</a>: Memoryviews now allow tuple indexing (including for multi-dimensional memoryviews).</li> <li><a class="reference external" href="https://bugs.python.org/issue23192">bpo-23192</a>: Fixed generator lambdas. Patch by Bruno Cauet.</li> <li><a class="reference external" href="https://bugs.python.org/issue23629">bpo-23629</a>: Fix the default __sizeof__ implementation for variable-sized objects.</li> </ul> </div> <div class="section" id="id233"> <h3>Library<a class="headerlink" href="#id233" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue14260">bpo-14260</a>: The groupindex attribute of regular expression pattern object now is non-modifiable mapping.</li> <li><a class="reference external" href="https://bugs.python.org/issue23792">bpo-23792</a>: Ignore KeyboardInterrupt when the pydoc pager is active. This mimics the behavior of the standard unix pagers, and prevents pipepager from shutting down while the pager itself is still running.</li> <li><a class="reference external" href="https://bugs.python.org/issue23775">bpo-23775</a>: pprint() of OrderedDict now outputs the same representation as repr().</li> <li><a class="reference external" href="https://bugs.python.org/issue23765">bpo-23765</a>: Removed IsBadStringPtr calls in ctypes</li> <li><a class="reference external" href="https://bugs.python.org/issue22364">bpo-22364</a>: Improved some re error messages using regex for hints.</li> <li><a class="reference external" href="https://bugs.python.org/issue23742">bpo-23742</a>: ntpath.expandvars() no longer loses unbalanced single quotes.</li> <li><a class="reference external" href="https://bugs.python.org/issue21717">bpo-21717</a>: The zipfile.ZipFile.open function now supports ‘x’ (exclusive creation) mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue21802">bpo-21802</a>: The reader in BufferedRWPair now is closed even when closing writer failed in BufferedRWPair.close().</li> <li><a class="reference external" href="https://bugs.python.org/issue23622">bpo-23622</a>: Unknown escapes in regular expressions that consist of <code class="docutils literal notranslate"><span class="pre">'\'</span></code> and ASCII letter now raise a deprecation warning and will be forbidden in Python 3.6.</li> <li><a class="reference external" href="https://bugs.python.org/issue23671">bpo-23671</a>: string.Template now allows specifying the “self” parameter as a keyword argument. string.Formatter now allows specifying the “self” and the “format_string” parameters as keyword arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue23502">bpo-23502</a>: The pprint module now supports mapping proxies.</li> <li><a class="reference external" href="https://bugs.python.org/issue17530">bpo-17530</a>: pprint now wraps long bytes objects and bytearrays.</li> <li><a class="reference external" href="https://bugs.python.org/issue22687">bpo-22687</a>: Fixed some corner cases in breaking words in tetxtwrap. Got rid of quadratic complexity in breaking long words.</li> <li><a class="reference external" href="https://bugs.python.org/issue4727">bpo-4727</a>: The copy module now uses pickle protocol 4 (PEP 3154) and supports copying of instances of classes whose __new__ method takes keyword-only arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue23491">bpo-23491</a>: Added a zipapp module to support creating executable zip file archives of Python code. Registered “.pyz” and “.pyzw” extensions on Windows for these archives (PEP 441).</li> <li><a class="reference external" href="https://bugs.python.org/issue23657">bpo-23657</a>: Avoid explicit checks for str in zipapp, adding support for pathlib.Path objects as arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue23688">bpo-23688</a>: Added support of arbitrary bytes-like objects and avoided unnecessary copying of memoryview in gzip.GzipFile.write(). Original patch by Wolfgang Maier.</li> <li><a class="reference external" href="https://bugs.python.org/issue23252">bpo-23252</a>: Added support for writing ZIP files to unseekable streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue23647">bpo-23647</a>: Increase imaplib’s MAXLINE to accommodate modern mailbox sizes.</li> <li><a class="reference external" href="https://bugs.python.org/issue23539">bpo-23539</a>: If body is None, http.client.HTTPConnection.request now sets Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web servers.</li> <li><a class="reference external" href="https://bugs.python.org/issue22351">bpo-22351</a>: The nntplib.NNTP constructor no longer leaves the connection and socket open until the garbage collector cleans them up. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23704">bpo-23704</a>: collections.deque() objects now support methods for index(), insert(), and copy(). This allows deques to be registered as a MutableSequence and it improves their substitutability for lists.</li> <li><a class="reference external" href="https://bugs.python.org/issue23715">bpo-23715</a>: <a class="reference internal" href="../library/signal.html#signal.sigwaitinfo" title="signal.sigwaitinfo"><code class="xref py py-func docutils literal notranslate"><span class="pre">signal.sigwaitinfo()</span></code></a> and <a class="reference internal" href="../library/signal.html#signal.sigtimedwait" title="signal.sigtimedwait"><code class="xref py py-func docutils literal notranslate"><span class="pre">signal.sigtimedwait()</span></code></a> are now retried when interrupted by a signal not in the <em>sigset</em> parameter, if the signal handler does not raise an exception. signal.sigtimedwait() recomputes the timeout with a monotonic clock when it is retried.</li> <li><a class="reference external" href="https://bugs.python.org/issue23001">bpo-23001</a>: Few functions in modules mmap, ossaudiodev, socket, ssl, and codecs, that accepted only read-only bytes-like object now accept writable bytes-like object too.</li> <li><a class="reference external" href="https://bugs.python.org/issue23646">bpo-23646</a>: If time.sleep() is interrupted by a signal, the sleep is now retried with the recomputed delay, except if the signal handler raises an exception (PEP 475).</li> <li><a class="reference external" href="https://bugs.python.org/issue23136">bpo-23136</a>: _strptime now uniformly handles all days in week 0, including Dec 30 of previous year. Based on patch by Jim Carroll.</li> <li><a class="reference external" href="https://bugs.python.org/issue23700">bpo-23700</a>: Iterator of NamedTemporaryFile now keeps a reference to NamedTemporaryFile instance. Patch by Bohuslav Kabrda.</li> <li><a class="reference external" href="https://bugs.python.org/issue22903">bpo-22903</a>: The fake test case created by unittest.loader when it fails importing a test module is now picklable.</li> <li><a class="reference external" href="https://bugs.python.org/issue22181">bpo-22181</a>: On Linux, os.urandom() now uses the new getrandom() syscall if available, syscall introduced in the Linux kernel 3.17. It is more reliable and more secure, because it avoids the need of a file descriptor and waits until the kernel has enough entropy.</li> <li><a class="reference external" href="https://bugs.python.org/issue2211">bpo-2211</a>: Updated the implementation of the http.cookies.Morsel class. Setting attributes key, value and coded_value directly now is deprecated. update() and setdefault() now transform and check keys. Comparing for equality now takes into account attributes key, value and coded_value. copy() now returns a Morsel, not a dict. repr() now contains all attributes. Optimized checking keys and quoting values. Added new tests. Original patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue18983">bpo-18983</a>: Allow selection of output units in timeit. Patch by Julian Gindi.</li> <li><a class="reference external" href="https://bugs.python.org/issue23631">bpo-23631</a>: Fix traceback.format_list when a traceback has been mutated.</li> <li><a class="reference external" href="https://bugs.python.org/issue23568">bpo-23568</a>: Add rdivmod support to MagicMock() objects. Patch by Håkan Lövdahl.</li> <li><a class="reference external" href="https://bugs.python.org/issue2052">bpo-2052</a>: Add charset parameter to HtmlDiff.make_file().</li> <li><a class="reference external" href="https://bugs.python.org/issue23668">bpo-23668</a>: Support os.truncate and os.ftruncate on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue23138">bpo-23138</a>: Fixed parsing cookies with absent keys or values in cookiejar. Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue23051">bpo-23051</a>: multiprocessing.Pool methods imap() and imap_unordered() now handle exceptions raised by an iterator. Patch by Alon Diamant and Davin Potts.</li> <li><a class="reference external" href="https://bugs.python.org/issue23581">bpo-23581</a>: Add matmul support to MagicMock. Patch by Håkan Lövdahl.</li> <li><a class="reference external" href="https://bugs.python.org/issue23566">bpo-23566</a>: enable(), register(), dump_traceback() and dump_traceback_later() functions of faulthandler now accept file descriptors. Patch by Wei Wu.</li> <li><a class="reference external" href="https://bugs.python.org/issue22928">bpo-22928</a>: Disabled HTTP header injections in http.client. Original patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue23615">bpo-23615</a>: Modules bz2, tarfile and tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver.</li> <li><a class="reference external" href="https://bugs.python.org/issue23605">bpo-23605</a>: os.walk() now calls os.scandir() instead of os.listdir(). The usage of os.scandir() reduces the number of calls to os.stat(). Initial patch written by Ben Hoyt.</li> </ul> </div> <div class="section" id="id234"> <h3>Build<a class="headerlink" href="#id234" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23585">bpo-23585</a>: make patchcheck will ensure the interpreter is built.</li> </ul> </div> <div class="section" id="id235"> <h3>Tests<a class="headerlink" href="#id235" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23583">bpo-23583</a>: Added tests for standard IO streams in IDLE.</li> <li><a class="reference external" href="https://bugs.python.org/issue22289">bpo-22289</a>: Prevent test_urllib2net failures due to ftp connection timeout.</li> </ul> </div> <div class="section" id="id236"> <h3>Tools/Demos<a class="headerlink" href="#id236" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22826">bpo-22826</a>: The result of open() in Tools/freeze/bkfile.py is now better compatible with regular files (in particular it now supports the context management protocol).</li> </ul> </div> </div> <div class="section" id="python-3-5-0-alpha-2"> <h2>Python 3.5.0 alpha 2<a class="headerlink" href="#python-3-5-0-alpha-2" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-03-09</em></p> <div class="section" id="id237"> <h3>Core and Builtins<a class="headerlink" href="#id237" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23571">bpo-23571</a>: PyObject_Call() and PyCFunction_Call() now raise a SystemError if a function returns a result and raises an exception. The SystemError is chained to the previous exception.</li> </ul> </div> <div class="section" id="id238"> <h3>Library<a class="headerlink" href="#id238" title="Permalink to this headline">¶</a></h3> <ul> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22524">bpo-22524</a>: New os.scandir() function, part of the PEP 471: “os.scandir() function – a better and faster directory iterator”. Patch written by Ben Hoyt.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23103">bpo-23103</a>: Reduced the memory consumption of IPv4Address and IPv6Address.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21793">bpo-21793</a>: BaseHTTPRequestHandler again logs response code as numeric, not as stringified enum. Patch by Demian Brecht.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23476">bpo-23476</a>: In the ssl module, enable OpenSSL’s X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when it is available.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23576">bpo-23576</a>: Avoid stalling in SSL reads when EOF has been reached in the SSL layer but the underlying connection hasn’t been closed.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23504">bpo-23504</a>: Added an __all__ to the types module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23563">bpo-23563</a>: Optimized utility functions in urllib.parse.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue7830">bpo-7830</a>: Flatten nested functools.partial.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue20204">bpo-20204</a>: Added the __module__ attribute to _tkinter classes.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19980">bpo-19980</a>: Improved help() for non-recognized strings. help(‘’) now shows the help on str. help(‘help’) now shows the help on help(). Original patch by Mark Lawrence.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23521">bpo-23521</a>: Corrected pure python implementation of timedelta division.</p> <p>Eliminated OverflowError from <code class="docutils literal notranslate"><span class="pre">timedelta</span> <span class="pre">*</span> <span class="pre">float</span></code> for some floats; Corrected rounding in timedelta true division.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21619">bpo-21619</a>: Popen objects no longer leave a zombie after exit in the with statement if the pipe was broken. Patch by Martin Panter.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22936">bpo-22936</a>: Make it possible to show local variables in tracebacks for both the traceback module and unittest.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue15955">bpo-15955</a>: Add an option to limit the output size in bz2.decompress(). Patch by Nikolaus Rath.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue6639">bpo-6639</a>: Module-level turtle functions no longer raise TclError after closing the window.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue814253">bpo-814253</a>: Group references and conditional group references now work in lookbehind assertions in regular expressions. (See also: <a class="reference external" href="https://bugs.python.org/issue9179">bpo-9179</a>)</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23215">bpo-23215</a>: Multibyte codecs with custom error handlers that ignores errors consumed too much memory and raised SystemError or MemoryError. Original patch by Aleksi Torhamo.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue5700">bpo-5700</a>: io.FileIO() called flush() after closing the file. flush() was not called in close() if closefd=False.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23374">bpo-23374</a>: Fixed pydoc failure with non-ASCII files when stdout encoding differs from file system encoding (e.g. on Mac OS).</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23481">bpo-23481</a>: Remove RC4 from the SSL module’s default cipher list.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21548">bpo-21548</a>: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty docstrings.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue22885">bpo-22885</a>: Fixed arbitrary code execution vulnerability in the dbm.dumb module. Original patch by Claudiu Popa.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23239">bpo-23239</a>: ssl.match_hostname() now supports matching of IP addresses.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23146">bpo-23146</a>: Fix mishandling of absolute Windows paths with forward slashes in pathlib.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23096">bpo-23096</a>: Pickle representation of floats with protocol 0 now is the same for both Python and C implementations.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19105">bpo-19105</a>: pprint now more efficiently uses free space at the right.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue14910">bpo-14910</a>: Add allow_abbrev parameter to argparse.ArgumentParser. Patch by Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue21717">bpo-21717</a>: tarfile.open() now supports ‘x’ (exclusive creation) mode.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23344">bpo-23344</a>: marshal.dumps() is now 20-25% faster on average.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue20416">bpo-20416</a>: marshal.dumps() with protocols 3 and 4 is now 40-50% faster on average.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23421">bpo-23421</a>: Fixed compression in tarfile CLI. Patch by wdv4758h.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23367">bpo-23367</a>: Fix possible overflows in the unicodedata module.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23361">bpo-23361</a>: Fix possible overflow in Windows subprocess creation code.</p> </li> <li><p class="first">logging.handlers.QueueListener now takes a respect_handler_level keyword argument which, if set to True, will pass messages to handlers taking handler levels into account.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue19705">bpo-19705</a>: turtledemo now has a visual sorting algorithm demo. Original patch from Jason Yeo.</p> </li> <li><p class="first"><a class="reference external" href="https://bugs.python.org/issue23801">bpo-23801</a>: Fix issue where cgi.FieldStorage did not always ignore the entire preamble to a multipart body.</p> </li> </ul> </div> <div class="section" id="id239"> <h3>Build<a class="headerlink" href="#id239" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23445">bpo-23445</a>: pydebug builds now use “gcc -Og” where possible, to make the resulting executable faster.</li> <li><a class="reference external" href="https://bugs.python.org/issue23686">bpo-23686</a>: Update OS X 10.5 installer build to use OpenSSL 1.0.2a.</li> </ul> </div> <div class="section" id="id240"> <h3>C API<a class="headerlink" href="#id240" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue20204">bpo-20204</a>: Deprecation warning is now raised for builtin types without the __module__ attribute.</li> </ul> </div> <div class="section" id="id241"> <h3>Windows<a class="headerlink" href="#id241" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23465">bpo-23465</a>: Implement PEP 486 - Make the Python Launcher aware of virtual environments. Patch by Paul Moore.</li> <li><a class="reference external" href="https://bugs.python.org/issue23437">bpo-23437</a>: Make user scripts directory versioned on Windows. Patch by Paul Moore.</li> </ul> </div> </div> <div class="section" id="python-3-5-0-alpha-1"> <h2>Python 3.5.0 alpha 1<a class="headerlink" href="#python-3-5-0-alpha-1" title="Permalink to this headline">¶</a></h2> <p><em>Release date: 2015-02-08</em></p> <div class="section" id="id242"> <h3>Core and Builtins<a class="headerlink" href="#id242" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23285">bpo-23285</a>: PEP 475 - EINTR handling.</li> <li><a class="reference external" href="https://bugs.python.org/issue22735">bpo-22735</a>: Fix many edge cases (including crashes) involving custom mro() implementations.</li> <li><a class="reference external" href="https://bugs.python.org/issue22896">bpo-22896</a>: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer() and PyObject_AsWriteBuffer().</li> <li><a class="reference external" href="https://bugs.python.org/issue21295">bpo-21295</a>: Revert some changes (<a class="reference external" href="https://bugs.python.org/issue16795">bpo-16795</a>) to AST line numbers and column offsets that constituted a regression.</li> <li><a class="reference external" href="https://bugs.python.org/issue22986">bpo-22986</a>: Allow changing an object’s __class__ between a dynamic type and static type in some cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue15859">bpo-15859</a>: PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and PyUnicode_EncodeCodePage() now raise an exception if the object is not a Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on platforms other than Windows. Patch written by Campbell Barton.</li> <li><a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a>: The default __ne__() now returns NotImplemented if __eq__() returned NotImplemented. Original patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23321">bpo-23321</a>: Fixed a crash in str.decode() when error handler returned replacement string longer than malformed input data.</li> <li><a class="reference external" href="https://bugs.python.org/issue22286">bpo-22286</a>: The “backslashreplace” error handlers now works with decoding and translating.</li> <li><a class="reference external" href="https://bugs.python.org/issue23253">bpo-23253</a>: Delay-load ShellExecute[AW] in os.startfile for reduced startup overhead on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue22038">bpo-22038</a>: pyatomic.h now uses stdatomic.h or GCC built-in functions for atomic memory access if available. Patch written by Vitor de Lima and Gustavo Temple.</li> <li><a class="reference external" href="https://bugs.python.org/issue20284">bpo-20284</a>: %-interpolation (aka printf) formatting added for bytes and bytearray.</li> <li><a class="reference external" href="https://bugs.python.org/issue23048">bpo-23048</a>: Fix jumping out of an infinite while loop in the pdb.</li> <li><a class="reference external" href="https://bugs.python.org/issue20335">bpo-20335</a>: bytes constructor now raises TypeError when encoding or errors is specified with non-string argument. Based on patch by Renaud Blanch.</li> <li><a class="reference external" href="https://bugs.python.org/issue22834">bpo-22834</a>: If the current working directory ends up being set to a non-existent directory then import will no longer raise FileNotFoundError.</li> <li><a class="reference external" href="https://bugs.python.org/issue22869">bpo-22869</a>: Move the interpreter startup & shutdown code to a new dedicated pylifecycle.c module</li> <li><a class="reference external" href="https://bugs.python.org/issue22847">bpo-22847</a>: Improve method cache efficiency.</li> <li><a class="reference external" href="https://bugs.python.org/issue22335">bpo-22335</a>: Fix crash when trying to enlarge a bytearray to 0x7fffffff bytes on a 32-bit platform.</li> <li><a class="reference external" href="https://bugs.python.org/issue22653">bpo-22653</a>: Fix an assertion failure in debug mode when doing a reentrant dict insertion in debug mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue22643">bpo-22643</a>: Fix integer overflow in Unicode case operations (upper, lower, title, swapcase, casefold).</li> <li><a class="reference external" href="https://bugs.python.org/issue17636">bpo-17636</a>: Circular imports involving relative imports are now supported.</li> <li><a class="reference external" href="https://bugs.python.org/issue22604">bpo-22604</a>: Fix assertion error in debug mode when dividing a complex number by (nan+0j).</li> <li><a class="reference external" href="https://bugs.python.org/issue21052">bpo-21052</a>: Do not raise ImportWarning when sys.path_hooks or sys.meta_path are set to None.</li> <li><a class="reference external" href="https://bugs.python.org/issue16518">bpo-16518</a>: Use ‘bytes-like object required’ in error messages that previously used the far more cryptic “‘x’ does not support the buffer protocol.</li> <li><a class="reference external" href="https://bugs.python.org/issue22470">bpo-22470</a>: Fixed integer overflow issues in “backslashreplace”, “xmlcharrefreplace”, and “surrogatepass” error handlers.</li> <li><a class="reference external" href="https://bugs.python.org/issue22540">bpo-22540</a>: speed up <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyObject_IsInstance</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyObject_IsSubclass</span></code> in the common case that the second argument has metaclass <a class="reference internal" href="../library/functions.html#type" title="type"><code class="xref py py-obj docutils literal notranslate"><span class="pre">type</span></code></a>.</li> <li><a class="reference external" href="https://bugs.python.org/issue18711">bpo-18711</a>: Add a new <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_FormatV</span></code> function, similar to <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_Format</span></code> but accepting a <code class="xref py py-obj docutils literal notranslate"><span class="pre">va_list</span></code> argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue22520">bpo-22520</a>: Fix overflow checking when generating the repr of a unicode object.</li> <li><a class="reference external" href="https://bugs.python.org/issue22519">bpo-22519</a>: Fix overflow checking in PyBytes_Repr.</li> <li><a class="reference external" href="https://bugs.python.org/issue22518">bpo-22518</a>: Fix integer overflow issues in latin-1 encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue16324">bpo-16324</a>: _charset parameter of MIMEText now also accepts email.charset.Charset instances. Initial patch by Claude Paroz.</li> <li><a class="reference external" href="https://bugs.python.org/issue1764286">bpo-1764286</a>: Fix inspect.getsource() to support decorated functions. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue18554">bpo-18554</a>: os.__all__ includes posix functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue21391">bpo-21391</a>: Use os.path.abspath in the shutil module.</li> <li><a class="reference external" href="https://bugs.python.org/issue11471">bpo-11471</a>: avoid generating a JUMP_FORWARD instruction at the end of an if-block if there is no else-clause. Original patch by Eugene Toder.</li> <li><a class="reference external" href="https://bugs.python.org/issue22215">bpo-22215</a>: Now ValueError is raised instead of TypeError when str or bytes argument contains not permitted null character or byte.</li> <li><a class="reference external" href="https://bugs.python.org/issue22258">bpo-22258</a>: Fix the internal function set_inheritable() on Illumos. This platform exposes the function <code class="docutils literal notranslate"><span class="pre">ioctl(FIOCLEX)</span></code>, but calling it fails with errno is ENOTTY: “Inappropriate ioctl for device”. set_inheritable() now falls back to the slower <code class="docutils literal notranslate"><span class="pre">fcntl()</span></code> (<code class="docutils literal notranslate"><span class="pre">F_GETFD</span></code> and then <code class="docutils literal notranslate"><span class="pre">F_SETFD</span></code>).</li> <li><a class="reference external" href="https://bugs.python.org/issue21389">bpo-21389</a>: Displaying the __qualname__ of the underlying function in the repr of a bound method.</li> <li><a class="reference external" href="https://bugs.python.org/issue22206">bpo-22206</a>: Using pthread, PyThread_create_key() now sets errno to ENOMEM and returns -1 (error) on integer overflow.</li> <li><a class="reference external" href="https://bugs.python.org/issue20184">bpo-20184</a>: Argument Clinic based signature introspection added for 30 of the builtin functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22116">bpo-22116</a>: C functions and methods (of the ‘builtin_function_or_method’ type) can now be weakref’ed. Patch by Wei Wu.</li> <li><a class="reference external" href="https://bugs.python.org/issue22077">bpo-22077</a>: Improve index error messages for bytearrays, bytes, lists, and tuples by adding ‘or slices’. Added ‘, not <typename>’ for bytearrays. Original patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue20179">bpo-20179</a>: Apply Argument Clinic to bytes and bytearray. Patch by Tal Einat.</li> <li><a class="reference external" href="https://bugs.python.org/issue22082">bpo-22082</a>: Clear interned strings in slotdefs.</li> <li>Upgrade Unicode database to Unicode 7.0.0.</li> <li><a class="reference external" href="https://bugs.python.org/issue21897">bpo-21897</a>: Fix a crash with the f_locals attribute with closure variables when frame.clear() has been called.</li> <li><a class="reference external" href="https://bugs.python.org/issue21205">bpo-21205</a>: Add a new <code class="docutils literal notranslate"><span class="pre">__qualname__</span></code> attribute to generator, the qualified name, and use it in the representation of a generator (<code class="docutils literal notranslate"><span class="pre">repr(gen)</span></code>). The default name of the generator (<code class="docutils literal notranslate"><span class="pre">__name__</span></code> attribute) is now get from the function instead of the code. Use <code class="docutils literal notranslate"><span class="pre">gen.gi_code.co_name</span></code> to get the name of the code.</li> <li><a class="reference external" href="https://bugs.python.org/issue21669">bpo-21669</a>: With the aid of heuristics in SyntaxError.__init__, the parser now attempts to generate more meaningful (or at least more search engine friendly) error messages when “exec” and “print” are used as statements.</li> <li><a class="reference external" href="https://bugs.python.org/issue21642">bpo-21642</a>: In the conditional if-else expression, allow an integer written with no space between itself and the <code class="docutils literal notranslate"><span class="pre">else</span></code> keyword (e.g. <code class="docutils literal notranslate"><span class="pre">True</span> <span class="pre">if</span> <span class="pre">42else</span> <span class="pre">False</span></code>) to be valid syntax.</li> <li><a class="reference external" href="https://bugs.python.org/issue21523">bpo-21523</a>: Fix over-pessimistic computation of the stack effect of some opcodes in the compiler. This also fixes a quadratic compilation time issue noticeable when compiling code with a large number of “and” and “or” operators.</li> <li><a class="reference external" href="https://bugs.python.org/issue21418">bpo-21418</a>: Fix a crash in the builtin function super() when called without argument and without current frame (ex: embedded Python).</li> <li><a class="reference external" href="https://bugs.python.org/issue21425">bpo-21425</a>: Fix flushing of standard streams in the interactive interpreter.</li> <li><a class="reference external" href="https://bugs.python.org/issue21435">bpo-21435</a>: In rare cases, when running finalizers on objects in cyclic trash a bad pointer dereference could occur due to a subtle flaw in internal iteration logic.</li> <li><a class="reference external" href="https://bugs.python.org/issue21377">bpo-21377</a>: PyBytes_Concat() now tries to concatenate in-place when the first argument has a reference count of 1. Patch by Nikolaus Rath.</li> <li><a class="reference external" href="https://bugs.python.org/issue20355">bpo-20355</a>: -W command line options now have higher priority than the PYTHONWARNINGS environment variable. Patch by Arfrever.</li> <li><a class="reference external" href="https://bugs.python.org/issue21274">bpo-21274</a>: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.</li> <li><a class="reference external" href="https://bugs.python.org/issue20904">bpo-20904</a>: Support setting FPU precision on m68k.</li> <li><a class="reference external" href="https://bugs.python.org/issue21209">bpo-21209</a>: Fix sending tuples to custom generator objects with the yield from syntax.</li> <li><a class="reference external" href="https://bugs.python.org/issue21193">bpo-21193</a>: pow(a, b, c) now raises ValueError rather than TypeError when b is negative. Patch by Josh Rosenberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue21176">bpo-21176</a>: PEP 465: Add the ‘@’ operator for matrix multiplication.</li> <li><a class="reference external" href="https://bugs.python.org/issue21134">bpo-21134</a>: Fix segfault when str is called on an uninitialized UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.</li> <li><a class="reference external" href="https://bugs.python.org/issue19537">bpo-19537</a>: Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas Schwab.</li> <li><a class="reference external" href="https://bugs.python.org/issue20929">bpo-20929</a>: Add a type cast to avoid shifting a negative number.</li> <li><a class="reference external" href="https://bugs.python.org/issue20731">bpo-20731</a>: Properly position in source code files even if they are opened in text mode. Patch by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue20637">bpo-20637</a>: Key-sharing now also works for instance dictionaries of subclasses. Patch by Peter Ingebretson.</li> <li><a class="reference external" href="https://bugs.python.org/issue8297">bpo-8297</a>: Attributes missing from modules now include the module name in the error text. Original patch by ysj.ray.</li> <li><a class="reference external" href="https://bugs.python.org/issue19995">bpo-19995</a>: %c, %o, %x, and %X now raise TypeError on non-integer input.</li> <li><a class="reference external" href="https://bugs.python.org/issue19655">bpo-19655</a>: The ASDL parser - used by the build process to generate code for managing the Python AST in C - was rewritten. The new parser is self contained and does not require to carry long the spark.py parser-generator library; spark.py was removed from the source base.</li> <li><a class="reference external" href="https://bugs.python.org/issue12546">bpo-12546</a>: Allow <code class="docutils literal notranslate"><span class="pre">\x00</span></code> to be used as a fill character when using str, int, float, and complex __format__ methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue20480">bpo-20480</a>: Add ipaddress.reverse_pointer. Patch by Leon Weber.</li> <li><a class="reference external" href="https://bugs.python.org/issue13598">bpo-13598</a>: Modify string.Formatter to support auto-numbering of replacement fields. It now matches the behavior of str.format() in this regard. Patches by Phil Elson and Ramchandra Apte.</li> <li><a class="reference external" href="https://bugs.python.org/issue8931">bpo-8931</a>: Make alternate formatting (‘#’) for type ‘c’ raise an exception. In versions prior to 3.5, ‘#’ with ‘c’ had no effect. Now specifying it is an error. Patch by Torsten Landschoff.</li> <li><a class="reference external" href="https://bugs.python.org/issue23165">bpo-23165</a>: Perform overflow checks before allocating memory in the _Py_char2wchar function.</li> </ul> </div> <div class="section" id="id243"> <h3>Library<a class="headerlink" href="#id243" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23399">bpo-23399</a>: pyvenv creates relative symlinks where possible.</li> <li><a class="reference external" href="https://bugs.python.org/issue20289">bpo-20289</a>: cgi.FieldStorage() now supports the context management protocol.</li> <li><a class="reference external" href="https://bugs.python.org/issue13128">bpo-13128</a>: Print response headers for CONNECT requests when debuglevel > 0. Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized io.BytesIO to make less allocations and copyings.</li> <li><a class="reference external" href="https://bugs.python.org/issue22818">bpo-22818</a>: Splitting on a pattern that could match an empty string now raises a warning. Patterns that can only match empty strings are now rejected.</li> <li><a class="reference external" href="https://bugs.python.org/issue23099">bpo-23099</a>: Closing io.BytesIO with exported buffer is rejected now to prevent corrupting exported buffer.</li> <li><a class="reference external" href="https://bugs.python.org/issue23326">bpo-23326</a>: Removed __ne__ implementations. Since fixing default __ne__ implementation in <a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a> they are redundant.</li> <li><a class="reference external" href="https://bugs.python.org/issue23363">bpo-23363</a>: Fix possible overflow in itertools.permutations.</li> <li><a class="reference external" href="https://bugs.python.org/issue23364">bpo-23364</a>: Fix possible overflow in itertools.product.</li> <li><a class="reference external" href="https://bugs.python.org/issue23366">bpo-23366</a>: Fixed possible integer overflow in itertools.combinations.</li> <li><a class="reference external" href="https://bugs.python.org/issue23369">bpo-23369</a>: Fixed possible integer overflow in _json.encode_basestring_ascii.</li> <li><a class="reference external" href="https://bugs.python.org/issue23353">bpo-23353</a>: Fix the exception handling of generators in PyEval_EvalFrameEx(). At entry, save or swap the exception state even if PyEval_EvalFrameEx() is called with throwflag=0. At exit, the exception state is now always restored or swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou.</li> <li><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: Restored support of writing ZIP files to tellable but non-seekable streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: Writing to ZipFile and reading multiple ZipExtFiles is threadsafe now.</li> <li><a class="reference external" href="https://bugs.python.org/issue19361">bpo-19361</a>: JSON decoder now raises JSONDecodeError instead of ValueError.</li> <li><a class="reference external" href="https://bugs.python.org/issue18518">bpo-18518</a>: timeit now rejects statements which can’t be compiled outside a function or a loop (e.g. “return” or “break”).</li> <li><a class="reference external" href="https://bugs.python.org/issue23094">bpo-23094</a>: Fixed readline with frames in Python implementation of pickle.</li> <li><a class="reference external" href="https://bugs.python.org/issue23268">bpo-23268</a>: Fixed bugs in the comparison of ipaddress classes.</li> <li><a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a>: Removed incorrect implementations of __ne__() which didn’t returned NotImplemented if __eq__() returned NotImplemented. The default __ne__() now works correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue19996">bpo-19996</a>: <code class="xref py py-class docutils literal notranslate"><span class="pre">email.feedparser.FeedParser</span></code> now handles (malformed) headers with no key rather than assuming the body has started.</li> <li><a class="reference external" href="https://bugs.python.org/issue20188">bpo-20188</a>: Support Application-Layer Protocol Negotiation (ALPN) in the ssl module.</li> <li><a class="reference external" href="https://bugs.python.org/issue23133">bpo-23133</a>: Pickling of ipaddress objects now produces more compact and portable representation.</li> <li><a class="reference external" href="https://bugs.python.org/issue23248">bpo-23248</a>: Update ssl error codes from latest OpenSSL git master.</li> <li><a class="reference external" href="https://bugs.python.org/issue23266">bpo-23266</a>: Much faster implementation of ipaddress.collapse_addresses() when there are many non-consecutive addresses.</li> <li><a class="reference external" href="https://bugs.python.org/issue23098">bpo-23098</a>: 64-bit dev_t is now supported in the os module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21817">bpo-21817</a>: When an exception is raised in a task submitted to a ProcessPoolExecutor, the remote traceback is now displayed in the parent process. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue15955">bpo-15955</a>: Add an option to limit output size when decompressing LZMA data. Patch by Nikolaus Rath and Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23250">bpo-23250</a>: In the http.cookies module, capitalize “HttpOnly” and “Secure” as they are written in the standard.</li> <li><a class="reference external" href="https://bugs.python.org/issue23063">bpo-23063</a>: In the distutils’ check command, fix parsing of reST with code or code-block directives.</li> <li><a class="reference external" href="https://bugs.python.org/issue23209">bpo-23209</a>: selectors.BaseSelector.get_key() now raises a RuntimeError if the selector is closed. And selectors.BaseSelector.close() now clears its internal reference to the selector mapping to break a reference cycle. Initial patch written by Martin Richard. (See also: <a class="reference external" href="https://bugs.python.org/issue23225">bpo-23225</a>)</li> <li><a class="reference external" href="https://bugs.python.org/issue17911">bpo-17911</a>: Provide a way to seed the linecache for a PEP-302 module without actually loading the code.</li> <li><a class="reference external" href="https://bugs.python.org/issue17911">bpo-17911</a>: Provide a new object API for traceback, including the ability to not lookup lines at all until the traceback is actually rendered, without any trace of the original objects being kept alive.</li> <li><a class="reference external" href="https://bugs.python.org/issue19777">bpo-19777</a>: Provide a home() classmethod on Path objects. Contributed by Victor Salgado and Mayank Tripathi.</li> <li><a class="reference external" href="https://bugs.python.org/issue23206">bpo-23206</a>: Make <code class="docutils literal notranslate"><span class="pre">json.dumps(...,</span> <span class="pre">ensure_ascii=False)</span></code> as fast as the default case of <code class="docutils literal notranslate"><span class="pre">ensure_ascii=True</span></code>. Patch by Naoki Inada.</li> <li><a class="reference external" href="https://bugs.python.org/issue23185">bpo-23185</a>: Add math.inf and math.nan constants.</li> <li><a class="reference external" href="https://bugs.python.org/issue23186">bpo-23186</a>: Add ssl.SSLObject.shared_ciphers() and ssl.SSLSocket.shared_ciphers() to fetch the client’s list ciphers sent at handshake.</li> <li><a class="reference external" href="https://bugs.python.org/issue23143">bpo-23143</a>: Remove compatibility with OpenSSLs older than 0.9.8.</li> <li><a class="reference external" href="https://bugs.python.org/issue23132">bpo-23132</a>: Improve performance and introspection support of comparison methods created by functool.total_ordering.</li> <li><a class="reference external" href="https://bugs.python.org/issue19776">bpo-19776</a>: Add an expanduser() method on Path objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue23112">bpo-23112</a>: Fix SimpleHTTPServer to correctly carry the query string and fragment when it redirects to add a trailing slash.</li> <li><a class="reference external" href="https://bugs.python.org/issue21793">bpo-21793</a>: Added http.HTTPStatus enums (i.e. HTTPStatus.OK, HTTPStatus.NOT_FOUND). Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue23093">bpo-23093</a>: In the io, module allow more operations to work on detached streams.</li> <li><a class="reference external" href="https://bugs.python.org/issue23111">bpo-23111</a>: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol version.</li> <li><a class="reference external" href="https://bugs.python.org/issue22585">bpo-22585</a>: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), instead of reading /dev/urandom, to get pseudo-random bytes.</li> <li><a class="reference external" href="https://bugs.python.org/issue19104">bpo-19104</a>: pprint now produces evaluable output for wrapped strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue23071">bpo-23071</a>: Added missing names to codecs.__all__. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22783">bpo-22783</a>: Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX opcode if possible.</li> <li><a class="reference external" href="https://bugs.python.org/issue15513">bpo-15513</a>: Added a __sizeof__ implementation for pickle classes.</li> <li><a class="reference external" href="https://bugs.python.org/issue19858">bpo-19858</a>: pickletools.optimize() now aware of the MEMOIZE opcode, can produce more compact result and no longer produces invalid output if input data contains MEMOIZE opcodes together with PUT or BINPUT opcodes.</li> <li><a class="reference external" href="https://bugs.python.org/issue22095">bpo-22095</a>: Fixed HTTPConnection.set_tunnel with default port. The port value in the host header was set to “None”. Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue23016">bpo-23016</a>: A warning no longer produces an AttributeError when the program is run with pythonw.exe.</li> <li><a class="reference external" href="https://bugs.python.org/issue21775">bpo-21775</a>: shutil.copytree(): fix crash when copying to VFAT. An exception handler assumed that OSError objects always have a ‘winerror’ attribute. That is not the case, so the exception handler itself raised AttributeError when run on Linux (and, presumably, any other non-Windows OS). Patch by Greg Ward.</li> <li><a class="reference external" href="https://bugs.python.org/issue1218234">bpo-1218234</a>: Fix inspect.getsource() to load updated source of reloaded module. Initial patch by Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue21740">bpo-21740</a>: Support wrapped callables in doctest. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue23009">bpo-23009</a>: Make sure selectors.EpollSelecrtor.select() works when no FD is registered.</li> <li><a class="reference external" href="https://bugs.python.org/issue22959">bpo-22959</a>: In the constructor of http.client.HTTPSConnection, prefer the context’s check_hostname attribute over the <em>check_hostname</em> parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22696">bpo-22696</a>: Add function <a class="reference internal" href="../library/sys.html#sys.is_finalizing" title="sys.is_finalizing"><code class="xref py py-func docutils literal notranslate"><span class="pre">sys.is_finalizing()</span></code></a> to know about interpreter shutdown.</li> <li><a class="reference external" href="https://bugs.python.org/issue16043">bpo-16043</a>: Add a default limit for the amount of data xmlrpclib.gzip_decode will return. This resolves CVE-2013-1753.</li> <li><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: ZipFile.open() no longer reopen the underlying file. Objects returned by ZipFile.open() can now operate independently of the ZipFile even if the ZipFile was created by passing in a file-like object as the first argument to the constructor.</li> <li><a class="reference external" href="https://bugs.python.org/issue22966">bpo-22966</a>: Fix __pycache__ pyc file name clobber when pyc_compile is asked to compile a source file containing multiple dots in the source file name.</li> <li><a class="reference external" href="https://bugs.python.org/issue21971">bpo-21971</a>: Update turtledemo doc and add module to the index.</li> <li><a class="reference external" href="https://bugs.python.org/issue21032">bpo-21032</a>: Fixed socket leak if HTTPConnection.getresponse() fails. Original patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22407">bpo-22407</a>: Deprecated the use of re.LOCALE flag with str patterns or re.ASCII. It was newer worked.</li> <li><a class="reference external" href="https://bugs.python.org/issue22902">bpo-22902</a>: The “ip” command is now used on Linux to determine MAC address in uuid.getnode(). Pach by Bruno Cauet.</li> <li><a class="reference external" href="https://bugs.python.org/issue22960">bpo-22960</a>: Add a context argument to xmlrpclib.ServerProxy constructor.</li> <li><a class="reference external" href="https://bugs.python.org/issue22389">bpo-22389</a>: Add contextlib.redirect_stderr().</li> <li><a class="reference external" href="https://bugs.python.org/issue21356">bpo-21356</a>: Make ssl.RAND_egd() optional to support LibreSSL. The availability of the function is checked during the compilation. Patch written by Bernard Spil.</li> <li><a class="reference external" href="https://bugs.python.org/issue22915">bpo-22915</a>: SAX parser now supports files opened with file descriptor or bytes path.</li> <li><a class="reference external" href="https://bugs.python.org/issue22609">bpo-22609</a>: Constructors and update methods of mapping classes in the collections module now accept the self keyword argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue22940">bpo-22940</a>: Add readline.append_history_file.</li> <li><a class="reference external" href="https://bugs.python.org/issue19676">bpo-19676</a>: Added the “namereplace” error handler.</li> <li><a class="reference external" href="https://bugs.python.org/issue22788">bpo-22788</a>: Add <em>context</em> parameter to logging.handlers.HTTPHandler.</li> <li><a class="reference external" href="https://bugs.python.org/issue22921">bpo-22921</a>: Allow SSLContext to take the <em>hostname</em> parameter even if OpenSSL doesn’t support SNI.</li> <li><a class="reference external" href="https://bugs.python.org/issue22894">bpo-22894</a>: TestCase.subTest() would cause the test suite to be stopped when in failfast mode, even in the absence of failures.</li> <li><a class="reference external" href="https://bugs.python.org/issue22796">bpo-22796</a>: HTTP cookie parsing is now stricter, in order to protect against potential injection attacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue22370">bpo-22370</a>: Windows detection in pathlib is now more robust.</li> <li><a class="reference external" href="https://bugs.python.org/issue22841">bpo-22841</a>: Reject coroutines in asyncio add_signal_handler(). Patch by Ludovic.Gasc.</li> <li><a class="reference external" href="https://bugs.python.org/issue19494">bpo-19494</a>: Added urllib.request.HTTPBasicPriorAuthHandler. Patch by Matej Cepl.</li> <li><a class="reference external" href="https://bugs.python.org/issue22578">bpo-22578</a>: Added attributes to the re.error class.</li> <li><a class="reference external" href="https://bugs.python.org/issue22849">bpo-22849</a>: Fix possible double free in the io.TextIOWrapper constructor.</li> <li><a class="reference external" href="https://bugs.python.org/issue12728">bpo-12728</a>: Different Unicode characters having the same uppercase but different lowercase are now matched in case-insensitive regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22821">bpo-22821</a>: Fixed fcntl() with integer argument on 64-bit big-endian platforms.</li> <li><a class="reference external" href="https://bugs.python.org/issue21650">bpo-21650</a>: Add an <code class="xref py py-obj docutils literal notranslate"><span class="pre">--sort-keys</span></code> option to json.tool CLI.</li> <li><a class="reference external" href="https://bugs.python.org/issue22824">bpo-22824</a>: Updated reprlib output format for sets to use set literals. Patch contributed by Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue22824">bpo-22824</a>: Updated reprlib output format for arrays to display empty arrays without an unnecessary empty list. Suggested by Serhiy Storchaka.</li> <li><a class="reference external" href="https://bugs.python.org/issue22406">bpo-22406</a>: Fixed the uu_codec codec incorrectly ported to 3.x. Based on patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue17293">bpo-17293</a>: uuid.getnode() now determines MAC address on AIX using netstat. Based on patch by Aivars Kalvāns.</li> <li><a class="reference external" href="https://bugs.python.org/issue22769">bpo-22769</a>: Fixed ttk.Treeview.tag_has() when called without arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue22417">bpo-22417</a>: Verify certificates by default in httplib (PEP 476).</li> <li><a class="reference external" href="https://bugs.python.org/issue22775">bpo-22775</a>: Fixed unpickling of http.cookies.SimpleCookie with protocol 2 and above. Patch by Tim Graham.</li> <li><a class="reference external" href="https://bugs.python.org/issue22776">bpo-22776</a>: Brought excluded code into the scope of a try block in SysLogHandler.emit().</li> <li><a class="reference external" href="https://bugs.python.org/issue22665">bpo-22665</a>: Add missing get_terminal_size and SameFileError to shutil.__all__.</li> <li><a class="reference external" href="https://bugs.python.org/issue6623">bpo-6623</a>: Remove deprecated Netrc class in the ftplib module. Patch by Matt Chaput.</li> <li><a class="reference external" href="https://bugs.python.org/issue17381">bpo-17381</a>: Fixed handling of case-insensitive ranges in regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22410">bpo-22410</a>: Module level functions in the re module now cache compiled locale-dependent regular expressions taking into account the locale.</li> <li><a class="reference external" href="https://bugs.python.org/issue22759">bpo-22759</a>: Query methods on pathlib.Path() (exists(), is_dir(), etc.) now return False when the underlying stat call raises NotADirectoryError.</li> <li><a class="reference external" href="https://bugs.python.org/issue8876">bpo-8876</a>: distutils now falls back to copying files when hard linking doesn’t work. This allows use with special filesystems such as VirtualBox shared folders.</li> <li><a class="reference external" href="https://bugs.python.org/issue22217">bpo-22217</a>: Implemented reprs of classes in the zipfile module.</li> <li><a class="reference external" href="https://bugs.python.org/issue22457">bpo-22457</a>: Honour load_tests in the start_dir of discovery.</li> <li><a class="reference external" href="https://bugs.python.org/issue18216">bpo-18216</a>: gettext now raises an error when a .mo file has an unsupported major version number. Patch by Aaron Hill.</li> <li><a class="reference external" href="https://bugs.python.org/issue13918">bpo-13918</a>: Provide a locale.delocalize() function which can remove locale-specific number formatting from a string representing a number, without then converting it to a specific type. Patch by Cédric Krier.</li> <li><a class="reference external" href="https://bugs.python.org/issue22676">bpo-22676</a>: Make the pickling of global objects which don’t have a __module__ attribute less slow.</li> <li><a class="reference external" href="https://bugs.python.org/issue18853">bpo-18853</a>: Fixed ResourceWarning in shlex.__nain__.</li> <li><a class="reference external" href="https://bugs.python.org/issue9351">bpo-9351</a>: Defaults set with set_defaults on an argparse subparser are no longer ignored when also set on the parent parser.</li> <li><a class="reference external" href="https://bugs.python.org/issue7559">bpo-7559</a>: unittest test loading ImportErrors are reported as import errors with their import exception rather than as attribute errors after the import has already failed.</li> <li><a class="reference external" href="https://bugs.python.org/issue19746">bpo-19746</a>: Make it possible to examine the errors from unittest discovery without executing the test suite. The new <code class="xref py py-obj docutils literal notranslate"><span class="pre">errors</span></code> attribute on TestLoader exposes these non-fatal errors encountered during discovery.</li> <li><a class="reference external" href="https://bugs.python.org/issue21991">bpo-21991</a>: Make email.headerregistry’s header ‘params’ attributes be read-only (MappingProxyType). Previously the dictionary was modifiable but a new one was created on each access of the attribute.</li> <li><a class="reference external" href="https://bugs.python.org/issue22638">bpo-22638</a>: SSLv3 is now disabled throughout the standard library. It can still be enabled by instantiating a SSLContext manually.</li> <li><a class="reference external" href="https://bugs.python.org/issue22641">bpo-22641</a>: In asyncio, the default SSL context for client connections is now created using ssl.create_default_context(), for stronger security.</li> <li><a class="reference external" href="https://bugs.python.org/issue17401">bpo-17401</a>: Include closefd in io.FileIO repr.</li> <li><a class="reference external" href="https://bugs.python.org/issue21338">bpo-21338</a>: Add silent mode for compileall. quiet parameters of compile_{dir, file, path} functions now have a multilevel value. Also, -q option of the CLI now have a multilevel value. Patch by Thomas Kluyver.</li> <li><a class="reference external" href="https://bugs.python.org/issue20152">bpo-20152</a>: Convert the array and cmath modules to Argument Clinic.</li> <li><a class="reference external" href="https://bugs.python.org/issue18643">bpo-18643</a>: Add socket.socketpair() on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue22435">bpo-22435</a>: Fix a file descriptor leak when socketserver bind fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue13096">bpo-13096</a>: Fixed segfault in CTypes POINTER handling of large values.</li> <li><a class="reference external" href="https://bugs.python.org/issue11694">bpo-11694</a>: Raise ConversionError in xdrlib as documented. Patch by Filip Gruszczyński and Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue19380">bpo-19380</a>: Optimized parsing of regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue1519638">bpo-1519638</a>: Now unmatched groups are replaced with empty strings in re.sub() and re.subn().</li> <li><a class="reference external" href="https://bugs.python.org/issue18615">bpo-18615</a>: sndhdr.what/whathdr now return a namedtuple.</li> <li><a class="reference external" href="https://bugs.python.org/issue22462">bpo-22462</a>: Fix pyexpat’s creation of a dummy frame to make it appear in exception tracebacks.</li> <li><a class="reference external" href="https://bugs.python.org/issue21965">bpo-21965</a>: Add support for in-memory SSL to the ssl module. Patch by Geert Jansen.</li> <li><a class="reference external" href="https://bugs.python.org/issue21173">bpo-21173</a>: Fix len() on a WeakKeyDictionary when .clear() was called with an iterator alive.</li> <li><a class="reference external" href="https://bugs.python.org/issue11866">bpo-11866</a>: Eliminated race condition in the computation of names for new threads.</li> <li><a class="reference external" href="https://bugs.python.org/issue21905">bpo-21905</a>: Avoid RuntimeError in pickle.whichmodule() when sys.modules is mutated while iterating. Patch by Olivier Grisel.</li> <li><a class="reference external" href="https://bugs.python.org/issue11271">bpo-11271</a>: concurrent.futures.Executor.map() now takes a <em>chunksize</em> argument to allow batching of tasks in child processes and improve performance of ProcessPoolExecutor. Patch by Dan O’Reilly.</li> <li><a class="reference external" href="https://bugs.python.org/issue21883">bpo-21883</a>: os.path.join() and os.path.relpath() now raise a TypeError with more helpful error message for unsupported or mismatched types of arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue22219">bpo-22219</a>: The zipfile module CLI now adds entries for directories (including empty directories) in ZIP file.</li> <li><a class="reference external" href="https://bugs.python.org/issue22449">bpo-22449</a>: In the ssl.SSLContext.load_default_certs, consult the environmental variables SSL_CERT_DIR and SSL_CERT_FILE on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue22508">bpo-22508</a>: The email.__version__ variable has been removed; the email code is no longer shipped separately from the stdlib, and __version__ hasn’t been updated in several releases.</li> <li><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: Added non derived UTF-8 aliases to locale aliases table.</li> <li><a class="reference external" href="https://bugs.python.org/issue20079">bpo-20079</a>: Added locales supported in glibc 2.18 to locale alias table.</li> <li><a class="reference external" href="https://bugs.python.org/issue20218">bpo-20218</a>: Added convenience methods read_text/write_text and read_bytes/ write_bytes to pathlib.Path objects.</li> <li><a class="reference external" href="https://bugs.python.org/issue22396">bpo-22396</a>: On 32-bit AIX platform, don’t expose os.posix_fadvise() nor os.posix_fallocate() because their prototypes in system headers are wrong.</li> <li><a class="reference external" href="https://bugs.python.org/issue22517">bpo-22517</a>: When an io.BufferedRWPair object is deallocated, clear its weakrefs.</li> <li><a class="reference external" href="https://bugs.python.org/issue22437">bpo-22437</a>: Number of capturing groups in regular expression is no longer limited by 100.</li> <li><a class="reference external" href="https://bugs.python.org/issue17442">bpo-17442</a>: InteractiveInterpreter now displays the full chained traceback in its showtraceback method, to match the built in interactive interpreter.</li> <li><a class="reference external" href="https://bugs.python.org/issue23392">bpo-23392</a>: Added tests for marshal C API that works with FILE*.</li> <li><a class="reference external" href="https://bugs.python.org/issue10510">bpo-10510</a>: distutils register and upload methods now use HTML standards compliant CRLF line endings.</li> <li><a class="reference external" href="https://bugs.python.org/issue9850">bpo-9850</a>: Fixed macpath.join() for empty first component. Patch by Oleg Oshmyan.</li> <li><a class="reference external" href="https://bugs.python.org/issue5309">bpo-5309</a>: distutils’ build and build_ext commands now accept a <code class="docutils literal notranslate"><span class="pre">-j</span></code> option to enable parallel building of extension modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue22448">bpo-22448</a>: Improve canceled timer handles cleanup to prevent unbound memory usage. Patch by Joshua Moore-Oliva.</li> <li><a class="reference external" href="https://bugs.python.org/issue22427">bpo-22427</a>: TemporaryDirectory no longer attempts to clean up twice when used in the with statement in generator.</li> <li><a class="reference external" href="https://bugs.python.org/issue22362">bpo-22362</a>: Forbidden ambiguous octal escapes out of range 0-0o377 in regular expressions.</li> <li><a class="reference external" href="https://bugs.python.org/issue20912">bpo-20912</a>: Now directories added to ZIP file have correct Unix and MS-DOS directory attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue21866">bpo-21866</a>: ZipFile.close() no longer writes ZIP64 central directory records if allowZip64 is false.</li> <li><a class="reference external" href="https://bugs.python.org/issue22278">bpo-22278</a>: Fix urljoin problem with relative urls, a regression observed after changes to issue22118 were submitted.</li> <li><a class="reference external" href="https://bugs.python.org/issue22415">bpo-22415</a>: Fixed debugging output of the GROUPREF_EXISTS opcode in the re module. Removed trailing spaces in debugging output.</li> <li><a class="reference external" href="https://bugs.python.org/issue22423">bpo-22423</a>: Unhandled exception in thread no longer causes unhandled AttributeError when sys.stderr is None.</li> <li><a class="reference external" href="https://bugs.python.org/issue21332">bpo-21332</a>: Ensure that <code class="docutils literal notranslate"><span class="pre">bufsize=1</span></code> in subprocess.Popen() selects line buffering, rather than block buffering. Patch by Akira Li.</li> <li><a class="reference external" href="https://bugs.python.org/issue21091">bpo-21091</a>: Fix API bug: email.message.EmailMessage.is_attachment is now a method.</li> <li><a class="reference external" href="https://bugs.python.org/issue21079">bpo-21079</a>: Fix email.message.EmailMessage.is_attachment to return the correct result when the header has parameters as well as a value.</li> <li><a class="reference external" href="https://bugs.python.org/issue22247">bpo-22247</a>: Add NNTPError to nntplib.__all__.</li> <li><a class="reference external" href="https://bugs.python.org/issue22366">bpo-22366</a>: urllib.request.urlopen will accept a context object (SSLContext) as an argument which will then be used for HTTPS connection. Patch by Alex Gaynor.</li> <li><a class="reference external" href="https://bugs.python.org/issue4180">bpo-4180</a>: The warnings registries are now reset when the filters are modified.</li> <li><a class="reference external" href="https://bugs.python.org/issue22419">bpo-22419</a>: Limit the length of incoming HTTP request in wsgiref server to 65536 bytes and send a 414 error code for higher lengths. Patch contributed by Devin Cook.</li> <li>Lax cookie parsing in http.cookies could be a security issue when combined with non-standard cookie handling in some Web browsers. Reported by Sergey Bobrov.</li> <li><a class="reference external" href="https://bugs.python.org/issue20537">bpo-20537</a>: logging methods now accept an exception instance as well as a Boolean value or exception tuple. Thanks to Yury Selivanov for the patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue22384">bpo-22384</a>: An exception in Tkinter callback no longer crashes the program when it is run with pythonw.exe.</li> <li><a class="reference external" href="https://bugs.python.org/issue22168">bpo-22168</a>: Prevent turtle AttributeError with non-default Canvas on OS X.</li> <li><a class="reference external" href="https://bugs.python.org/issue21147">bpo-21147</a>: sqlite3 now raises an exception if the request contains a null character instead of truncating it. Based on patch by Victor Stinner.</li> <li><a class="reference external" href="https://bugs.python.org/issue13968">bpo-13968</a>: The glob module now supports recursive search in subdirectories using the <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern.</li> <li><a class="reference external" href="https://bugs.python.org/issue21951">bpo-21951</a>: Fixed a crash in Tkinter on AIX when called Tcl command with empty string or tuple argument.</li> <li><a class="reference external" href="https://bugs.python.org/issue21951">bpo-21951</a>: Tkinter now most likely raises MemoryError instead of crash if the memory allocation fails.</li> <li><a class="reference external" href="https://bugs.python.org/issue22338">bpo-22338</a>: Fix a crash in the json module on memory allocation failure.</li> <li><a class="reference external" href="https://bugs.python.org/issue12410">bpo-12410</a>: imaplib.IMAP4 now supports the context management protocol. Original patch by Tarek Ziadé.</li> <li><a class="reference external" href="https://bugs.python.org/issue21270">bpo-21270</a>: We now override tuple methods in mock.call objects so that they can be used as normal call attributes.</li> <li><a class="reference external" href="https://bugs.python.org/issue16662">bpo-16662</a>: load_tests() is now unconditionally run when it is present in a package’s __init__.py. TestLoader.loadTestsFromModule() still accepts use_load_tests, but it is deprecated and ignored. A new keyword-only attribute <code class="xref py py-obj docutils literal notranslate"><span class="pre">pattern</span></code> is added and documented. Patch given by Robert Collins, tweaked by Barry Warsaw.</li> <li><a class="reference external" href="https://bugs.python.org/issue22226">bpo-22226</a>: First letter no longer is stripped from the “status” key in the result of Treeview.heading().</li> <li><a class="reference external" href="https://bugs.python.org/issue19524">bpo-19524</a>: Fixed resource leak in the HTTP connection when an invalid response is received. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue20421">bpo-20421</a>: Add a .version() method to SSL sockets exposing the actual protocol version in use.</li> <li><a class="reference external" href="https://bugs.python.org/issue19546">bpo-19546</a>: configparser exceptions no longer expose implementation details. Chained KeyErrors are removed, which leads to cleaner tracebacks. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue22051">bpo-22051</a>: turtledemo no longer reloads examples to re-run them. Initialization of variables and gui setup should be done in main(), which is called each time a demo is run, but not on import.</li> <li><a class="reference external" href="https://bugs.python.org/issue21933">bpo-21933</a>: Turtledemo users can change the code font size with a menu selection or control(command) ‘-‘ or ‘+’ or control-mousewheel. Original patch by Lita Cho.</li> <li><a class="reference external" href="https://bugs.python.org/issue21597">bpo-21597</a>: The separator between the turtledemo text pane and the drawing canvas can now be grabbed and dragged with a mouse. The code text pane can be widened to easily view or copy the full width of the text. The canvas can be widened on small screens. Original patches by Jan Kanis and Lita Cho.</li> <li><a class="reference external" href="https://bugs.python.org/issue18132">bpo-18132</a>: Turtledemo buttons no longer disappear when the window is shrunk. Original patches by Jan Kanis and Lita Cho.</li> <li><a class="reference external" href="https://bugs.python.org/issue22043">bpo-22043</a>: time.monotonic() is now always available. <code class="docutils literal notranslate"><span class="pre">threading.Lock.acquire()</span></code>, <code class="docutils literal notranslate"><span class="pre">threading.RLock.acquire()</span></code> and socket operations now use a monotonic clock, instead of the system clock, when a timeout is used.</li> <li><a class="reference external" href="https://bugs.python.org/issue21527">bpo-21527</a>: Add a default number of workers to ThreadPoolExecutor equal to 5 times the number of CPUs. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue22216">bpo-22216</a>: smtplib now resets its state more completely after a quit. The most obvious consequence of the previous behavior was a STARTTLS failure during a connect/starttls/quit/connect/starttls sequence.</li> <li><a class="reference external" href="https://bugs.python.org/issue22098">bpo-22098</a>: ctypes’ BigEndianStructure and LittleEndianStructure now define an empty __slots__ so that subclasses don’t always get an instance dict. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue22185">bpo-22185</a>: Fix an occasional RuntimeError in threading.Condition.wait() caused by mutation of the waiters queue without holding the lock. Patch by Doug Zongker.</li> <li><a class="reference external" href="https://bugs.python.org/issue22287">bpo-22287</a>: On UNIX, _PyTime_gettimeofday() now uses clock_gettime(CLOCK_REALTIME) if available. As a side effect, Python now depends on the librt library on Solaris and on Linux (only with glibc older than 2.17).</li> <li><a class="reference external" href="https://bugs.python.org/issue22182">bpo-22182</a>: Use e.args to unpack exceptions correctly in distutils.file_util.move_file. Patch by Claudiu Popa.</li> <li>The webbrowser module now uses subprocess’s start_new_session=True rather than a potentially risky preexec_fn=os.setsid call.</li> <li><a class="reference external" href="https://bugs.python.org/issue22042">bpo-22042</a>: signal.set_wakeup_fd(fd) now raises an exception if the file descriptor is in blocking mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue16808">bpo-16808</a>: inspect.stack() now returns a named tuple instead of a tuple. Patch by Daniel Shahaf.</li> <li><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Fixed Tkinter images copying operations in NoDefaultRoot mode.</li> <li><a class="reference external" href="https://bugs.python.org/issue2527">bpo-2527</a>: Add a <em>globals</em> argument to timeit functions, in order to override the globals namespace in which the timed code is executed. Patch by Ben Roberts.</li> <li><a class="reference external" href="https://bugs.python.org/issue22118">bpo-22118</a>: Switch urllib.parse to use RFC 3986 semantics for the resolution of relative URLs, rather than RFCs 1808 and 2396. Patch by Demian Brecht.</li> <li><a class="reference external" href="https://bugs.python.org/issue21549">bpo-21549</a>: Added the “members” parameter to TarFile.list().</li> <li><a class="reference external" href="https://bugs.python.org/issue19628">bpo-19628</a>: Allow compileall recursion depth to be specified with a -r option.</li> <li><a class="reference external" href="https://bugs.python.org/issue15696">bpo-15696</a>: Add a __sizeof__ implementation for mmap objects on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue22068">bpo-22068</a>: Avoided reference loops with Variables and Fonts in Tkinter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22165">bpo-22165</a>: SimpleHTTPRequestHandler now supports undecodable file names.</li> <li><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized line reading in io.BytesIO.</li> <li><a class="reference external" href="https://bugs.python.org/issue8797">bpo-8797</a>: Raise HTTPError on failed Basic Authentication immediately. Initial patch by Sam Bull.</li> <li><a class="reference external" href="https://bugs.python.org/issue20729">bpo-20729</a>: Restored the use of lazy iterkeys()/itervalues()/iteritems() in the mailbox module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21448">bpo-21448</a>: Changed FeedParser feed() to avoid O(N**2) behavior when parsing long line. Original patch by Raymond Hettinger.</li> <li><a class="reference external" href="https://bugs.python.org/issue22184">bpo-22184</a>: The functools LRU Cache decorator factory now gives an earlier and clearer error message when the user forgets the required parameters.</li> <li><a class="reference external" href="https://bugs.python.org/issue17923">bpo-17923</a>: glob() patterns ending with a slash no longer match non-dirs on AIX. Based on patch by Delhallt.</li> <li><a class="reference external" href="https://bugs.python.org/issue21725">bpo-21725</a>: Added support for RFC 6531 (SMTPUTF8) in smtpd.</li> <li><a class="reference external" href="https://bugs.python.org/issue22176">bpo-22176</a>: Update the ctypes module’s libffi to v3.1. This release adds support for the Linux AArch64 and POWERPC ELF ABIv2 little endian architectures.</li> <li><a class="reference external" href="https://bugs.python.org/issue5411">bpo-5411</a>: Added support for the “xztar” format in the shutil module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21121">bpo-21121</a>: Don’t force 3rd party C extensions to be built with <code class="docutils literal notranslate"><span class="pre">-Werror=declaration-after-statement</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue21975">bpo-21975</a>: Fixed crash when using uninitialized sqlite3.Row (in particular when unpickling pickled sqlite3.Row). sqlite3.Row is now initialized in the __new__() method.</li> <li><a class="reference external" href="https://bugs.python.org/issue20170">bpo-20170</a>: Convert posixmodule to use Argument Clinic.</li> <li><a class="reference external" href="https://bugs.python.org/issue21539">bpo-21539</a>: Add an <em>exists_ok</em> argument to <code class="xref py py-obj docutils literal notranslate"><span class="pre">Pathlib.mkdir()</span></code> to mimic <code class="xref py py-obj docutils literal notranslate"><span class="pre">mkdir</span> <span class="pre">-p</span></code> and <a class="reference internal" href="../library/os.html#os.makedirs" title="os.makedirs"><code class="xref py py-obj docutils literal notranslate"><span class="pre">os.makedirs()</span></code></a> functionality. When true, ignore FileExistsErrors. Patch by Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue22127">bpo-22127</a>: Bypass IDNA for pure-ASCII host names in the socket module (in particular for numeric IPs).</li> <li><a class="reference external" href="https://bugs.python.org/issue21047">bpo-21047</a>: set the default value for the <em>convert_charrefs</em> argument of HTMLParser to True. Patch by Berker Peksag.</li> <li>Add an __all__ to html.entities.</li> <li><a class="reference external" href="https://bugs.python.org/issue15114">bpo-15114</a>: the strict mode and argument of HTMLParser, HTMLParser.error, and the HTMLParserError exception have been removed.</li> <li><a class="reference external" href="https://bugs.python.org/issue22085">bpo-22085</a>: Dropped support of Tk 8.3 in Tkinter.</li> <li><a class="reference external" href="https://bugs.python.org/issue21580">bpo-21580</a>: Now Tkinter correctly handles bytes arguments passed to Tk. In particular this allows initializing images from binary data.</li> <li><a class="reference external" href="https://bugs.python.org/issue22003">bpo-22003</a>: When initialized from a bytes object, io.BytesIO() now defers making a copy until it is mutated, improving performance and memory use on some use cases. Patch by David Wilson.</li> <li><a class="reference external" href="https://bugs.python.org/issue22018">bpo-22018</a>: On Windows, signal.set_wakeup_fd() now also supports sockets. A side effect is that Python depends to the WinSock library.</li> <li><a class="reference external" href="https://bugs.python.org/issue22054">bpo-22054</a>: Add os.get_blocking() and os.set_blocking() functions to get and set the blocking mode of a file descriptor (False if the O_NONBLOCK flag is set, True otherwise). These functions are not available on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue17172">bpo-17172</a>: Make turtledemo start as active on OS X even when run with subprocess. Patch by Lita Cho.</li> <li><a class="reference external" href="https://bugs.python.org/issue21704">bpo-21704</a>: Fix build error for _multiprocessing when semaphores are not available. Patch by Arfrever Frehtes Taifersar Arahesis.</li> <li><a class="reference external" href="https://bugs.python.org/issue20173">bpo-20173</a>: Convert sha1, sha256, sha512 and md5 to ArgumentClinic. Patch by Vajrasky Kok.</li> <li>Fix repr(_socket.socket) on Windows 64-bit: don’t fail with OverflowError on closed socket. repr(socket.socket) already works fine.</li> <li><a class="reference external" href="https://bugs.python.org/issue22033">bpo-22033</a>: Reprs of most Python implemented classes now contain actual class name instead of hardcoded one.</li> <li><a class="reference external" href="https://bugs.python.org/issue21947">bpo-21947</a>: The dis module can now disassemble generator-iterator objects based on their gi_code attribute. Patch by Clement Rouault.</li> <li><a class="reference external" href="https://bugs.python.org/issue16133">bpo-16133</a>: The asynchat.async_chat.handle_read() method now ignores BlockingIOError exceptions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22044">bpo-22044</a>: Fixed premature DECREF in call_tzinfo_method. Patch by Tom Flanagan.</li> <li><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: readline: Disable the meta modifier key if stdout is not a terminal to not write the ANSI sequence <code class="docutils literal notranslate"><span class="pre">"\033[1034h"</span></code> into stdout. This sequence is used on some terminal (ex: TERM=xterm-256color”) to enable support of 8 bit characters.</li> <li><a class="reference external" href="https://bugs.python.org/issue4350">bpo-4350</a>: Removed a number of out-of-dated and non-working for a long time Tkinter methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue6167">bpo-6167</a>: Scrollbar.activate() now returns the name of active element if the argument is not specified. Scrollbar.set() now always accepts only 2 arguments.</li> <li><a class="reference external" href="https://bugs.python.org/issue15275">bpo-15275</a>: Clean up and speed up the ntpath module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21888">bpo-21888</a>: plistlib’s load() and loads() now work if the fmt parameter is specified.</li> <li><a class="reference external" href="https://bugs.python.org/issue22032">bpo-22032</a>: __qualname__ instead of __name__ is now always used to format fully qualified class names of Python implemented classes.</li> <li><a class="reference external" href="https://bugs.python.org/issue22031">bpo-22031</a>: Reprs now always use hexadecimal format with the “0x” prefix when contain an id in form ” at 0x…”.</li> <li><a class="reference external" href="https://bugs.python.org/issue22018">bpo-22018</a>: signal.set_wakeup_fd() now raises an OSError instead of a ValueError on <code class="docutils literal notranslate"><span class="pre">fstat()</span></code> failure.</li> <li><a class="reference external" href="https://bugs.python.org/issue21044">bpo-21044</a>: tarfile.open() now handles fileobj with an integer ‘name’ attribute. Based on patch by Antoine Pietri.</li> <li><a class="reference external" href="https://bugs.python.org/issue21966">bpo-21966</a>: Respect -q command-line option when code module is ran.</li> <li><a class="reference external" href="https://bugs.python.org/issue19076">bpo-19076</a>: Don’t pass the redundant ‘file’ argument to self.error().</li> <li><a class="reference external" href="https://bugs.python.org/issue16382">bpo-16382</a>: Improve exception message of warnings.warn() for bad category. Initial patch by Phil Elson.</li> <li><a class="reference external" href="https://bugs.python.org/issue21932">bpo-21932</a>: os.read() now uses a <code class="xref c c-func docutils literal notranslate"><span class="pre">Py_ssize_t()</span></code> type instead of <code class="xref c c-type docutils literal notranslate"><span class="pre">int</span></code> for the size to support reading more than 2 GB at once. On Windows, the size is truncated to INT_MAX. As any call to os.read(), the OS may read less bytes than the number of requested bytes.</li> <li><a class="reference external" href="https://bugs.python.org/issue21942">bpo-21942</a>: Fixed source file viewing in pydoc’s server mode on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue11259">bpo-11259</a>: asynchat.async_chat().set_terminator() now raises a ValueError if the number of received bytes is negative.</li> <li><a class="reference external" href="https://bugs.python.org/issue12523">bpo-12523</a>: asynchat.async_chat.push() now raises a TypeError if it doesn’t get a bytes string</li> <li><a class="reference external" href="https://bugs.python.org/issue21707">bpo-21707</a>: Add missing kwonlyargcount argument to ModuleFinder.replace_paths_in_code().</li> <li><a class="reference external" href="https://bugs.python.org/issue20639">bpo-20639</a>: calling Path.with_suffix(‘’) allows removing the suffix again. Patch by July Tikhonov.</li> <li><a class="reference external" href="https://bugs.python.org/issue21714">bpo-21714</a>: Disallow the construction of invalid paths using Path.with_name(). Original patch by Antony Lee.</li> <li><a class="reference external" href="https://bugs.python.org/issue15014">bpo-15014</a>: Added ‘auth’ method to smtplib to make implementing auth mechanisms simpler, and used it internally in the login method.</li> <li><a class="reference external" href="https://bugs.python.org/issue21151">bpo-21151</a>: Fixed a segfault in the winreg module when <code class="docutils literal notranslate"><span class="pre">None</span></code> is passed as a <code class="docutils literal notranslate"><span class="pre">REG_BINARY</span></code> value to SetValueEx. Patch by John Ehresman.</li> <li><a class="reference external" href="https://bugs.python.org/issue21090">bpo-21090</a>: io.FileIO.readall() does not ignore I/O errors anymore. Before, it ignored I/O errors if at least the first C call read() succeed.</li> <li><a class="reference external" href="https://bugs.python.org/issue5800">bpo-5800</a>: headers parameter of wsgiref.headers.Headers is now optional. Initial patch by Pablo Torres Navarrete and SilentGhost.</li> <li><a class="reference external" href="https://bugs.python.org/issue21781">bpo-21781</a>: ssl.RAND_add() now supports strings longer than 2 GB.</li> <li><a class="reference external" href="https://bugs.python.org/issue21679">bpo-21679</a>: Prevent extraneous fstat() calls during open(). Patch by Bohuslav Kabrda.</li> <li><a class="reference external" href="https://bugs.python.org/issue21863">bpo-21863</a>: cProfile now displays the module name of C extension functions, in addition to their own name.</li> <li><a class="reference external" href="https://bugs.python.org/issue11453">bpo-11453</a>: asyncore: emit a ResourceWarning when an unclosed file_wrapper object is destroyed. The destructor now closes the file if needed. The close() method can now be called twice: the second call does nothing.</li> <li><a class="reference external" href="https://bugs.python.org/issue21858">bpo-21858</a>: Better handling of Python exceptions in the sqlite3 module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21476">bpo-21476</a>: Make sure the email.parser.BytesParser TextIOWrapper is discarded after parsing, so the input file isn’t unexpectedly closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue20295">bpo-20295</a>: imghdr now recognizes OpenEXR format images.</li> <li><a class="reference external" href="https://bugs.python.org/issue21729">bpo-21729</a>: Used the “with” statement in the dbm.dumb module to ensure files closing. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue21491">bpo-21491</a>: socketserver: Fix a race condition in child processes reaping.</li> <li><a class="reference external" href="https://bugs.python.org/issue21719">bpo-21719</a>: Added the <code class="docutils literal notranslate"><span class="pre">st_file_attributes</span></code> field to os.stat_result on Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue21832">bpo-21832</a>: Require named tuple inputs to be exact strings.</li> <li><a class="reference external" href="https://bugs.python.org/issue21722">bpo-21722</a>: The distutils “upload” command now exits with a non-zero return code when uploading fails. Patch by Martin Dengler.</li> <li><a class="reference external" href="https://bugs.python.org/issue21723">bpo-21723</a>: asyncio.Queue: support any type of number (ex: float) for the maximum size. Patch written by Vajrasky Kok.</li> <li><a class="reference external" href="https://bugs.python.org/issue21711">bpo-21711</a>: support for “site-python” directories has now been removed from the site module (it was deprecated in 3.4).</li> <li><a class="reference external" href="https://bugs.python.org/issue17552">bpo-17552</a>: new socket.sendfile() method allowing a file to be sent over a socket by using high-performance os.sendfile() on UNIX. Patch by Giampaolo Rodola’.</li> <li><a class="reference external" href="https://bugs.python.org/issue18039">bpo-18039</a>: dbm.dump.open() now always creates a new database when the flag has the value ‘n’. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue21326">bpo-21326</a>: Add a new is_closed() method to asyncio.BaseEventLoop. run_forever() and run_until_complete() methods of asyncio.BaseEventLoop now raise an exception if the event loop was closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue21766">bpo-21766</a>: Prevent a security hole in CGIHTTPServer by URL unquoting paths before checking for a CGI script at that path.</li> <li><a class="reference external" href="https://bugs.python.org/issue21310">bpo-21310</a>: Fixed possible resource leak in failed open().</li> <li><a class="reference external" href="https://bugs.python.org/issue21256">bpo-21256</a>: Printout of keyword args should be in deterministic order in a mock function call. This will help to write better doctests.</li> <li><a class="reference external" href="https://bugs.python.org/issue21677">bpo-21677</a>: Fixed chaining nonnormalized exceptions in io close() methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue11709">bpo-11709</a>: Fix the pydoc.help function to not fail when sys.stdin is not a valid file.</li> <li><a class="reference external" href="https://bugs.python.org/issue21515">bpo-21515</a>: tempfile.TemporaryFile now uses os.O_TMPFILE flag is available.</li> <li><a class="reference external" href="https://bugs.python.org/issue13223">bpo-13223</a>: Fix pydoc.writedoc so that the HTML documentation for methods that use ‘self’ in the example code is generated correctly.</li> <li><a class="reference external" href="https://bugs.python.org/issue21463">bpo-21463</a>: In urllib.request, fix pruning of the FTP cache.</li> <li><a class="reference external" href="https://bugs.python.org/issue21618">bpo-21618</a>: The subprocess module could fail to close open fds that were inherited by the calling process and already higher than POSIX resource limits would otherwise allow. On systems with a functioning /proc/self/fd or /dev/fd interface the max is now ignored and all fds are closed.</li> <li><a class="reference external" href="https://bugs.python.org/issue20383">bpo-20383</a>: Introduce importlib.util.module_from_spec() as the preferred way to create a new module.</li> <li><a class="reference external" href="https://bugs.python.org/issue21552">bpo-21552</a>: Fixed possible integer overflow of too long string lengths in the tkinter module on 64-bit platforms.</li> <li><a class="reference external" href="https://bugs.python.org/issue14315">bpo-14315</a>: The zipfile module now ignores extra fields in the central directory that are too short to be parsed instead of letting a struct.unpack error bubble up as this “bad data” appears in many real world zip files in the wild and is ignored by other zip tools.</li> <li><a class="reference external" href="https://bugs.python.org/issue13742">bpo-13742</a>: Added “key” and “reverse” parameters to heapq.merge(). (First draft of patch contributed by Simon Sapin.)</li> <li><a class="reference external" href="https://bugs.python.org/issue21402">bpo-21402</a>: tkinter.ttk now works when default root window is not set.</li> <li><a class="reference external" href="https://bugs.python.org/issue3015">bpo-3015</a>: _tkinter.create() now creates tkapp object with wantobject=1 by default.</li> <li><a class="reference external" href="https://bugs.python.org/issue10203">bpo-10203</a>: sqlite3.Row now truly supports sequence protocol. In particular it supports reverse() and negative indices. Original patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue18807">bpo-18807</a>: If copying (no symlinks) specified for a venv, then the python interpreter aliases (python, python3) are now created by copying rather than symlinking.</li> <li><a class="reference external" href="https://bugs.python.org/issue20197">bpo-20197</a>: Added support for the WebP image type in the imghdr module. Patch by Fabrice Aneche and Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue21513">bpo-21513</a>: Speedup some properties of IP addresses (IPv4Address, IPv6Address) such as .is_private or .is_multicast.</li> <li><a class="reference external" href="https://bugs.python.org/issue21137">bpo-21137</a>: Improve the repr for threading.Lock() and its variants by showing the “locked” or “unlocked” status. Patch by Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue21538">bpo-21538</a>: The plistlib module now supports loading of binary plist files when reference or offset size is not a power of two.</li> <li><a class="reference external" href="https://bugs.python.org/issue21455">bpo-21455</a>: Add a default backlog to socket.listen().</li> <li><a class="reference external" href="https://bugs.python.org/issue21525">bpo-21525</a>: Most Tkinter methods which accepted tuples now accept lists too.</li> <li><a class="reference external" href="https://bugs.python.org/issue22166">bpo-22166</a>: With the assistance of a new internal _codecs._forget_codec helping function, test_codecs now clears the encoding caches to avoid the appearance of a reference leak</li> <li><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Tkinter tests now don’t reuse default root window. New root window is created for every test class.</li> <li><a class="reference external" href="https://bugs.python.org/issue10744">bpo-10744</a>: Fix PEP 3118 format strings on ctypes objects with a nontrivial shape.</li> <li><a class="reference external" href="https://bugs.python.org/issue20826">bpo-20826</a>: Optimize ipaddress.collapse_addresses().</li> <li><a class="reference external" href="https://bugs.python.org/issue21487">bpo-21487</a>: Optimize ipaddress.summarize_address_range() and ipaddress.{IPv4Network,IPv6Network}.subnets().</li> <li><a class="reference external" href="https://bugs.python.org/issue21486">bpo-21486</a>: Optimize parsing of netmasks in ipaddress.IPv4Network and ipaddress.IPv6Network.</li> <li><a class="reference external" href="https://bugs.python.org/issue13916">bpo-13916</a>: Disallowed the surrogatepass error handler for non UTF-* encodings.</li> <li><a class="reference external" href="https://bugs.python.org/issue20998">bpo-20998</a>: Fixed re.fullmatch() of repeated single character pattern with ignore case. Original patch by Matthew Barnett.</li> <li><a class="reference external" href="https://bugs.python.org/issue21075">bpo-21075</a>: fileinput.FileInput now reads bytes from standard stream if binary mode is specified. Patch by Sam Kimbrel.</li> <li><a class="reference external" href="https://bugs.python.org/issue19775">bpo-19775</a>: Add a samefile() method to pathlib Path objects. Initial patch by Vajrasky Kok.</li> <li><a class="reference external" href="https://bugs.python.org/issue21226">bpo-21226</a>: Set up modules properly in PyImport_ExecCodeModuleObject (and friends).</li> <li><a class="reference external" href="https://bugs.python.org/issue21398">bpo-21398</a>: Fix a unicode error in the pydoc pager when the documentation contains characters not encodable to the stdout encoding.</li> <li><a class="reference external" href="https://bugs.python.org/issue16531">bpo-16531</a>: ipaddress.IPv4Network and ipaddress.IPv6Network now accept an (address, netmask) tuple argument, so as to easily construct network objects from existing addresses.</li> <li><a class="reference external" href="https://bugs.python.org/issue21156">bpo-21156</a>: importlib.abc.InspectLoader.source_to_code() is now a staticmethod.</li> <li><a class="reference external" href="https://bugs.python.org/issue21424">bpo-21424</a>: Simplified and optimized heaqp.nlargest() and nmsmallest() to make fewer tuple comparisons.</li> <li><a class="reference external" href="https://bugs.python.org/issue21396">bpo-21396</a>: Fix TextIOWrapper(…, write_through=True) to not force a flush() on the underlying binary stream. Patch by akira.</li> <li><a class="reference external" href="https://bugs.python.org/issue18314">bpo-18314</a>: Unlink now removes junctions on Windows. Patch by Kim Gräsman</li> <li><a class="reference external" href="https://bugs.python.org/issue21088">bpo-21088</a>: Bugfix for curses.window.addch() regression in 3.4.0. In porting to Argument Clinic, the first two arguments were reversed.</li> <li><a class="reference external" href="https://bugs.python.org/issue21407">bpo-21407</a>: _decimal: The module now supports function signatures.</li> <li><a class="reference external" href="https://bugs.python.org/issue10650">bpo-10650</a>: Remove the non-standard ‘watchexp’ parameter from the Decimal.quantize() method in the Python version. It had never been present in the C version.</li> <li><a class="reference external" href="https://bugs.python.org/issue21469">bpo-21469</a>: Reduced the risk of false positives in robotparser by checking to make sure that robots.txt has been read or does not exist prior to returning True in can_fetch().</li> <li><a class="reference external" href="https://bugs.python.org/issue19414">bpo-19414</a>: Have the OrderedDict mark deleted links as unusable. This gives an early failure if the link is deleted during iteration.</li> <li><a class="reference external" href="https://bugs.python.org/issue21421">bpo-21421</a>: Add __slots__ to the MappingViews ABC. Patch by Josh Rosenberg.</li> <li><a class="reference external" href="https://bugs.python.org/issue21101">bpo-21101</a>: Eliminate double hashing in the C speed-up code for collections.Counter().</li> <li><a class="reference external" href="https://bugs.python.org/issue21321">bpo-21321</a>: itertools.islice() now releases the reference to the source iterator when the slice is exhausted. Patch by Anton Afanasyev.</li> <li><a class="reference external" href="https://bugs.python.org/issue21057">bpo-21057</a>: TextIOWrapper now allows the underlying binary stream’s read() or read1() method to return an arbitrary bytes-like object (such as a memoryview). Patch by Nikolaus Rath.</li> <li><a class="reference external" href="https://bugs.python.org/issue20951">bpo-20951</a>: SSLSocket.send() now raises either SSLWantReadError or SSLWantWriteError on a non-blocking socket if the operation would block. Previously, it would return 0. Patch by Nikolaus Rath.</li> <li><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: removed previously deprecated asyncore.dispatcher __getattr__ cheap inheritance hack.</li> <li><a class="reference external" href="https://bugs.python.org/issue9815">bpo-9815</a>: assertRaises now tries to clear references to local variables in the exception’s traceback.</li> <li><a class="reference external" href="https://bugs.python.org/issue19940">bpo-19940</a>: ssl.cert_time_to_seconds() now interprets the given time string in the UTC timezone (as specified in RFC 5280), not the local timezone.</li> <li><a class="reference external" href="https://bugs.python.org/issue13204">bpo-13204</a>: Calling sys.flags.__new__ would crash the interpreter, now it raises a TypeError.</li> <li><a class="reference external" href="https://bugs.python.org/issue19385">bpo-19385</a>: Make operations on a closed dbm.dumb database always raise the same exception.</li> <li><a class="reference external" href="https://bugs.python.org/issue21207">bpo-21207</a>: Detect when the os.urandom cached fd has been closed or replaced, and open it anew.</li> <li><a class="reference external" href="https://bugs.python.org/issue21291">bpo-21291</a>: subprocess’s Popen.wait() is now thread safe so that multiple threads may be calling wait() or poll() on a Popen instance at the same time without losing the Popen.returncode value.</li> <li><a class="reference external" href="https://bugs.python.org/issue21127">bpo-21127</a>: Path objects can now be instantiated from str subclass instances (such as <code class="docutils literal notranslate"><span class="pre">numpy.str_</span></code>).</li> <li><a class="reference external" href="https://bugs.python.org/issue15002">bpo-15002</a>: urllib.response object to use _TemporaryFileWrapper (and _TemporaryFileCloser) facility. Provides a better way to handle file descriptor close. Patch contributed by Christian Theune.</li> <li><a class="reference external" href="https://bugs.python.org/issue12220">bpo-12220</a>: mindom now raises a custom ValueError indicating it doesn’t support spaces in URIs instead of letting a ‘split’ ValueError bubble up.</li> <li><a class="reference external" href="https://bugs.python.org/issue21068">bpo-21068</a>: The ssl.PROTOCOL* constants are now enum members.</li> <li><a class="reference external" href="https://bugs.python.org/issue21276">bpo-21276</a>: posixmodule: Don’t define USE_XATTRS on KFreeBSD and the Hurd.</li> <li><a class="reference external" href="https://bugs.python.org/issue21262">bpo-21262</a>: New method assert_not_called for Mock. It raises AssertionError if the mock has been called.</li> <li><a class="reference external" href="https://bugs.python.org/issue21238">bpo-21238</a>: New keyword argument <code class="xref py py-obj docutils literal notranslate"><span class="pre">unsafe</span></code> to Mock. It raises <a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AttributeError</span></code></a> incase of an attribute startswith assert or assret.</li> <li><a class="reference external" href="https://bugs.python.org/issue20896">bpo-20896</a>: ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, for maximum compatibility.</li> <li><a class="reference external" href="https://bugs.python.org/issue21239">bpo-21239</a>: patch.stopall() didn’t work deterministically when the same name was patched more than once.</li> <li><a class="reference external" href="https://bugs.python.org/issue21203">bpo-21203</a>: Updated fileConfig and dictConfig to remove inconsistencies. Thanks to Jure Koren for the patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue21222">bpo-21222</a>: Passing name keyword argument to mock.create_autospec now works.</li> <li><a class="reference external" href="https://bugs.python.org/issue21197">bpo-21197</a>: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.</li> <li><a class="reference external" href="https://bugs.python.org/issue17498">bpo-17498</a>: Some SMTP servers disconnect after certain errors, violating strict RFC conformance. Instead of losing the error code when we issue the subsequent RSET, smtplib now returns the error code and defers raising the SMTPServerDisconnected error until the next command is issued.</li> <li><a class="reference external" href="https://bugs.python.org/issue17826">bpo-17826</a>: setting an iterable side_effect on a mock function created by create_autospec now works. Patch by Kushal Das.</li> <li><a class="reference external" href="https://bugs.python.org/issue7776">bpo-7776</a>: Fix <code class="docutils literal notranslate"><span class="pre">Host:</span></code> header and reconnection when using http.client.HTTPConnection.set_tunnel(). Patch by Nikolaus Rath.</li> <li><a class="reference external" href="https://bugs.python.org/issue20968">bpo-20968</a>: unittest.mock.MagicMock now supports division. Patch by Johannes Baiter.</li> <li><a class="reference external" href="https://bugs.python.org/issue21529">bpo-21529</a>: Fix arbitrary memory access in JSONDecoder.raw_decode with a negative second parameter. Bug reported by Guido Vranken. (See also: CVE-2014-4616)</li> <li><a class="reference external" href="https://bugs.python.org/issue21169">bpo-21169</a>: getpass now handles non-ascii characters that the input stream encoding cannot encode by re-encoding using the replace error handler.</li> <li><a class="reference external" href="https://bugs.python.org/issue21171">bpo-21171</a>: Fixed undocumented filter API of the rot13 codec. Patch by Berker Peksag.</li> <li><a class="reference external" href="https://bugs.python.org/issue20539">bpo-20539</a>: Improved math.factorial error message for large positive inputs and changed exception type (OverflowError -> ValueError) for large negative inputs.</li> <li><a class="reference external" href="https://bugs.python.org/issue21172">bpo-21172</a>: isinstance check relaxed from dict to collections.Mapping.</li> <li><a class="reference external" href="https://bugs.python.org/issue21155">bpo-21155</a>: asyncio.EventLoop.create_unix_server() now raises a ValueError if path and sock are specified at the same time.</li> <li><a class="reference external" href="https://bugs.python.org/issue21136">bpo-21136</a>: Avoid unnecessary normalization of Fractions resulting from power and other operations. Patch by Raymond Hettinger.</li> <li><a class="reference external" href="https://bugs.python.org/issue17621">bpo-17621</a>: Introduce importlib.util.LazyLoader.</li> <li><a class="reference external" href="https://bugs.python.org/issue21076">bpo-21076</a>: signal module constants were turned into enums. Patch by Giampaolo Rodola’.</li> <li><a class="reference external" href="https://bugs.python.org/issue20636">bpo-20636</a>: Improved the repr of Tkinter widgets.</li> <li><a class="reference external" href="https://bugs.python.org/issue19505">bpo-19505</a>: The items, keys, and values views of OrderedDict now support reverse iteration using reversed().</li> <li><a class="reference external" href="https://bugs.python.org/issue21149">bpo-21149</a>: Improved thread-safety in logging cleanup during interpreter shutdown. Thanks to Devin Jeanpierre for the patch.</li> <li><a class="reference external" href="https://bugs.python.org/issue21058">bpo-21058</a>: Fix a leak of file descriptor in <a class="reference internal" href="../library/tempfile.html#tempfile.NamedTemporaryFile" title="tempfile.NamedTemporaryFile"><code class="xref py py-func docutils literal notranslate"><span class="pre">tempfile.NamedTemporaryFile()</span></code></a>, close the file descriptor if <a class="reference internal" href="../library/io.html#io.open" title="io.open"><code class="xref py py-func docutils literal notranslate"><span class="pre">io.open()</span></code></a> fails</li> <li><a class="reference external" href="https://bugs.python.org/issue21200">bpo-21200</a>: Return None from pkgutil.get_loader() when __spec__ is missing.</li> <li><a class="reference external" href="https://bugs.python.org/issue21013">bpo-21013</a>: Enhance ssl.create_default_context() when used for server side sockets to provide better security by default.</li> <li><a class="reference external" href="https://bugs.python.org/issue20145">bpo-20145</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">assertRaisesRegex</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">assertWarnsRegex</span></code> now raise a TypeError if the second argument is not a string or compiled regex.</li> <li><a class="reference external" href="https://bugs.python.org/issue20633">bpo-20633</a>: Replace relative import by absolute import.</li> <li><a class="reference external" href="https://bugs.python.org/issue20980">bpo-20980</a>: Stop wrapping exception when using ThreadPool.</li> <li><a class="reference external" href="https://bugs.python.org/issue21082">bpo-21082</a>: In os.makedirs, do not set the process-wide umask. Note this changes behavior of makedirs when exist_ok=True.</li> <li><a class="reference external" href="https://bugs.python.org/issue20990">bpo-20990</a>: Fix issues found by pyflakes for multiprocessing.</li> <li><a class="reference external" href="https://bugs.python.org/issue21015">bpo-21015</a>: SSL contexts will now automatically select an elliptic curve for ECDH key exchange on OpenSSL 1.0.2 and later, and otherwise default to “prime256v1”.</li> <li><a class="reference external" href="https://bugs.python.org/issue21000">bpo-21000</a>: Improve the command-line interface of json.tool.</li> <li><a class="reference external" href="https://bugs.python.org/issue20995">bpo-20995</a>: Enhance default ciphers used by the ssl module to enable better security and prioritize perfect forward secrecy.</li> <li><a class="reference external" href="https://bugs.python.org/issue20884">bpo-20884</a>: Don’t assume that __file__ is defined on importlib.__init__.</li> <li><a class="reference external" href="https://bugs.python.org/issue21499">bpo-21499</a>: Ignore __builtins__ in several test_importlib.test_api tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue20627">bpo-20627</a>: xmlrpc.client.ServerProxy is now a context manager.</li> <li><a class="reference external" href="https://bugs.python.org/issue19165">bpo-19165</a>: The formatter module now raises DeprecationWarning instead of PendingDeprecationWarning.</li> <li><a class="reference external" href="https://bugs.python.org/issue13936">bpo-13936</a>: Remove the ability of datetime.time instances to be considered false in boolean contexts.</li> <li><a class="reference external" href="https://bugs.python.org/issue18931">bpo-18931</a>: selectors module now supports /dev/poll on Solaris. Patch by Giampaolo Rodola’.</li> <li><a class="reference external" href="https://bugs.python.org/issue19977">bpo-19977</a>: When the <code class="docutils literal notranslate"><span class="pre">LC_TYPE</span></code> locale is the POSIX locale (<code class="docutils literal notranslate"><span class="pre">C</span></code> locale), <a class="reference internal" href="../library/sys.html#sys.stdin" title="sys.stdin"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.stdin</span></code></a> and <a class="reference internal" href="../library/sys.html#sys.stdout" title="sys.stdout"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.stdout</span></code></a> are now using the <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code> error handler, instead of the <code class="docutils literal notranslate"><span class="pre">strict</span></code> error handler.</li> <li><a class="reference external" href="https://bugs.python.org/issue20574">bpo-20574</a>: Implement incremental decoder for cp65001 code (Windows code page 65001, Microsoft UTF-8).</li> <li><a class="reference external" href="https://bugs.python.org/issue20879">bpo-20879</a>: Delay the initialization of encoding and decoding tables for base32, ascii85 and base85 codecs in the base64 module, and delay the initialization of the unquote_to_bytes() table of the urllib.parse module, to not waste memory if these modules are not used.</li> <li><a class="reference external" href="https://bugs.python.org/issue19157">bpo-19157</a>: Include the broadcast address in the usuable hosts for IPv6 in ipaddress.</li> <li><a class="reference external" href="https://bugs.python.org/issue11599">bpo-11599</a>: When an external command (e.g. compiler) fails, distutils now prints out the whole command line (instead of just the command name) if the environment variable DISTUTILS_DEBUG is set.</li> <li><a class="reference external" href="https://bugs.python.org/issue4931">bpo-4931</a>: distutils should not produce unhelpful “error: None” messages anymore. distutils.util.grok_environment_error is kept but doc-deprecated.</li> <li><a class="reference external" href="https://bugs.python.org/issue20875">bpo-20875</a>: Prevent possible gzip “‘read’ is not defined” NameError. Patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue11558">bpo-11558</a>: <code class="docutils literal notranslate"><span class="pre">email.message.Message.attach</span></code> now returns a more useful error message if <code class="docutils literal notranslate"><span class="pre">attach</span></code> is called on a message for which <code class="docutils literal notranslate"><span class="pre">is_multipart</span></code> is False.</li> <li><a class="reference external" href="https://bugs.python.org/issue20283">bpo-20283</a>: RE pattern methods now accept the string keyword parameters as documented. The pattern and source keyword parameters are left as deprecated aliases.</li> <li><a class="reference external" href="https://bugs.python.org/issue20778">bpo-20778</a>: Fix modulefinder to work with bytecode-only modules.</li> <li><a class="reference external" href="https://bugs.python.org/issue20791">bpo-20791</a>: copy.copy() now doesn’t make a copy when the input is a bytes object. Initial patch by Peter Otten.</li> <li><a class="reference external" href="https://bugs.python.org/issue19748">bpo-19748</a>: On AIX, time.mktime() now raises an OverflowError for year outsize range [1902; 2037].</li> <li><a class="reference external" href="https://bugs.python.org/issue19573">bpo-19573</a>: inspect.signature: Use enum for parameter kind constants.</li> <li><a class="reference external" href="https://bugs.python.org/issue20726">bpo-20726</a>: inspect.signature: Make Signature and Parameter picklable.</li> <li><a class="reference external" href="https://bugs.python.org/issue17373">bpo-17373</a>: Add inspect.Signature.from_callable method.</li> <li><a class="reference external" href="https://bugs.python.org/issue20378">bpo-20378</a>: Improve repr of inspect.Signature and inspect.Parameter.</li> <li><a class="reference external" href="https://bugs.python.org/issue20816">bpo-20816</a>: Fix inspect.getcallargs() to raise correct TypeError for missing keyword-only arguments. Patch by Jeremiah Lowin.</li> <li><a class="reference external" href="https://bugs.python.org/issue20817">bpo-20817</a>: Fix inspect.getcallargs() to fail correctly if more than 3 arguments are missing. Patch by Jeremiah Lowin.</li> <li><a class="reference external" href="https://bugs.python.org/issue6676">bpo-6676</a>: Ensure a meaningful exception is raised when attempting to parse more than one XML document per pyexpat xmlparser instance. (Original patches by Hirokazu Yamamoto and Amaury Forgeot d’Arc, with suggested wording by David Gutteridge)</li> <li><a class="reference external" href="https://bugs.python.org/issue21117">bpo-21117</a>: Fix inspect.signature to better support functools.partial. Due to the specifics of functools.partial implementation, positional-or-keyword arguments passed as keyword arguments become keyword-only.</li> <li><a class="reference external" href="https://bugs.python.org/issue20334">bpo-20334</a>: inspect.Signature and inspect.Parameter are now hashable. Thanks to Antony Lee for bug reports and suggestions.</li> <li><a class="reference external" href="https://bugs.python.org/issue15916">bpo-15916</a>: doctest.DocTestSuite returns an empty unittest.TestSuite instead of raising ValueError if it finds no tests</li> <li><a class="reference external" href="https://bugs.python.org/issue21209">bpo-21209</a>: Fix asyncio.tasks.CoroWrapper to workaround a bug in yield-from implementation in CPythons prior to 3.4.1.</li> <li>asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream <a class="reference external" href="https://bugs.python.org/issue163">bpo-163</a>).</li> <li><a class="reference external" href="https://bugs.python.org/issue21311">bpo-21311</a>: Avoid exception in _osx_support with non-standard compiler configurations. Patch by John Szakmeister.</li> <li><a class="reference external" href="https://bugs.python.org/issue11571">bpo-11571</a>: Ensure that the turtle window becomes the topmost window when launched on OS X.</li> <li><a class="reference external" href="https://bugs.python.org/issue21801">bpo-21801</a>: Validate that __signature__ is None or an instance of Signature.</li> <li><a class="reference external" href="https://bugs.python.org/issue21923">bpo-21923</a>: Prevent AttributeError in distutils.sysconfig.customize_compiler due to possible uninitialized _config_vars.</li> <li><a class="reference external" href="https://bugs.python.org/issue21323">bpo-21323</a>: Fix http.server to again handle scripts in CGI subdirectories, broken by the fix for security <a class="reference external" href="https://bugs.python.org/issue19435">bpo-19435</a>. Patch by Zach Byrne.</li> <li><a class="reference external" href="https://bugs.python.org/issue22733">bpo-22733</a>: Fix ffi_prep_args not zero-extending argument values correctly on 64-bit Windows.</li> <li><a class="reference external" href="https://bugs.python.org/issue23302">bpo-23302</a>: Default to TCP_NODELAY=1 upon establishing an HTTPConnection. Removed use of hard-coded MSS as it’s an optimization that’s no longer needed with Nagle disabled.</li> </ul> </div> <div class="section" id="id244"> <h3>IDLE<a class="headerlink" href="#id244" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue20577">bpo-20577</a>: Configuration of the max line length for the FormatParagraph extension has been moved from the General tab of the Idle preferences dialog to the FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat.</li> <li><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Update Idle doc chapter to match current Idle and add new information.</li> <li><a class="reference external" href="https://bugs.python.org/issue3068">bpo-3068</a>: Add Idle extension configuration dialog to Options menu. Changes are written to HOME/.idlerc/config-extensions.cfg. Original patch by Tal Einat.</li> <li><a class="reference external" href="https://bugs.python.org/issue16233">bpo-16233</a>: A module browser (File : Class Browser, Alt+C) requires an editor window with a filename. When Class Browser is requested otherwise, from a shell, output window, or ‘Untitled’ editor, Idle no longer displays an error box. It now pops up an Open Module box (Alt+M). If a valid name is entered and a module is opened, a corresponding browser is also opened.</li> <li><a class="reference external" href="https://bugs.python.org/issue4832">bpo-4832</a>: Save As to type Python files automatically adds .py to the name you enter (even if your system does not display it). Some systems automatically add .txt when type is Text files.</li> <li><a class="reference external" href="https://bugs.python.org/issue21986">bpo-21986</a>: Code objects are not normally pickled by the pickle module. To match this, they are no longer pickled when running under Idle.</li> <li><a class="reference external" href="https://bugs.python.org/issue17390">bpo-17390</a>: Adjust Editor window title; remove ‘Python’, move version to end.</li> <li><a class="reference external" href="https://bugs.python.org/issue14105">bpo-14105</a>: Idle debugger breakpoints no longer disappear when inserting or deleting lines.</li> <li><a class="reference external" href="https://bugs.python.org/issue17172">bpo-17172</a>: Turtledemo can now be run from Idle. Currently, the entry is on the Help menu, but it may move to Run. Patch by Ramchandra Apt and Lita Cho.</li> <li><a class="reference external" href="https://bugs.python.org/issue21765">bpo-21765</a>: Add support for non-ascii identifiers to HyperParser.</li> <li><a class="reference external" href="https://bugs.python.org/issue21940">bpo-21940</a>: Add unittest for WidgetRedirector. Initial patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue18592">bpo-18592</a>: Add unittest for SearchDialogBase. Patch by Phil Webster.</li> <li><a class="reference external" href="https://bugs.python.org/issue21694">bpo-21694</a>: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue21686">bpo-21686</a>: add unittest for HyperParser. Original patch by Saimadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue12387">bpo-12387</a>: Add missing upper(lower)case versions of default Windows key bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy.</li> <li><a class="reference external" href="https://bugs.python.org/issue21695">bpo-21695</a>: Closing a Find-in-files output window while the search is still in progress no longer closes Idle.</li> <li><a class="reference external" href="https://bugs.python.org/issue18910">bpo-18910</a>: Add unittest for textView. Patch by Phil Webster.</li> <li><a class="reference external" href="https://bugs.python.org/issue18292">bpo-18292</a>: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.</li> <li><a class="reference external" href="https://bugs.python.org/issue18409">bpo-18409</a>: Add unittest for AutoComplete. Patch by Phil Webster.</li> <li><a class="reference external" href="https://bugs.python.org/issue21477">bpo-21477</a>: htest.py - Improve framework, complete set of tests. Patches by Saimadhav Heblikar</li> <li><a class="reference external" href="https://bugs.python.org/issue18104">bpo-18104</a>: Add idlelib/idle_test/htest.py with a few sample tests to begin consolidating and improving human-validated tests of Idle. Change other files as needed to work with htest. Running the module as __main__ runs all tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue21139">bpo-21139</a>: Change default paragraph width to 72, the PEP 8 recommendation.</li> <li><a class="reference external" href="https://bugs.python.org/issue21284">bpo-21284</a>: Paragraph reformat test passes after user changes reformat width.</li> <li><a class="reference external" href="https://bugs.python.org/issue17654">bpo-17654</a>: Ensure IDLE menus are customized properly on OS X for non-framework builds and for all variants of Tk.</li> <li><a class="reference external" href="https://bugs.python.org/issue23180">bpo-23180</a>: Rename IDLE “Windows” menu item to “Window”. Patch by Al Sweigart.</li> </ul> </div> <div class="section" id="id245"> <h3>Build<a class="headerlink" href="#id245" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue15506">bpo-15506</a>: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure script.</li> <li><a class="reference external" href="https://bugs.python.org/issue22935">bpo-22935</a>: Allow the ssl module to be compiled if openssl doesn’t support SSL 3.</li> <li><a class="reference external" href="https://bugs.python.org/issue22592">bpo-22592</a>: Drop support of the Borland C compiler to build Python. The distutils module still supports it to build extensions.</li> <li><a class="reference external" href="https://bugs.python.org/issue22591">bpo-22591</a>: Drop support of MS-DOS, especially of the DJGPP compiler (MS-DOS port of GCC).</li> <li><a class="reference external" href="https://bugs.python.org/issue16537">bpo-16537</a>: Check whether self.extensions is empty in setup.py. Patch by Jonathan Hosmer.</li> <li><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Remove incorrect uses of recursive make. Patch by Jonas Wagner.</li> <li><a class="reference external" href="https://bugs.python.org/issue21958">bpo-21958</a>: Define HAVE_ROUND when building with Visual Studio 2013 and above. Patch by Zachary Turner.</li> <li><a class="reference external" href="https://bugs.python.org/issue18093">bpo-18093</a>: the programs that embed the CPython runtime are now in a separate “Programs” directory, rather than being kept in the Modules directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue15759">bpo-15759</a>: “make suspicious”, “make linkcheck” and “make doctest” in Doc/ now display special message when and only when there are failures.</li> <li><a class="reference external" href="https://bugs.python.org/issue21141">bpo-21141</a>: The Windows build process no longer attempts to find Perl, instead relying on OpenSSL source being configured and ready to build. The <code class="docutils literal notranslate"><span class="pre">PCbuild\build_ssl.py</span></code> script has been re-written and re-named to <code class="docutils literal notranslate"><span class="pre">PCbuild\prepare_ssl.py</span></code>, and takes care of configuring OpenSSL source for both 32 and 64 bit platforms. OpenSSL sources obtained from svn.python.org will always be pre-configured and ready to build.</li> <li><a class="reference external" href="https://bugs.python.org/issue21037">bpo-21037</a>: Add a build option to enable AddressSanitizer support.</li> <li><a class="reference external" href="https://bugs.python.org/issue19962">bpo-19962</a>: The Windows build process now creates “python.bat” in the root of the source tree, which passes all arguments through to the most recently built interpreter.</li> <li><a class="reference external" href="https://bugs.python.org/issue21285">bpo-21285</a>: Refactor and fix curses configure check to always search in a ncursesw directory.</li> <li><a class="reference external" href="https://bugs.python.org/issue15234">bpo-15234</a>: For BerkelyDB and Sqlite, only add the found library and include directories if they aren’t already being searched. This avoids an explicit runtime library dependency.</li> <li><a class="reference external" href="https://bugs.python.org/issue17861">bpo-17861</a>: Tools/scripts/generate_opcode_h.py automatically regenerates Include/opcode.h from Lib/opcode.py if the latter gets any change.</li> <li><a class="reference external" href="https://bugs.python.org/issue20644">bpo-20644</a>: OS X installer build support for documentation build changes in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin.</li> <li><a class="reference external" href="https://bugs.python.org/issue20022">bpo-20022</a>: Eliminate use of deprecated bundlebuilder in OS X builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue15968">bpo-15968</a>: Incorporated Tcl, Tk, and Tix builds into the Windows build solution.</li> <li><a class="reference external" href="https://bugs.python.org/issue17095">bpo-17095</a>: Fix Modules/Setup <em>shared</em> support.</li> <li><a class="reference external" href="https://bugs.python.org/issue21811">bpo-21811</a>: Anticipated fixes to support OS X versions > 10.9.</li> <li><a class="reference external" href="https://bugs.python.org/issue21166">bpo-21166</a>: Prevent possible segfaults and other random failures of python <code class="docutils literal notranslate"><span class="pre">--generate-posix-vars</span></code> in pybuilddir.txt build target.</li> <li><a class="reference external" href="https://bugs.python.org/issue18096">bpo-18096</a>: Fix library order returned by python-config.</li> <li><a class="reference external" href="https://bugs.python.org/issue17219">bpo-17219</a>: Add library build dir for Python extension cross-builds.</li> <li><a class="reference external" href="https://bugs.python.org/issue22919">bpo-22919</a>: Windows build updated to support VC 14.0 (Visual Studio 2015), which will be used for the official release.</li> <li><a class="reference external" href="https://bugs.python.org/issue21236">bpo-21236</a>: Build _msi.pyd with cabinet.lib instead of fci.lib</li> <li><a class="reference external" href="https://bugs.python.org/issue17128">bpo-17128</a>: Use private version of OpenSSL for OS X 10.5+ installer.</li> </ul> </div> <div class="section" id="id246"> <h3>C API<a class="headerlink" href="#id246" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue14203">bpo-14203</a>: Remove obsolete support for view==NULL in PyBuffer_FillInfo(), bytearray_getbuffer(), bytesiobuf_getbuffer() and array_buffer_getbuf(). All functions now raise BufferError in that case.</li> <li><a class="reference external" href="https://bugs.python.org/issue22445">bpo-22445</a>: PyBuffer_IsContiguous() now implements precise contiguity tests, compatible with NumPy’s NPY_RELAXED_STRIDES_CHECKING compilation flag. Previously the function reported false negatives for corner cases.</li> <li><a class="reference external" href="https://bugs.python.org/issue22079">bpo-22079</a>: PyType_Ready() now checks that statically allocated type has no dynamically allocated bases.</li> <li><a class="reference external" href="https://bugs.python.org/issue22453">bpo-22453</a>: Removed non-documented macro PyObject_REPR().</li> <li><a class="reference external" href="https://bugs.python.org/issue18395">bpo-18395</a>: Rename <code class="docutils literal notranslate"><span class="pre">_Py_char2wchar()</span></code> to <a class="reference internal" href="../c-api/sys.html#c.Py_DecodeLocale" title="Py_DecodeLocale"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_DecodeLocale()</span></code></a>, rename <code class="docutils literal notranslate"><span class="pre">_Py_wchar2char()</span></code> to <a class="reference internal" href="../c-api/sys.html#c.Py_EncodeLocale" title="Py_EncodeLocale"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_EncodeLocale()</span></code></a>, and document these functions.</li> <li><a class="reference external" href="https://bugs.python.org/issue21233">bpo-21233</a>: Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(), PyObject_Calloc(), _PyObject_GC_Calloc(). bytes(int) is now using <code class="docutils literal notranslate"><span class="pre">calloc()</span></code> instead of <code class="docutils literal notranslate"><span class="pre">malloc()</span></code> for large objects which is faster and use less memory.</li> <li><a class="reference external" href="https://bugs.python.org/issue20942">bpo-20942</a>: PyImport_ImportFrozenModuleObject() no longer sets __file__ to match what importlib does; this affects _frozen_importlib as well as any module loaded using imp.init_frozen().</li> </ul> </div> <div class="section" id="id247"> <h3>Documentation<a class="headerlink" href="#id247" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue19548">bpo-19548</a>: Update the codecs module documentation to better cover the distinction between text encodings and other codecs, together with other clarifications. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22394">bpo-22394</a>: Doc/Makefile now supports <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">venv</span> <span class="pre">PYTHON=../python</span></code> to create a venv for generating the documentation, e.g., <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">html</span> <span class="pre">PYTHON=venv/bin/python3</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue21514">bpo-21514</a>: The documentation of the json module now refers to new JSON RFC 7159 instead of obsoleted RFC 4627.</li> <li><a class="reference external" href="https://bugs.python.org/issue21777">bpo-21777</a>: The binary sequence methods on bytes and bytearray are now documented explicitly, rather than assuming users will be able to derive the expected behaviour from the behaviour of the corresponding str methods.</li> <li><a class="reference external" href="https://bugs.python.org/issue6916">bpo-6916</a>: undocument deprecated asynchat.fifo class.</li> <li><a class="reference external" href="https://bugs.python.org/issue17386">bpo-17386</a>: Expanded functionality of the <code class="docutils literal notranslate"><span class="pre">Doc/make.bat</span></code> script to make it much more comparable to <code class="docutils literal notranslate"><span class="pre">Doc/Makefile</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue21312">bpo-21312</a>: Update the thread_foobar.h template file to include newer threading APIs. Patch by Jack McCracken.</li> <li><a class="reference external" href="https://bugs.python.org/issue21043">bpo-21043</a>: Remove the recommendation for specific CA organizations and to mention the ability to load the OS certificates.</li> <li><a class="reference external" href="https://bugs.python.org/issue20765">bpo-20765</a>: Add missing documentation for PurePath.with_name() and PurePath.with_suffix().</li> <li><a class="reference external" href="https://bugs.python.org/issue19407">bpo-19407</a>: New package installation and distribution guides based on the Python Packaging Authority tools. Existing guides have been retained as legacy links from the distutils docs, as they still contain some required reference material for tool developers that isn’t recorded anywhere else.</li> <li><a class="reference external" href="https://bugs.python.org/issue19697">bpo-19697</a>: Document cases where __main__.__spec__ is None.</li> </ul> </div> <div class="section" id="id248"> <h3>Tests<a class="headerlink" href="#id248" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue18982">bpo-18982</a>: Add tests for CLI of the calendar module.</li> <li><a class="reference external" href="https://bugs.python.org/issue19548">bpo-19548</a>: Added some additional checks to test_codecs to ensure that statements in the updated documentation remain accurate. Patch by Martin Panter.</li> <li><a class="reference external" href="https://bugs.python.org/issue22838">bpo-22838</a>: All test_re tests now work with unittest test discovery.</li> <li><a class="reference external" href="https://bugs.python.org/issue22173">bpo-22173</a>: Update lib2to3 tests to use unittest test discovery.</li> <li><a class="reference external" href="https://bugs.python.org/issue16000">bpo-16000</a>: Convert test_curses to use unittest.</li> <li><a class="reference external" href="https://bugs.python.org/issue21456">bpo-21456</a>: Skip two tests in test_urllib2net.py if _ssl module not present. Patch by Remi Pointel.</li> <li><a class="reference external" href="https://bugs.python.org/issue20746">bpo-20746</a>: Fix test_pdb to run in refleak mode (-R). Patch by Xavier de Gaye.</li> <li><a class="reference external" href="https://bugs.python.org/issue22060">bpo-22060</a>: test_ctypes has been somewhat cleaned up and simplified; it now uses unittest test discovery to find its tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue22104">bpo-22104</a>: regrtest.py no longer holds a reference to the suite of tests loaded from test modules that don’t define test_main().</li> <li><a class="reference external" href="https://bugs.python.org/issue22111">bpo-22111</a>: Assorted cleanups in test_imaplib. Patch by Milan Oberkirch.</li> <li><a class="reference external" href="https://bugs.python.org/issue22002">bpo-22002</a>: Added <code class="docutils literal notranslate"><span class="pre">load_package_tests</span></code> function to test.support and used it to implement/augment test discovery in test_asyncio, test_email, test_importlib, test_json, and test_tools.</li> <li><a class="reference external" href="https://bugs.python.org/issue21976">bpo-21976</a>: Fix test_ssl to accept LibreSSL version strings. Thanks to William Orr.</li> <li><a class="reference external" href="https://bugs.python.org/issue21918">bpo-21918</a>: Converted test_tools from a module to a package containing separate test files for each tested script.</li> <li><a class="reference external" href="https://bugs.python.org/issue9554">bpo-9554</a>: Use modern unittest features in test_argparse. Initial patch by Denver Coneybeare and Radu Voicilas.</li> <li><a class="reference external" href="https://bugs.python.org/issue20155">bpo-20155</a>: Changed HTTP method names in failing tests in test_httpservers so that packet filtering software (specifically Windows Base Filtering Engine) does not interfere with the transaction semantics expected by the tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue19493">bpo-19493</a>: Refactored the ctypes test package to skip tests explicitly rather than silently.</li> <li><a class="reference external" href="https://bugs.python.org/issue18492">bpo-18492</a>: All resources are now allowed when tests are not run by regrtest.py.</li> <li><a class="reference external" href="https://bugs.python.org/issue21634">bpo-21634</a>: Fix pystone micro-benchmark: use floor division instead of true division to benchmark integers instead of floating point numbers. Set pystone version to 1.2. Patch written by Lennart Regebro.</li> <li><a class="reference external" href="https://bugs.python.org/issue21605">bpo-21605</a>: Added tests for Tkinter images.</li> <li><a class="reference external" href="https://bugs.python.org/issue21493">bpo-21493</a>: Added test for ntpath.expanduser(). Original patch by Claudiu Popa.</li> <li><a class="reference external" href="https://bugs.python.org/issue19925">bpo-19925</a>: Added tests for the spwd module. Original patch by Vajrasky Kok.</li> <li><a class="reference external" href="https://bugs.python.org/issue21522">bpo-21522</a>: Added Tkinter tests for Listbox.itemconfigure(), PanedWindow.paneconfigure(), and Menu.entryconfigure().</li> <li><a class="reference external" href="https://bugs.python.org/issue17756">bpo-17756</a>: Fix test_code test when run from the installed location.</li> <li><a class="reference external" href="https://bugs.python.org/issue17752">bpo-17752</a>: Fix distutils tests when run from the installed location.</li> <li><a class="reference external" href="https://bugs.python.org/issue18604">bpo-18604</a>: Consolidated checks for GUI availability. All platforms now at least check whether Tk can be instantiated when the GUI resource is requested.</li> <li><a class="reference external" href="https://bugs.python.org/issue21275">bpo-21275</a>: Fix a socket test on KFreeBSD.</li> <li><a class="reference external" href="https://bugs.python.org/issue21223">bpo-21223</a>: Pass test_site/test_startup_imports when some of the extensions are built as builtins.</li> <li><a class="reference external" href="https://bugs.python.org/issue20635">bpo-20635</a>: Added tests for Tk geometry managers.</li> <li>Add test case for freeze.</li> <li><a class="reference external" href="https://bugs.python.org/issue20743">bpo-20743</a>: Fix a reference leak in test_tcl.</li> <li><a class="reference external" href="https://bugs.python.org/issue21097">bpo-21097</a>: Move test_namespace_pkgs into test_importlib.</li> <li><a class="reference external" href="https://bugs.python.org/issue21503">bpo-21503</a>: Use test_both() consistently in test_importlib.</li> <li><a class="reference external" href="https://bugs.python.org/issue20939">bpo-20939</a>: Avoid various network test failures due to new redirect of <a class="reference external" href="http://www.python.org/">http://www.python.org/</a> to <a class="reference external" href="https://www.python.org">https://www.python.org</a>: use <a class="reference external" href="http://www.example.com">http://www.example.com</a> instead.</li> <li><a class="reference external" href="https://bugs.python.org/issue20668">bpo-20668</a>: asyncio tests no longer rely on tests.txt file. (Patch by Vajrasky Kok)</li> <li><a class="reference external" href="https://bugs.python.org/issue21093">bpo-21093</a>: Prevent failures of ctypes test_macholib on OS X if a copy of libz exists in $HOME/lib or /usr/local/lib.</li> <li><a class="reference external" href="https://bugs.python.org/issue22770">bpo-22770</a>: Prevent some Tk segfaults on OS X when running gui tests.</li> <li><a class="reference external" href="https://bugs.python.org/issue23211">bpo-23211</a>: Workaround test_logging failure on some OS X 10.6 systems.</li> <li><a class="reference external" href="https://bugs.python.org/issue23345">bpo-23345</a>: Prevent test_ssl failures with large OpenSSL patch level values (like 0.9.8zc).</li> </ul> </div> <div class="section" id="id249"> <h3>Tools/Demos<a class="headerlink" href="#id249" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue22314">bpo-22314</a>: pydoc now works when the LINES environment variable is set.</li> <li><a class="reference external" href="https://bugs.python.org/issue22615">bpo-22615</a>: Argument Clinic now supports the “type” argument for the int converter. This permits using the int converter with enums and typedefs.</li> <li><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: The makelocalealias.py script no longer ignores UTF-8 mapping.</li> <li><a class="reference external" href="https://bugs.python.org/issue20079">bpo-20079</a>: The makelocalealias.py script now can parse the SUPPORTED file from glibc sources and supports command line options for source paths.</li> <li><a class="reference external" href="https://bugs.python.org/issue22201">bpo-22201</a>: Command-line interface of the zipfile module now correctly extracts ZIP files with directory entries. Patch by Ryan Wilson.</li> <li><a class="reference external" href="https://bugs.python.org/issue22120">bpo-22120</a>: For functions using an unsigned integer return converter, Argument Clinic now generates a cast to that type for the comparison to -1 in the generated code. (This suppresses a compilation warning.)</li> <li><a class="reference external" href="https://bugs.python.org/issue18974">bpo-18974</a>: Tools/scripts/diff.py now uses argparse instead of optparse.</li> <li><a class="reference external" href="https://bugs.python.org/issue21906">bpo-21906</a>: Make Tools/scripts/md5sum.py work in Python 3. Patch by Zachary Ware.</li> <li><a class="reference external" href="https://bugs.python.org/issue21629">bpo-21629</a>: Fix Argument Clinic’s “–converters” feature.</li> <li>Add support for <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span></code> to 2to3.</li> <li>Add support for the PEP 465 matrix multiplication operator to 2to3.</li> <li><a class="reference external" href="https://bugs.python.org/issue16047">bpo-16047</a>: Fix module exception list and __file__ handling in freeze. Patch by Meador Inge.</li> <li><a class="reference external" href="https://bugs.python.org/issue11824">bpo-11824</a>: Consider ABI tags in freeze. Patch by Meador Inge.</li> <li><a class="reference external" href="https://bugs.python.org/issue20535">bpo-20535</a>: PYTHONWARNING no longer affects the run_tests.py script. Patch by Arfrever Frehtes Taifersar Arahesis.</li> </ul> </div> <div class="section" id="id250"> <h3>Windows<a class="headerlink" href="#id250" title="Permalink to this headline">¶</a></h3> <ul class="simple"> <li><a class="reference external" href="https://bugs.python.org/issue23260">bpo-23260</a>: Update Windows installer</li> <li>The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible result of this change is the addition of new native file dialogs when running on Windows Vista or newer. See Tcl/Tk’s TIP 432 for more information. Also, this version of Tcl/Tk includes support for Windows 10.</li> <li><a class="reference external" href="https://bugs.python.org/issue17896">bpo-17896</a>: The Windows build scripts now expect external library sources to be in <code class="docutils literal notranslate"><span class="pre">PCbuild\..\externals</span></code> rather than <code class="docutils literal notranslate"><span class="pre">PCbuild\..\..</span></code>.</li> <li><a class="reference external" href="https://bugs.python.org/issue17717">bpo-17717</a>: The Windows build scripts now use a copy of NASM pulled from svn.python.org to build OpenSSL.</li> <li><a class="reference external" href="https://bugs.python.org/issue21907">bpo-21907</a>: Improved the batch scripts provided for building Python.</li> <li><a class="reference external" href="https://bugs.python.org/issue22644">bpo-22644</a>: The bundled version of OpenSSL has been updated to 1.0.1j.</li> <li><a class="reference external" href="https://bugs.python.org/issue10747">bpo-10747</a>: Use versioned labels in the Windows start menu. Patch by Olive Kilburn.</li> <li><a class="reference external" href="https://bugs.python.org/issue22980">bpo-22980</a>: .pyd files with a version and platform tag (for example, “.cp35-win32.pyd”) will now be loaded in preference to those without tags.</li> </ul> <p><strong>(For information about older versions, consult the HISTORY file.)</strong></p> </div> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h3><a href="../contents.html">Table Of Contents</a></h3> <ul> <li><a class="reference internal" href="#">Changelog</a><ul> <li><a class="reference internal" href="#python-3-6-7-final">Python 3.6.7 final</a></li> <li><a class="reference internal" href="#python-3-6-7-release-candidate-2">Python 3.6.7 release candidate 2</a><ul> <li><a class="reference internal" href="#core-and-builtins">Core and Builtins</a></li> <li><a class="reference internal" href="#library">Library</a></li> <li><a class="reference internal" href="#documentation">Documentation</a></li> <li><a class="reference internal" href="#tests">Tests</a></li> <li><a class="reference internal" href="#macos">macOS</a></li> <li><a class="reference internal" href="#c-api">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-7-release-candidate-1">Python 3.6.7 release candidate 1</a><ul> <li><a class="reference internal" href="#security">Security</a></li> <li><a class="reference internal" href="#id2">Core and Builtins</a></li> <li><a class="reference internal" href="#id3">Library</a></li> <li><a class="reference internal" href="#id4">Documentation</a></li> <li><a class="reference internal" href="#id5">Tests</a></li> <li><a class="reference internal" href="#build">Build</a></li> <li><a class="reference internal" href="#windows">Windows</a></li> <li><a class="reference internal" href="#id6">macOS</a></li> <li><a class="reference internal" href="#idle">IDLE</a></li> <li><a class="reference internal" href="#tools-demos">Tools/Demos</a></li> <li><a class="reference internal" href="#id7">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-6-final">Python 3.6.6 final</a></li> <li><a class="reference internal" href="#python-3-6-6-release-candidate-1">Python 3.6.6 release candidate 1</a><ul> <li><a class="reference internal" href="#id8">Core and Builtins</a></li> <li><a class="reference internal" href="#id9">Library</a></li> <li><a class="reference internal" href="#id10">Documentation</a></li> <li><a class="reference internal" href="#id11">Tests</a></li> <li><a class="reference internal" href="#id12">Build</a></li> <li><a class="reference internal" href="#id13">Windows</a></li> <li><a class="reference internal" href="#id14">macOS</a></li> <li><a class="reference internal" href="#id15">IDLE</a></li> <li><a class="reference internal" href="#id16">Tools/Demos</a></li> <li><a class="reference internal" href="#id17">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-5-final">Python 3.6.5 final</a><ul> <li><a class="reference internal" href="#id18">Tests</a></li> <li><a class="reference internal" href="#id19">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-5-release-candidate-1">Python 3.6.5 release candidate 1</a><ul> <li><a class="reference internal" href="#id20">Security</a></li> <li><a class="reference internal" href="#id21">Core and Builtins</a></li> <li><a class="reference internal" href="#id22">Library</a></li> <li><a class="reference internal" href="#id23">Documentation</a></li> <li><a class="reference internal" href="#id24">Tests</a></li> <li><a class="reference internal" href="#id25">Build</a></li> <li><a class="reference internal" href="#id26">Windows</a></li> <li><a class="reference internal" href="#id27">macOS</a></li> <li><a class="reference internal" href="#id28">IDLE</a></li> <li><a class="reference internal" href="#id29">Tools/Demos</a></li> <li><a class="reference internal" href="#id30">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-4-final">Python 3.6.4 final</a></li> <li><a class="reference internal" href="#python-3-6-4-release-candidate-1">Python 3.6.4 release candidate 1</a><ul> <li><a class="reference internal" href="#id31">Core and Builtins</a></li> <li><a class="reference internal" href="#id32">Library</a></li> <li><a class="reference internal" href="#id33">Documentation</a></li> <li><a class="reference internal" href="#id34">Tests</a></li> <li><a class="reference internal" href="#id35">Build</a></li> <li><a class="reference internal" href="#id36">Windows</a></li> <li><a class="reference internal" href="#id37">macOS</a></li> <li><a class="reference internal" href="#id38">IDLE</a></li> <li><a class="reference internal" href="#id39">Tools/Demos</a></li> <li><a class="reference internal" href="#id40">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-3-final">Python 3.6.3 final</a><ul> <li><a class="reference internal" href="#id41">Library</a></li> <li><a class="reference internal" href="#id42">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-3-release-candidate-1">Python 3.6.3 release candidate 1</a><ul> <li><a class="reference internal" href="#id43">Security</a></li> <li><a class="reference internal" href="#id44">Core and Builtins</a></li> <li><a class="reference internal" href="#id45">Library</a></li> <li><a class="reference internal" href="#id46">Documentation</a></li> <li><a class="reference internal" href="#id47">Tests</a></li> <li><a class="reference internal" href="#id48">Build</a></li> <li><a class="reference internal" href="#id49">Windows</a></li> <li><a class="reference internal" href="#id50">IDLE</a></li> <li><a class="reference internal" href="#id51">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-2-final">Python 3.6.2 final</a></li> <li><a class="reference internal" href="#python-3-6-2-release-candidate-2">Python 3.6.2 release candidate 2</a><ul> <li><a class="reference internal" href="#id52">Security</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-2-release-candidate-1">Python 3.6.2 release candidate 1</a><ul> <li><a class="reference internal" href="#id53">Core and Builtins</a></li> <li><a class="reference internal" href="#id54">Library</a></li> <li><a class="reference internal" href="#id55">Security</a></li> <li><a class="reference internal" href="#id56">Library</a></li> <li><a class="reference internal" href="#id57">IDLE</a></li> <li><a class="reference internal" href="#id58">C API</a></li> <li><a class="reference internal" href="#id59">Build</a></li> <li><a class="reference internal" href="#id60">Documentation</a></li> <li><a class="reference internal" href="#id61">Tools/Demos</a></li> <li><a class="reference internal" href="#id62">Tests</a></li> <li><a class="reference internal" href="#id63">Windows</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-1-final">Python 3.6.1 final</a><ul> <li><a class="reference internal" href="#id64">Core and Builtins</a></li> <li><a class="reference internal" href="#id65">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-1-release-candidate-1">Python 3.6.1 release candidate 1</a><ul> <li><a class="reference internal" href="#id66">Core and Builtins</a></li> <li><a class="reference internal" href="#id67">Library</a></li> <li><a class="reference internal" href="#id68">IDLE</a></li> <li><a class="reference internal" href="#id69">Windows</a></li> <li><a class="reference internal" href="#id70">C API</a></li> <li><a class="reference internal" href="#id71">Documentation</a></li> <li><a class="reference internal" href="#id72">Tests</a></li> <li><a class="reference internal" href="#id73">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-final">Python 3.6.0 final</a></li> <li><a class="reference internal" href="#python-3-6-0-release-candidate-2">Python 3.6.0 release candidate 2</a><ul> <li><a class="reference internal" href="#id74">Core and Builtins</a></li> <li><a class="reference internal" href="#id75">Tools/Demos</a></li> <li><a class="reference internal" href="#id76">Windows</a></li> <li><a class="reference internal" href="#id77">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-release-candidate-1">Python 3.6.0 release candidate 1</a><ul> <li><a class="reference internal" href="#id78">Core and Builtins</a></li> <li><a class="reference internal" href="#id79">Library</a></li> <li><a class="reference internal" href="#id80">C API</a></li> <li><a class="reference internal" href="#id81">Documentation</a></li> <li><a class="reference internal" href="#id82">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-beta-4">Python 3.6.0 beta 4</a><ul> <li><a class="reference internal" href="#id83">Core and Builtins</a></li> <li><a class="reference internal" href="#id84">Library</a></li> <li><a class="reference internal" href="#id85">Documentation</a></li> <li><a class="reference internal" href="#id86">Tests</a></li> <li><a class="reference internal" href="#id87">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-beta-3">Python 3.6.0 beta 3</a><ul> <li><a class="reference internal" href="#id88">Core and Builtins</a></li> <li><a class="reference internal" href="#id89">Library</a></li> <li><a class="reference internal" href="#id90">Windows</a></li> <li><a class="reference internal" href="#id91">Build</a></li> <li><a class="reference internal" href="#id92">Tests</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-beta-2">Python 3.6.0 beta 2</a><ul> <li><a class="reference internal" href="#id93">Core and Builtins</a></li> <li><a class="reference internal" href="#id94">Library</a></li> <li><a class="reference internal" href="#id95">Windows</a></li> <li><a class="reference internal" href="#id96">C API</a></li> <li><a class="reference internal" href="#id97">Build</a></li> <li><a class="reference internal" href="#id98">Tests</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-beta-1">Python 3.6.0 beta 1</a><ul> <li><a class="reference internal" href="#id99">Core and Builtins</a></li> <li><a class="reference internal" href="#id100">Library</a></li> <li><a class="reference internal" href="#id101">IDLE</a></li> <li><a class="reference internal" href="#id102">C API</a></li> <li><a class="reference internal" href="#id103">Tests</a></li> <li><a class="reference internal" href="#id104">Build</a></li> <li><a class="reference internal" href="#id105">Tools/Demos</a></li> <li><a class="reference internal" href="#id106">Windows</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-alpha-4">Python 3.6.0 alpha 4</a><ul> <li><a class="reference internal" href="#id107">Core and Builtins</a></li> <li><a class="reference internal" href="#id108">Library</a></li> <li><a class="reference internal" href="#id109">IDLE</a></li> <li><a class="reference internal" href="#id110">Tests</a></li> <li><a class="reference internal" href="#id111">Windows</a></li> <li><a class="reference internal" href="#id112">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-alpha-3">Python 3.6.0 alpha 3</a><ul> <li><a class="reference internal" href="#id113">Core and Builtins</a></li> <li><a class="reference internal" href="#id114">Library</a></li> <li><a class="reference internal" href="#id115">Security</a></li> <li><a class="reference internal" href="#id116">Library</a></li> <li><a class="reference internal" href="#id117">Security</a></li> <li><a class="reference internal" href="#id118">Library</a></li> <li><a class="reference internal" href="#id119">IDLE</a></li> <li><a class="reference internal" href="#id120">C API</a></li> <li><a class="reference internal" href="#id121">Build</a></li> <li><a class="reference internal" href="#id122">Tools/Demos</a></li> <li><a class="reference internal" href="#id123">Documentation</a></li> <li><a class="reference internal" href="#id124">Tests</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-alpha-2">Python 3.6.0 alpha 2</a><ul> <li><a class="reference internal" href="#id125">Core and Builtins</a></li> <li><a class="reference internal" href="#id126">Library</a></li> <li><a class="reference internal" href="#id127">Security</a></li> <li><a class="reference internal" href="#id128">Library</a></li> <li><a class="reference internal" href="#id129">Security</a></li> <li><a class="reference internal" href="#id130">Library</a></li> <li><a class="reference internal" href="#id131">IDLE</a></li> <li><a class="reference internal" href="#id132">Documentation</a></li> <li><a class="reference internal" href="#id133">Tests</a></li> <li><a class="reference internal" href="#id134">Windows</a></li> <li><a class="reference internal" href="#id135">Build</a></li> <li><a class="reference internal" href="#id136">Windows</a></li> <li><a class="reference internal" href="#id137">C API</a></li> <li><a class="reference internal" href="#id138">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-6-0-alpha-1">Python 3.6.0 alpha 1</a><ul> <li><a class="reference internal" href="#id139">Core and Builtins</a></li> <li><a class="reference internal" href="#id140">Library</a></li> <li><a class="reference internal" href="#id141">Security</a></li> <li><a class="reference internal" href="#id142">Library</a></li> <li><a class="reference internal" href="#id143">Security</a></li> <li><a class="reference internal" href="#id144">Library</a></li> <li><a class="reference internal" href="#id145">Security</a></li> <li><a class="reference internal" href="#id146">Library</a></li> <li><a class="reference internal" href="#id147">IDLE</a></li> <li><a class="reference internal" href="#id148">Documentation</a></li> <li><a class="reference internal" href="#id149">Tests</a></li> <li><a class="reference internal" href="#id150">Build</a></li> <li><a class="reference internal" href="#id151">Windows</a></li> <li><a class="reference internal" href="#id152">Tools/Demos</a></li> <li><a class="reference internal" href="#id153">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-3-final">Python 3.5.3 final</a></li> <li><a class="reference internal" href="#python-3-5-3-release-candidate-1">Python 3.5.3 release candidate 1</a><ul> <li><a class="reference internal" href="#id154">Core and Builtins</a></li> <li><a class="reference internal" href="#id155">Library</a></li> <li><a class="reference internal" href="#id156">Security</a></li> <li><a class="reference internal" href="#id157">Library</a></li> <li><a class="reference internal" href="#id158">Security</a></li> <li><a class="reference internal" href="#id159">Library</a></li> <li><a class="reference internal" href="#id160">IDLE</a></li> <li><a class="reference internal" href="#id161">C API</a></li> <li><a class="reference internal" href="#id162">Documentation</a></li> <li><a class="reference internal" href="#id163">Tests</a></li> <li><a class="reference internal" href="#id164">Tools/Demos</a></li> <li><a class="reference internal" href="#id165">Windows</a></li> <li><a class="reference internal" href="#id166">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-2-final">Python 3.5.2 final</a><ul> <li><a class="reference internal" href="#id167">Core and Builtins</a></li> <li><a class="reference internal" href="#id168">Tests</a></li> <li><a class="reference internal" href="#id169">IDLE</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-2-release-candidate-1">Python 3.5.2 release candidate 1</a><ul> <li><a class="reference internal" href="#id170">Core and Builtins</a></li> <li><a class="reference internal" href="#id171">Security</a></li> <li><a class="reference internal" href="#id172">Library</a></li> <li><a class="reference internal" href="#id173">Security</a></li> <li><a class="reference internal" href="#id174">Library</a></li> <li><a class="reference internal" href="#id175">Security</a></li> <li><a class="reference internal" href="#id176">Library</a></li> <li><a class="reference internal" href="#id177">Security</a></li> <li><a class="reference internal" href="#id178">Library</a></li> <li><a class="reference internal" href="#id179">Security</a></li> <li><a class="reference internal" href="#id180">Library</a></li> <li><a class="reference internal" href="#id181">IDLE</a></li> <li><a class="reference internal" href="#id182">Documentation</a></li> <li><a class="reference internal" href="#id183">Tests</a></li> <li><a class="reference internal" href="#id184">Build</a></li> <li><a class="reference internal" href="#id185">Windows</a></li> <li><a class="reference internal" href="#id186">Tools/Demos</a></li> <li><a class="reference internal" href="#id187">Windows</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-1-final">Python 3.5.1 final</a><ul> <li><a class="reference internal" href="#id188">Core and Builtins</a></li> <li><a class="reference internal" href="#id189">Windows</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-1-release-candidate-1">Python 3.5.1 release candidate 1</a><ul> <li><a class="reference internal" href="#id190">Core and Builtins</a></li> <li><a class="reference internal" href="#id191">Library</a></li> <li><a class="reference internal" href="#id192">IDLE</a></li> <li><a class="reference internal" href="#id193">Documentation</a></li> <li><a class="reference internal" href="#id194">Tests</a></li> <li><a class="reference internal" href="#id195">Build</a></li> <li><a class="reference internal" href="#id196">Windows</a></li> <li><a class="reference internal" href="#id197">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-final">Python 3.5.0 final</a><ul> <li><a class="reference internal" href="#id198">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-release-candidate-4">Python 3.5.0 release candidate 4</a><ul> <li><a class="reference internal" href="#id199">Library</a></li> <li><a class="reference internal" href="#id200">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-release-candidate-3">Python 3.5.0 release candidate 3</a><ul> <li><a class="reference internal" href="#id201">Core and Builtins</a></li> <li><a class="reference internal" href="#id202">Library</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-release-candidate-2">Python 3.5.0 release candidate 2</a><ul> <li><a class="reference internal" href="#id203">Core and Builtins</a></li> <li><a class="reference internal" href="#id204">Library</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-release-candidate-1">Python 3.5.0 release candidate 1</a><ul> <li><a class="reference internal" href="#id205">Core and Builtins</a></li> <li><a class="reference internal" href="#id206">Library</a></li> <li><a class="reference internal" href="#id207">IDLE</a></li> <li><a class="reference internal" href="#id208">Documentation</a></li> <li><a class="reference internal" href="#id209">Tests</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-beta-4">Python 3.5.0 beta 4</a><ul> <li><a class="reference internal" href="#id210">Core and Builtins</a></li> <li><a class="reference internal" href="#id211">Library</a></li> <li><a class="reference internal" href="#id212">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-beta-3">Python 3.5.0 beta 3</a><ul> <li><a class="reference internal" href="#id213">Core and Builtins</a></li> <li><a class="reference internal" href="#id214">Library</a></li> <li><a class="reference internal" href="#id215">Tests</a></li> <li><a class="reference internal" href="#id216">Documentation</a></li> <li><a class="reference internal" href="#id217">Build</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-beta-2">Python 3.5.0 beta 2</a><ul> <li><a class="reference internal" href="#id218">Core and Builtins</a></li> <li><a class="reference internal" href="#id219">Library</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-beta-1">Python 3.5.0 beta 1</a><ul> <li><a class="reference internal" href="#id220">Core and Builtins</a></li> <li><a class="reference internal" href="#id221">Library</a></li> <li><a class="reference internal" href="#id222">IDLE</a></li> <li><a class="reference internal" href="#id223">Tests</a></li> <li><a class="reference internal" href="#id224">Documentation</a></li> <li><a class="reference internal" href="#id225">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-alpha-4">Python 3.5.0 alpha 4</a><ul> <li><a class="reference internal" href="#id226">Core and Builtins</a></li> <li><a class="reference internal" href="#id227">Library</a></li> <li><a class="reference internal" href="#id228">Build</a></li> <li><a class="reference internal" href="#id229">Tests</a></li> <li><a class="reference internal" href="#id230">Tools/Demos</a></li> <li><a class="reference internal" href="#id231">C API</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-alpha-3">Python 3.5.0 alpha 3</a><ul> <li><a class="reference internal" href="#id232">Core and Builtins</a></li> <li><a class="reference internal" href="#id233">Library</a></li> <li><a class="reference internal" href="#id234">Build</a></li> <li><a class="reference internal" href="#id235">Tests</a></li> <li><a class="reference internal" href="#id236">Tools/Demos</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-alpha-2">Python 3.5.0 alpha 2</a><ul> <li><a class="reference internal" href="#id237">Core and Builtins</a></li> <li><a class="reference internal" href="#id238">Library</a></li> <li><a class="reference internal" href="#id239">Build</a></li> <li><a class="reference internal" href="#id240">C API</a></li> <li><a class="reference internal" href="#id241">Windows</a></li> </ul> </li> <li><a class="reference internal" href="#python-3-5-0-alpha-1">Python 3.5.0 alpha 1</a><ul> <li><a class="reference internal" href="#id242">Core and Builtins</a></li> <li><a class="reference internal" href="#id243">Library</a></li> <li><a class="reference internal" href="#id244">IDLE</a></li> <li><a class="reference internal" href="#id245">Build</a></li> <li><a class="reference internal" href="#id246">C API</a></li> <li><a class="reference internal" href="#id247">Documentation</a></li> <li><a class="reference internal" href="#id248">Tests</a></li> <li><a class="reference internal" href="#id249">Tools/Demos</a></li> <li><a class="reference internal" href="#id250">Windows</a></li> </ul> </li> </ul> </li> </ul> <h4>Previous topic</h4> <p class="topless"><a href="2.0.html" title="previous chapter">What’s New in Python 2.0</a></p> <h4>Next topic</h4> <p class="topless"><a href="../tutorial/index.html" title="next chapter">The Python Tutorial</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../bugs.html">Report a Bug</a></li> <li> <a href="https://github.com/python/cpython/blob/3.6/Doc/whatsnew/changelog.rst" rel="nofollow">Show Source </a> </li> </ul> </div> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="../tutorial/index.html" title="The Python Tutorial" >next</a> |</li> <li class="right" > <a href="2.0.html" title="What’s New in Python 2.0" >previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li> <a href="../index.html">3.6.7 Documentation</a> » </li> <li class="nav-item nav-item-1"><a href="index.html" >What’s New in Python</a> »</li> <li class="right"> <div class="inline-search" style="display: none" role="search"> <form class="inline-search" action="../search.html" method="get"> <input placeholder="Quick search" type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('.inline-search').show(0);</script> | </li> </ul> </div> <div class="footer"> © <a href="../copyright.html">Copyright</a> 2001-2023, Python Software Foundation. <br /> The Python Software Foundation is a non-profit corporation. <a href="https://www.python.org/psf/donations/">Please donate.</a> <br /> Last updated on Dec 18, 2023. <a href="../bugs.html">Found a bug</a>? <br /> Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.7.6. </div> </body> </html>
Name
Size
Last Modified
Owner
Permissions
Actions
2.0.html
127.931
KB
December 18 2023 11:36:57
root
0644
2.1.html
79.507
KB
December 18 2023 11:36:57
root
0644
2.2.html
136.149
KB
December 18 2023 11:36:57
root
0644
2.3.html
227.391
KB
December 18 2023 11:36:57
root
0644
2.4.html
161.399
KB
December 18 2023 11:36:57
root
0644
2.5.html
247.889
KB
December 18 2023 11:36:57
root
0644
2.6.html
342.332
KB
December 18 2023 11:36:58
root
0644
2.7.html
316.37
KB
December 18 2023 11:36:58
root
0644
3.0.html
117.004
KB
December 18 2023 11:36:58
root
0644
3.1.html
61.49
KB
December 18 2023 11:36:58
root
0644
3.2.html
314.687
KB
December 18 2023 11:36:58
root
0644
3.3.html
304.562
KB
December 18 2023 11:36:58
root
0644
3.4.html
319.294
KB
December 18 2023 11:36:59
root
0644
3.5.html
302.078
KB
December 18 2023 11:36:59
root
0644
3.6.html
269.372
KB
December 18 2023 11:36:59
root
0644
changelog.html
796.678
KB
December 18 2023 11:37:00
root
0644
index.html
45.49
KB
December 18 2023 11:37:00
root
0644
2017 © D7net | D704T team