python-project/python-3.7.4-docs-html/whatsnew/changelog.html
Caleb Fontenot 335515d331 add files
2019-07-15 09:16:41 -07:00

14343 lines
1.4 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Changelog &#8212; Python 3.7.4 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/language_data.js"></script>
<script type="text/javascript" src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Search within Python 3.7.4 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="Whats 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" src="../_static/switchers.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>
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
</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="Whats 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> &#187;</li>
<li>
<span class="language_switcher_placeholder">en</span>
<span class="version_switcher_placeholder">3.7.4</span>
<a href="../index.html">Documentation </a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Whats New in Python</a> &#187;</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-next">
<h2>Python next<a class="headerlink" href="#python-next" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: XXXX-XX-XX</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><p><a class="reference external" href="https://bugs.python.org/issue37467">bpo-37467</a>: Fix <a class="reference internal" href="../library/sys.html#sys.excepthook" title="sys.excepthook"><code class="xref py py-func docutils literal notranslate"><span class="pre">sys.excepthook()</span></code></a> and <code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_Display()</span></code> if a
filename is a bytes string. For example, for a SyntaxError exception where
the filename attribute is a bytes string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37417">bpo-37417</a>: <code class="xref py py-meth docutils literal notranslate"><span class="pre">bytearray.extend()</span></code> now correctly handles errors that
arise during iteration. Patch by Brandt Bucher.</p></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><p><a class="reference external" href="https://bugs.python.org/issue37421">bpo-37421</a>: Fix <code class="xref py py-func docutils literal notranslate"><span class="pre">multiprocessing.util.get_temp_dir()</span></code> finalizer: clear
also the tempdir configuration of the current process, so next call to
<code class="docutils literal notranslate"><span class="pre">get_temp_dir()</span></code> will create a new temporary directory, rather than
reusing the removed temporary directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37420">bpo-37420</a>: <a class="reference internal" href="../library/os.html#os.sched_setaffinity" title="os.sched_setaffinity"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.sched_setaffinity()</span></code></a> now correctly handles errors that
arise during iteration over its <code class="docutils literal notranslate"><span class="pre">mask</span></code> argument. Patch by Brandt Bucher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29412">bpo-29412</a>: Fix IndexError in parsing a header value ending unexpectedly.
Patch by Abhilash Raj.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27860">bpo-27860</a>: Fix <code class="docutils literal notranslate"><span class="pre">IPv4Interface</span></code> and <code class="docutils literal notranslate"><span class="pre">IPv6Interface</span></code> didnt accept
string mask when the argument is tuple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33972">bpo-33972</a>: Email with single part but content-type set to <code class="docutils literal notranslate"><span class="pre">multipart/*</span></code>
doesnt raise AttributeError anymore.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37163">bpo-37163</a>: <a class="reference internal" href="../library/dataclasses.html#dataclasses.replace" title="dataclasses.replace"><code class="xref py py-func docutils literal notranslate"><span class="pre">dataclasses.replace()</span></code></a> now supports the field named “obj”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4963">bpo-4963</a>: Fixed non-deterministic behavior related to mimetypes extension
mapping and module reinitialization.</p></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><p><a class="reference external" href="https://bugs.python.org/issue37487">bpo-37487</a>: Fix PyList_GetItem index description to include 0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37478">bpo-37478</a>: Added possible exceptions to the description of os.chdir().</p></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><p><a class="reference external" href="https://bugs.python.org/issue37335">bpo-37335</a>: Improve locale coercion tests by using codec lookup instead of
more fragile replace().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37411">bpo-37411</a>: Fix test_wsgiref.testEnviron() to no longer depend on the
environment variables (dont fail if “X” variable is set).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37400">bpo-37400</a>: Fix test_os.test_chown(): use os.getgroups() rather than
grp.getgrall() to get groups. Rename also the test to test_chown_gid().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37359">bpo-37359</a>: Add cleanup option to python3 -m test to remove
<code class="docutils literal notranslate"><span class="pre">test_python_*</span></code> directories of previous failed jobs. Add “make
cleantest” to run <code class="docutils literal notranslate"><span class="pre">python3</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--cleanup</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37362">bpo-37362</a>: test_gdb no longer fails if it gets an “unexpected” message on
stderr: it now ignores stderr. The purpose of test_gdb is to test that
python-gdb.py commands work as expected, not to test gdb.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34347">bpo-34347</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_utf8_mode.test_cmd_line</span></code> for AIX. Patch by M. Felt</p></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><p><a class="reference external" href="https://bugs.python.org/issue10945">bpo-10945</a>: Officially drop support for creating bdist_wininst installers
on non-Windows systems.</p></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><p><a class="reference external" href="https://bugs.python.org/issue37325">bpo-37325</a>: Fix tab focus traversal order for help source and custom run
dialogs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26806">bpo-26806</a>: To compensate for stack frames added by IDLE and avoid possible
problems with low recursion limits, add 30 to limits in the user code
execution process. Subtract 30 when reporting recursion limits to make
this addition mostly transparent.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-4-final">
<h2>Python 3.7.4 final<a class="headerlink" href="#python-3-7-4-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-07-08</em></p>
<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><p><a class="reference external" href="https://bugs.python.org/issue37500">bpo-37500</a>: Due to unintended side effects, revert the change introduced by
<a class="reference external" href="https://bugs.python.org/issue1875">bpo-1875</a> in 3.7.4rc1 to check for syntax errors in dead conditional
code blocks.</p></li>
</ul>
</div>
<div class="section" id="id3">
<h3>Documentation<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue37149">bpo-37149</a>: Replace the dead link to the Tkinter 8.5 reference by John
Shipman, New Mexico Tech, with a link to the archive.org copy.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-4-release-candidate-2">
<h2>Python 3.7.4 release candidate 2<a class="headerlink" href="#python-3-7-4-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-07-02</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><p><a class="reference external" href="https://bugs.python.org/issue37463">bpo-37463</a>: ssl.match_hostname() no longer accepts IPv4 addresses with
additional text after the address and only quad-dotted notation without
trailing whitespaces. Some inet_aton() implementations ignore whitespace
and all data after whitespace, e.g. 127.0.0.1 whatever.</p></li>
</ul>
</div>
<div class="section" id="id4">
<h3>Core and Builtins<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24214">bpo-24214</a>: Improved support of the surrogatepass error handler in the
UTF-8 and UTF-16 incremental decoders.</p></li>
</ul>
</div>
<div class="section" id="id5">
<h3>Library<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue37440">bpo-37440</a>: http.client now enables TLS 1.3 post-handshake authentication
for default context or if a cert_file is passed to HTTPSConnection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37437">bpo-37437</a>: Update vendorized expat version to 2.2.7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37428">bpo-37428</a>: SSLContext.post_handshake_auth = True no longer sets
SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the
option is documented as ignored for clients, OpenSSL implicitly enables
cert chain validation when the flag is set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32627">bpo-32627</a>: Fix compile error when <code class="docutils literal notranslate"><span class="pre">_uuid</span></code> headers conflicting included.</p></li>
</ul>
</div>
<div class="section" id="id6">
<h3>Windows<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue37369">bpo-37369</a>: Fixes path for <a class="reference internal" href="../library/sys.html#sys.executable" title="sys.executable"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.executable</span></code></a> when running from the
Microsoft Store.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35360">bpo-35360</a>: Update Windows builds to use SQLite 3.28.0.</p></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><p><a class="reference external" href="https://bugs.python.org/issue34602">bpo-34602</a>: Avoid test suite failures on macOS by no longer calling
resource.setrlimit to increase the process stack size limit at runtime.
The runtime change is no longer needed since the interpreter is being
built with a larger default stack size.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-4-release-candidate-1">
<h2>Python 3.7.4 release candidate 1<a class="headerlink" href="#python-3-7-4-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-06-18</em></p>
<div class="section" id="id7">
<h3>Security<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35907">bpo-35907</a>: CVE-2019-9948: Avoid file reading by disallowing
<code class="docutils literal notranslate"><span class="pre">local-file://</span></code> and <code class="docutils literal notranslate"><span class="pre">local_file://</span></code> URL schemes in
<code class="docutils literal notranslate"><span class="pre">URLopener().open()</span></code> and <code class="docutils literal notranslate"><span class="pre">URLopener().retrieve()</span></code> of
<a class="reference internal" href="../library/urllib.request.html#module-urllib.request" title="urllib.request: Extensible library for opening URLs."><code class="xref py py-mod docutils literal notranslate"><span class="pre">urllib.request</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36742">bpo-36742</a>: Fixes mishandling of pre-normalization characters in
urlsplit().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30458">bpo-30458</a>: Address CVE-2019-9740 by disallowing URL paths with embedded
whitespace or control characters through into the underlying http client
request. Such potentially malicious header injection URLs now cause an
http.client.InvalidURL exception to be raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33529">bpo-33529</a>: Prevent fold function used in email header encoding from
entering infinite loop when there are too many non-ASCII characters in a
header.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35755">bpo-35755</a>: <a class="reference internal" href="../library/shutil.html#shutil.which" title="shutil.which"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.which()</span></code></a> now uses <code class="docutils literal notranslate"><span class="pre">os.confstr(&quot;CS_PATH&quot;)</span></code> if
available and if the <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PATH</span></code> environment variable is not set.
Remove also the current directory from <code class="xref py py-data docutils literal notranslate"><span class="pre">posixpath.defpath</span></code>. On Unix,
<a class="reference internal" href="../library/shutil.html#shutil.which" title="shutil.which"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.which()</span></code></a> and the <a class="reference internal" href="../library/subprocess.html#module-subprocess" title="subprocess: Subprocess management."><code class="xref py py-mod docutils literal notranslate"><span class="pre">subprocess</span></code></a> module no longer search the
executable in the current directory if the <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PATH</span></code> environment
variable is not set.</p></li>
</ul>
</div>
<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><p><a class="reference external" href="https://bugs.python.org/issue37269">bpo-37269</a>: Fix a bug in the peephole optimizer that was not treating
correctly constant conditions with binary operators. Patch by Pablo
Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37219">bpo-37219</a>: Remove errorneous optimization for empty set differences.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26423">bpo-26423</a>: Fix possible overflow in <code class="docutils literal notranslate"><span class="pre">wrap_lenfunc()</span></code> when <code class="docutils literal notranslate"><span class="pre">sizeof(long)</span>
<span class="pre">&lt;</span> <span class="pre">sizeof(Py_ssize_t)</span></code> (e.g., 64-bit Windows).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36829">bpo-36829</a>: <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_WriteUnraisable" title="PyErr_WriteUnraisable"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_WriteUnraisable()</span></code></a> now displays the exception even
if displaying the traceback failed. Moreover, hold a strong reference to
<a class="reference internal" href="../library/sys.html#sys.stderr" title="sys.stderr"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.stderr</span></code></a> while using it. Document that an exception must be set
when calling <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_WriteUnraisable" title="PyErr_WriteUnraisable"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_WriteUnraisable()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36907">bpo-36907</a>: Fix a crash when calling a C function with a keyword dict
(<code class="docutils literal notranslate"><span class="pre">f(**kwargs)</span></code>) and changing the dict <code class="docutils literal notranslate"><span class="pre">kwargs</span></code> while that function is
running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36946">bpo-36946</a>: Fix possible signed integer overflow when handling slices.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27987">bpo-27987</a>: <code class="docutils literal notranslate"><span class="pre">PyGC_Head</span></code> structure is aligned to <code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">double</span></code>. This is
needed to ensure GC-ed objects are aligned properly. Patch by Inada
Naoki.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1875">bpo-1875</a>: A <a class="reference internal" href="../library/exceptions.html#SyntaxError" title="SyntaxError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SyntaxError</span></code></a> is now raised if a code blocks that will be
optimized away (e.g. if conditions that are always false) contains syntax
errors. Patch by Pablo Galindo. (Reverted in 3.7.4 final by
<a class="reference external" href="https://bugs.python.org/issue37500">bpo-37500</a>.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28866">bpo-28866</a>: Avoid caching attributes of classes which type defines mro() to
avoid a hard cache invalidation problem.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27639">bpo-27639</a>: Correct return type for UserList slicing operations. Patch by
Michael Blahay, Erick Cervantes, and vaultah</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32849">bpo-32849</a>: Fix Python Initialization code on FreeBSD to detect properly
when stdin file descriptor (fd 0) is invalid.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27987">bpo-27987</a>: pymalloc returns memory blocks aligned by 16 bytes, instead of
8 bytes, on 64-bit platforms to conform x86-64 ABI. Recent compilers
assume this alignment more often. Patch by Inada Naoki.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36504">bpo-36504</a>: Fix signed integer overflow in _ctypes.cs
<code class="docutils literal notranslate"><span class="pre">PyCArrayType_new()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20844">bpo-20844</a>: Fix running script with encoding cookie and LF line ending may
fail on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24214">bpo-24214</a>: Fixed support of the surrogatepass error handler in the UTF-8
incremental decoder.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36459">bpo-36459</a>: Fix a possible double <code class="docutils literal notranslate"><span class="pre">PyMem_FREE()</span></code> due to tokenizer.cs
<code class="docutils literal notranslate"><span class="pre">tok_nextc()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36433">bpo-36433</a>: Fixed TypeError message in classmethoddescr_call.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36430">bpo-36430</a>: Fix a possible reference leak in <a class="reference internal" href="../library/itertools.html#itertools.count" title="itertools.count"><code class="xref py py-func docutils literal notranslate"><span class="pre">itertools.count()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36440">bpo-36440</a>: Include node names in <code class="docutils literal notranslate"><span class="pre">ParserError</span></code> messages, instead of
numeric IDs. Patch by A. Skrobov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36421">bpo-36421</a>: Fix a possible double decref in _ctypes.cs
<code class="docutils literal notranslate"><span class="pre">PyCArrayType_new()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36256">bpo-36256</a>: Fix bug in parsermodule when parsing a state in a DFA that has
two or more arcs with labels of the same type. Patch by Pablo Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36236">bpo-36236</a>: At Python initialization, the current directory is no longer
prepended to <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> if it has been removed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36262">bpo-36262</a>: Fix an unlikely memory leak on conversion from string to float
in the function <code class="docutils literal notranslate"><span class="pre">_Py_dg_strtod()</span></code> used by <code class="docutils literal notranslate"><span class="pre">float(str)</span></code>,
<code class="docutils literal notranslate"><span class="pre">complex(str)</span></code>, <a class="reference internal" href="../library/pickle.html#pickle.load" title="pickle.load"><code class="xref py py-func docutils literal notranslate"><span class="pre">pickle.load()</span></code></a>, <a class="reference internal" href="../library/marshal.html#marshal.load" title="marshal.load"><code class="xref py py-func docutils literal notranslate"><span class="pre">marshal.load()</span></code></a>, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36218">bpo-36218</a>: Fix a segfault occuring when sorting a list of heterogeneous
values. Patch contributed by Rémi Lapeyre and Elliot Gorokhovsky.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36035">bpo-36035</a>: Added fix for broken symlinks in combination with pathlib</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18372">bpo-18372</a>: Add missing <a class="reference internal" href="../c-api/gcsupport.html#c.PyObject_GC_Track" title="PyObject_GC_Track"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyObject_GC_Track()</span></code></a> calls in the
<a class="reference internal" href="../library/pickle.html#module-pickle" title="pickle: Convert Python objects to streams of bytes and back."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code></a> module. Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34408">bpo-34408</a>: Prevent a null pointer dereference and resource leakage in
<code class="docutils literal notranslate"><span class="pre">PyInterpreterState_New()</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id9">
<h3>Library<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue37280">bpo-37280</a>: Use threadpool for reading from file for sendfile fallback
mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37279">bpo-37279</a>: Fix asyncio sendfile support when sendfile sends extra data in
fallback mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19865">bpo-19865</a>: <a class="reference internal" href="../library/ctypes.html#ctypes.create_unicode_buffer" title="ctypes.create_unicode_buffer"><code class="xref py py-func docutils literal notranslate"><span class="pre">ctypes.create_unicode_buffer()</span></code></a> now also supports
non-BMP characters on platforms with 16-bit <code class="xref c c-type docutils literal notranslate"><span class="pre">wchar_t</span></code> (for
example, Windows and AIX).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35922">bpo-35922</a>: Fix <code class="xref py py-meth docutils literal notranslate"><span class="pre">RobotFileParser.crawl_delay()</span></code> and
<code class="xref py py-meth docutils literal notranslate"><span class="pre">RobotFileParser.request_rate()</span></code> to return <code class="docutils literal notranslate"><span class="pre">None</span></code> rather than raise
<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> when no relevant rule is defined in the robots.txt
file. Patch by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36607">bpo-36607</a>: Eliminate <a class="reference internal" href="../library/exceptions.html#RuntimeError" title="RuntimeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> raised by
<a class="reference internal" href="../library/asyncio-task.html#asyncio.all_tasks" title="asyncio.all_tasks"><code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio.all_tasks()</span></code></a> if internal tasks weak set is changed by
another thread during iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36402">bpo-36402</a>: Fix a race condition at Python shutdown when waiting for
threads. Wait until the Python thread state of all non-daemon threads get
deleted (join all non-daemon threads), rather than just wait until
non-daemon Python threads complete.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34886">bpo-34886</a>: Fix an unintended ValueError from <a class="reference internal" href="../library/subprocess.html#subprocess.run" title="subprocess.run"><code class="xref py py-func docutils literal notranslate"><span class="pre">subprocess.run()</span></code></a> when
checking for conflicting <a class="reference internal" href="../library/functions.html#input" title="input"><code class="xref py py-obj docutils literal notranslate"><span class="pre">input</span></code></a> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">stdin</span></code> or <code class="xref py py-obj docutils literal notranslate"><span class="pre">capture_output</span></code> and
<code class="xref py py-obj docutils literal notranslate"><span class="pre">stdout</span></code> or <code class="xref py py-obj docutils literal notranslate"><span class="pre">stderr</span></code> args when they were explicitly provided but with
<a class="reference internal" href="../library/constants.html#None" title="None"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a> values within a passed in <code class="xref py py-obj docutils literal notranslate"><span class="pre">**kwargs</span></code> dict rather than as passed
directly by name. Patch contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37173">bpo-37173</a>: The exception message for <code class="docutils literal notranslate"><span class="pre">inspect.getfile()</span></code> now correctly
reports the passed class rather than the builtins module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12639">bpo-12639</a>: <a class="reference internal" href="../library/msilib.html#msilib.Directory.start_component" title="msilib.Directory.start_component"><code class="xref py py-meth docutils literal notranslate"><span class="pre">msilib.Directory.start_component()</span></code></a> no longer fails if
<em>keyfile</em> is not <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36520">bpo-36520</a>: Lengthy email headers with UTF-8 characters are now properly
encoded when they are folded. Patch by Jeffrey Kintscher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37054">bpo-37054</a>: Fix destructor <code class="xref py py-class docutils literal notranslate"><span class="pre">_pyio.BytesIO</span></code> and
<code class="xref py py-class docutils literal notranslate"><span class="pre">_pyio.TextIOWrapper</span></code>: initialize their <code class="docutils literal notranslate"><span class="pre">_buffer</span></code> attribute as
soon as possible (in the class body), because its used by <code class="docutils literal notranslate"><span class="pre">__del__()</span></code>
which calls <code class="docutils literal notranslate"><span class="pre">close()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30835">bpo-30835</a>: Fixed a bug in email parsing where a message with invalid bytes
in content-transfer-encoding of a multipart message can cause an
AttributeError. Patch by Andrew Donnellan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37035">bpo-37035</a>: Dont log OSError based exceptions if a fatal error has
occurred in asyncio transport. Peer can generate almost any OSError, user
cannot avoid these exceptions by fixing own code. Errors are still
propagated to user code, its just logging them is pointless and pollute
asyncio logs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37008">bpo-37008</a>: Add support for calling <a class="reference internal" href="../library/functions.html#next" title="next"><code class="xref py py-func docutils literal notranslate"><span class="pre">next()</span></code></a> with the mock resulting
from <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.mock_open" title="unittest.mock.mock_open"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.mock_open()</span></code></a></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27737">bpo-27737</a>: Allow whitespace only header encoding in <code class="docutils literal notranslate"><span class="pre">email.header</span></code> - by
Batuhan Taskaya</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36969">bpo-36969</a>: PDB command <code class="xref py py-obj docutils literal notranslate"><span class="pre">args</span></code> now display keyword only arguments. Patch
contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36983">bpo-36983</a>: Add missing names to <code class="docutils literal notranslate"><span class="pre">typing.__all__</span></code>: <code class="docutils literal notranslate"><span class="pre">ChainMap</span></code>,
<code class="docutils literal notranslate"><span class="pre">ForwardRef</span></code>, <code class="docutils literal notranslate"><span class="pre">OrderedDict</span></code> - by Anthony Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21315">bpo-21315</a>: Email headers containing RFC2047 encoded words are parsed
despite the missing whitespace, and a defect registered. Also missing
trailing whitespace after encoded words is now registered as a defect.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33524">bpo-33524</a>: Fix the folding of email header when the max_line_length is 0
or None and the header contains non-ascii characters. Contributed by
Licht Takeuchi (&#64;Licht-T).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24564">bpo-24564</a>: <a class="reference internal" href="../library/shutil.html#shutil.copystat" title="shutil.copystat"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.copystat()</span></code></a> now ignores <a class="reference internal" href="../library/errno.html#errno.EINVAL" title="errno.EINVAL"><code class="xref py py-const docutils literal notranslate"><span class="pre">errno.EINVAL</span></code></a> on
<a class="reference internal" href="../library/os.html#os.setxattr" title="os.setxattr"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.setxattr()</span></code></a> which may occur when copying files on filesystems
without extended attributes support.</p>
<p>Original patch by Giampaolo Rodola, updated by Ying Wang.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36845">bpo-36845</a>: Added validation of integer prefixes to the construction of IP
networks and interfaces in the ipaddress module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35545">bpo-35545</a>: Fix asyncio discarding IPv6 scopes when ensuring hostname
resolutions internally</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35070">bpo-35070</a>: posix.getgrouplist() now works correctly when the user belongs
to NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24538">bpo-24538</a>: In <a class="reference internal" href="../library/shutil.html#shutil.copystat" title="shutil.copystat"><code class="xref py py-obj docutils literal notranslate"><span class="pre">shutil.copystat()</span></code></a>, first copy extended file attributes and
then file permissions, since extended attributes can only be set on the
destination while it is still writeable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33110">bpo-33110</a>: Handle exceptions raised by functions added by
concurrent.futures add_done_callback correctly when the Future has already
completed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26903">bpo-26903</a>: Limit <code class="xref py py-obj docutils literal notranslate"><span class="pre">max_workers</span></code> in <code class="xref py py-obj docutils literal notranslate"><span class="pre">ProcessPoolExecutor</span></code> to 61 to work
around a WaitForMultipleObjects limitation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36813">bpo-36813</a>: Fix <a class="reference internal" href="../library/logging.handlers.html#logging.handlers.QueueListener" title="logging.handlers.QueueListener"><code class="xref py py-class docutils literal notranslate"><span class="pre">QueueListener</span></code></a> to call
<code class="docutils literal notranslate"><span class="pre">queue.task_done()</span></code> upon stopping. Patch by Bar Harel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36734">bpo-36734</a>: Fix compilation of <code class="docutils literal notranslate"><span class="pre">faulthandler.c</span></code> on HP-UX. Initialize
<code class="docutils literal notranslate"><span class="pre">stack_t</span> <span class="pre">current_stack</span></code> to zero using <code class="docutils literal notranslate"><span class="pre">memset()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29183">bpo-29183</a>: Fix double exceptions in <a class="reference internal" href="../library/wsgiref.html#wsgiref.handlers.BaseHandler" title="wsgiref.handlers.BaseHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">wsgiref.handlers.BaseHandler</span></code></a>
by calling its <code class="xref py py-meth docutils literal notranslate"><span class="pre">close()</span></code> method only
when no exception is raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36650">bpo-36650</a>: The C version of functools.lru_cache() was treating calls with
an empty <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code> dictionary as being distinct from calls with no
keywords at all. This did not result in an incorrect answer, but it did
trigger an unexpected cache miss.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28552">bpo-28552</a>: Fix <a class="reference internal" href="../distutils/apiref.html#module-distutils.sysconfig" title="distutils.sysconfig: Low-level access to configuration information of the Python interpreter."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.sysconfig</span></code></a> if <a class="reference internal" href="../library/sys.html#sys.executable" title="sys.executable"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.executable</span></code></a> is
<code class="docutils literal notranslate"><span class="pre">None</span></code> or an empty string: use <a class="reference internal" href="../library/os.html#os.getcwd" title="os.getcwd"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.getcwd()</span></code></a> to initialize
<code class="docutils literal notranslate"><span class="pre">project_base</span></code>. Fix also the distutils build command: dont use
<a class="reference internal" href="../library/sys.html#sys.executable" title="sys.executable"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.executable</span></code></a> if it is <code class="docutils literal notranslate"><span class="pre">None</span></code> or an empty string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35755">bpo-35755</a>: <a class="reference internal" href="../library/shutil.html#shutil.which" title="shutil.which"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.which()</span></code></a> and
<code class="xref py py-func docutils literal notranslate"><span class="pre">distutils.spawn.find_executable()</span></code> now use <code class="docutils literal notranslate"><span class="pre">os.confstr(&quot;CS_PATH&quot;)</span></code>
if available instead of <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. Moreover, dont use <code class="docutils literal notranslate"><span class="pre">os.confstr(&quot;CS_PATH&quot;)</span></code> nor
<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 set to an empty
string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36613">bpo-36613</a>: Fix <a class="reference internal" href="../library/asyncio.html#module-asyncio" title="asyncio: Asynchronous I/O."><code class="xref py py-mod docutils literal notranslate"><span class="pre">asyncio</span></code></a> wait() not removing callback if exception</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36598">bpo-36598</a>: Fix <code class="docutils literal notranslate"><span class="pre">isinstance</span></code> check for Mock objects with spec when the
code is executed under tracing. Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36533">bpo-36533</a>: Reinitialize logging.Handler locks in forked child processes
instead of attempting to acquire them all in the parent before forking
only to be released in the child process. The acquire/release pattern was
leading to deadlocks in code that has implemented any form of chained
logging handlers that depend upon one another as the lock acquision order
cannot be guaranteed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36522">bpo-36522</a>: If <em>debuglevel</em> is set to &gt;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>, print all
values for headers with multiple values for the same header name. Patch by
Matt Houglum.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36492">bpo-36492</a>: Arbitrary keyword arguments (even with names “self” and “func”)
can now be passed to some functions which should accept arbitrary keyword
arguments and pass them to other function (for example partialmethod(),
TestCase.addCleanup() and Profile.runcall()) if the required arguments are
passed as positional arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36434">bpo-36434</a>: Errors during writing to a ZIP file no longer prevent to
properly close it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34745">bpo-34745</a>: Fix <a class="reference internal" href="../library/asyncio.html#module-asyncio" title="asyncio: Asynchronous I/O."><code class="xref py py-mod docutils literal notranslate"><span class="pre">asyncio</span></code></a> ssl memory issues caused by circular
references</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36321">bpo-36321</a>: collections.namedtuple() misspelled the name of an attribute.
To be consistent with typing.NamedTuple, the attribute name should have
been “_field_defaults” instead of “_fields_defaults”. For backwards
compatibility, both spellings are now created. The misspelled version may
be removed in the future.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36272">bpo-36272</a>: <a class="reference internal" href="../library/logging.html#module-logging" title="logging: Flexible event logging system for applications."><code class="xref py py-mod docutils literal notranslate"><span class="pre">logging</span></code></a> does not silently ignore RecursionError anymore.
Patch contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36235">bpo-36235</a>: Fix <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> in <code class="docutils literal notranslate"><span class="pre">customize_compiler()</span></code> of
<code class="docutils literal notranslate"><span class="pre">distutils.sysconfig</span></code>: when the <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> environment variable is
defined, dont override <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> variable with the <code class="docutils literal notranslate"><span class="pre">OPT</span></code> variable
anymore. Initial patch written by David Malcolm.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35125">bpo-35125</a>: Asyncio: Remove inner callback on outer cancellation in shield</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35802">bpo-35802</a>: Clean up code which checked presence of <code class="docutils literal notranslate"><span class="pre">os.stat</span></code> /
<code class="docutils literal notranslate"><span class="pre">os.lstat</span></code> / <code class="docutils literal notranslate"><span class="pre">os.chmod</span></code> which are always present. Patch by Anthony
Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23078">bpo-23078</a>: Add support for <a class="reference internal" href="../library/functions.html#classmethod" title="classmethod"><code class="xref py py-func docutils literal notranslate"><span class="pre">classmethod()</span></code></a> and <a class="reference internal" href="../library/functions.html#staticmethod" title="staticmethod"><code class="xref py py-func docutils literal notranslate"><span class="pre">staticmethod()</span></code></a> to
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.create_autospec" title="unittest.mock.create_autospec"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.create_autospec()</span></code></a>. Initial patch by Felipe Ochoa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35721">bpo-35721</a>: Fix <code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.SelectorEventLoop.subprocess_exec()</span></code> leaks
file descriptors if <code class="docutils literal notranslate"><span class="pre">Popen</span></code> fails and called with
<code class="docutils literal notranslate"><span class="pre">stdin=subprocess.PIPE</span></code>. Patch by Niklas Fiekas.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35726">bpo-35726</a>: QueueHandler.prepare() now makes a copy of the record before
modifying and enqueueing it, to avoid affecting other handlers in the
chain.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31855">bpo-31855</a>: <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.mock_open" title="unittest.mock.mock_open"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.mock_open()</span></code></a> results now respects the
argument of read([size]). Patch contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35082">bpo-35082</a>: Dont return deleted attributes when calling dir on a
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.Mock" title="unittest.mock.Mock"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.mock.Mock</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34547">bpo-34547</a>: <a class="reference internal" href="../library/wsgiref.html#wsgiref.handlers.BaseHandler" title="wsgiref.handlers.BaseHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">wsgiref.handlers.BaseHandler</span></code></a> now handles abrupt client
connection terminations gracefully. Patch by Petter Strandmark.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34424">bpo-34424</a>: Fix serialization of messages containing encoded strings when
the policy.linesep is set to a multi-character string. Patch by Jens
Troeger.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33361">bpo-33361</a>: Fix a bug in <a class="reference internal" href="../library/codecs.html#codecs.StreamRecoder" title="codecs.StreamRecoder"><code class="xref py py-class docutils literal notranslate"><span class="pre">codecs.StreamRecoder</span></code></a> where seeking might
leave old data in a buffer and break subsequent read calls. Patch by Ammar
Askar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31922">bpo-31922</a>: <code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.AbstractEventLoop.create_datagram_endpoint()</span></code>: Do
not connect UDP socket when broadcast is allowed. This allows to receive
replies after a UDP broadcast.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22102">bpo-22102</a>: Added support for ZIP files with disks set to 0. Such files are
commonly created by builtin tools on Windows when use ZIP64 extension.
Patch by Francisco Facioni.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27141">bpo-27141</a>: Added a <code class="docutils literal notranslate"><span class="pre">__copy__()</span></code> to <code class="docutils literal notranslate"><span class="pre">collections.UserList</span></code> and
<code class="docutils literal notranslate"><span class="pre">collections.UserDict</span></code> in order to correctly implement shallow copying
of the objects. Patch by Bar Harel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31829">bpo-31829</a>: <code class="docutils literal notranslate"><span class="pre">\r</span></code>, <code class="docutils literal notranslate"><span class="pre">\0</span></code> and <code class="docutils literal notranslate"><span class="pre">\x1a</span></code> (end-of-file on Windows) are now
escaped in protocol 0 pickles of Unicode strings. This allows to load them
without loss from files open in text mode in Python 2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31292">bpo-31292</a>: Fix <code class="docutils literal notranslate"><span class="pre">setup.py</span> <span class="pre">check</span> <span class="pre">--restructuredtext</span></code> for files containing
<code class="docutils literal notranslate"><span class="pre">include</span></code> directives.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23395">bpo-23395</a>: <code class="docutils literal notranslate"><span class="pre">_thread.interrupt_main()</span></code> now avoids setting the Python
error status if the <code class="docutils literal notranslate"><span class="pre">SIGINT</span></code> signal is ignored or not handled by Python.</p></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><p><a class="reference external" href="https://bugs.python.org/issue34903">bpo-34903</a>: Documented that in <a class="reference internal" href="../library/datetime.html#datetime.datetime.strptime" title="datetime.datetime.strptime"><code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.datetime.strptime()</span></code></a>, the
leading zero in some two-digit formats is optional. Patch by Mike Gleen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36984">bpo-36984</a>: Improve version added references in <code class="docutils literal notranslate"><span class="pre">typing</span></code> module - by
Anthony Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36868">bpo-36868</a>: Whats new now mentions SSLContext.hostname_checks_common_name
instead of SSLContext.host_flags.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36783">bpo-36783</a>: Added C API Documentation for Time_FromTimeAndFold and
PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison
Abahurire.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30840">bpo-30840</a>: Document relative imports</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36523">bpo-36523</a>: Add docstring for io.IOBase.writelines().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36425">bpo-36425</a>: New documentation translation: <a class="reference external" href="https://docs.python.org/zh-cn/">Simplified Chinese</a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36157">bpo-36157</a>: Added Documention for PyInterpreterState_Main().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36138">bpo-36138</a>: Improve documentation about converting datetime.timedelta to
scalars.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22865">bpo-22865</a>: Add detail to the documentation on the <a class="reference internal" href="../library/pty.html#pty.spawn" title="pty.spawn"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pty.spawn</span></code></a> function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35581">bpo-35581</a>: &#64;typing.type_check_only now allows type stubs to mark functions
and classes not available during runtime.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35564">bpo-35564</a>: Explicitly set master_doc variable in conf.py for compliance
with Sphinx 2.0</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10536">bpo-10536</a>: Enhance the gettext docs. Patch by Éric Araujo</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32995">bpo-32995</a>: Added the context variable in glossary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33832">bpo-33832</a>: Add glossary entry for magic method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33482">bpo-33482</a>: Make <code class="xref py py-obj docutils literal notranslate"><span class="pre">codecs.StreamRecoder.writelines</span></code> take a list of bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25735">bpo-25735</a>: Added documentation for func factorial to indicate that returns
integer values</p></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><p><a class="reference external" href="https://bugs.python.org/issue35998">bpo-35998</a>: Avoid TimeoutError in test_asyncio: test_start_tls_server_1()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37153">bpo-37153</a>: <code class="docutils literal notranslate"><span class="pre">test_venv.test_mutiprocessing()</span></code> now explicitly calls
<code class="docutils literal notranslate"><span class="pre">pool.terminate()</span></code> to wait until the pool completes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37081">bpo-37081</a>: Test with OpenSSL 1.1.1c</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36915">bpo-36915</a>: The main regrtest process now always removes all temporary
directories of worker processes even if they crash or if they are killed
on KeyboardInterrupt (CTRL+c).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36719">bpo-36719</a>: “python3 -m test -jN …” now continues the execution of next
tests when a worker process crash (CHILD_ERROR state). Previously, the
test suite stopped immediately. Use failfast to stop at the first error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36816">bpo-36816</a>: Update Lib/test/selfsigned_pythontestdotnet.pem to match
self-signed.pythontest.nets new TLS certificate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35925">bpo-35925</a>: Skip httplib and nntplib networking tests when they would
otherwise fail due to a modern OS or distro with a default OpenSSL policy
of rejecting connections to servers with weak certificates.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36719">bpo-36719</a>: regrtest now always detects uncollectable objects. Previously,
the check was only enabled by <code class="docutils literal notranslate"><span class="pre">--findleaks</span></code>. The check now also works
with <code class="docutils literal notranslate"><span class="pre">-jN/--multiprocess</span> <span class="pre">N</span></code>. <code class="docutils literal notranslate"><span class="pre">--findleaks</span></code> becomes a deprecated alias
to <code class="docutils literal notranslate"><span class="pre">--fail-env-changed</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36725">bpo-36725</a>: When using mulitprocessing mode (-jN), regrtest now better
reports errors if a worker process fails, and it exits immediately on a
worker thread failure or when interrupted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36454">bpo-36454</a>: Change test_time.test_monotonic() to test only the lower bound
of elapsed time after a sleep command rather than the upper bound. This
prevents unnecessary test failures on slow buildbots. Patch by Victor
Stinner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36629">bpo-36629</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_imap4_host_default_value()</span></code> of <code class="docutils literal notranslate"><span class="pre">test_imaplib</span></code>:
catch also <a class="reference internal" href="../library/errno.html#errno.ENETUNREACH" title="errno.ENETUNREACH"><code class="xref py py-data docutils literal notranslate"><span class="pre">errno.ENETUNREACH</span></code></a> error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36611">bpo-36611</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_sys.test_getallocatedblocks()</span></code> when
<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> is enabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36560">bpo-36560</a>: Fix reference leak hunting in regrtest: compute also deltas (of
reference count, allocated memory blocks, file descriptor count) during
warmup, to ensure that everything is initialized before starting to hunt
reference leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36565">bpo-36565</a>: Fix reference hunting (<code class="docutils literal notranslate"><span class="pre">python3</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">-R</span> <span class="pre">3:3</span></code>) when Python
has no built-in abc module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36436">bpo-36436</a>: Fix <code class="docutils literal notranslate"><span class="pre">_testcapi.pymem_buffer_overflow()</span></code>: handle memory
allocation failure.</p></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><p><a class="reference external" href="https://bugs.python.org/issue36605">bpo-36605</a>: <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">tags</span></code> and <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">TAGS</span></code> now also parse
<code class="docutils literal notranslate"><span class="pre">Modules/_io/*.c</span></code> and <code class="docutils literal notranslate"><span class="pre">Modules/_io/*.h</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36508">bpo-36508</a>: <code class="docutils literal notranslate"><span class="pre">python-config</span> <span class="pre">--ldflags</span></code> no longer includes flags of the
<code class="docutils literal notranslate"><span class="pre">LINKFORSHARED</span></code> variable. The <code class="docutils literal notranslate"><span class="pre">LINKFORSHARED</span></code> variable must only be
used to build executables.</p></li>
</ul>
</div>
<div class="section" id="id12">
<h3>Windows<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34631">bpo-34631</a>: Updated OpenSSL to 1.1.1c in Windows installer</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37267">bpo-37267</a>: On Windows, <a class="reference internal" href="../library/os.html#os.dup" title="os.dup"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.dup()</span></code></a> no longer creates an inheritable fd
when handling a character file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36779">bpo-36779</a>: Ensure <code class="docutils literal notranslate"><span class="pre">time.tzname</span></code> is correct on Windows when the active
code page is set to CP_UTF7 or CP_UTF8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36965">bpo-36965</a>: include of STATUS_CONTROL_C_EXIT without depending on MSC
compiler</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36649">bpo-36649</a>: Remove trailing spaces for registry keys when installed via the
Store.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34144">bpo-34144</a>: Fixed activate.bat to correctly update codepage when chcp.com
returns dots in output. Patch by Lorenz Mende.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35941">bpo-35941</a>: enum_certificates function of the ssl module now returns
certificates from all available certificate stores inside windows in a
query instead of returning only certificates from the system wide
certificate store. This includes certificates from these certificate
stores: local machine, local machine enterprise, local machine group
policy, current user, current user group policy, services, users.
ssl.enum_crls() function is changed in the same way to return all
certificate revocation lists inside the windows certificate revocation
list stores.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36441">bpo-36441</a>: Fixes creating a venv when debug binaries are installed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36312">bpo-36312</a>: Fixed decoders for the following code pages: 50220, 50221,
50222, 50225, 50227, 50229, 57002 through 57011, 65000 and 42.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36010">bpo-36010</a>: Add the venv standard library module to the nuget distribution
for Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34060">bpo-34060</a>: Report system load when running test suite on Windows. Patch by
Ammar Askar. Based on prior work by Jeremy Kloth.</p></li>
</ul>
</div>
<div class="section" id="id13">
<h3>macOS<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35360">bpo-35360</a>: Update macOS installer to use SQLite 3.28.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34631">bpo-34631</a>: Updated OpenSSL to 1.1.1c in macOS installer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36231">bpo-36231</a>: Support building Python on macOS without /usr/include
installed. As of macOS 10.14, system header files are only available
within an SDK provided by either the Command Line Tools or the Xcode app.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34602">bpo-34602</a>: Avoid failures setting macOS stack resource limit with
resource.setrlimit. This reverts an earlier fix for <a class="reference external" href="https://bugs.python.org/issue18075">bpo-18075</a> which forced
a non-default stack size when building the interpreter executable on
macOS.</p></li>
</ul>
</div>
<div class="section" id="id14">
<h3>IDLE<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue37321">bpo-37321</a>: Both subprocess connection error messages now refer to the
Startup failure section of the IDLE doc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37177">bpo-37177</a>: Properly attach search dialogs to their main window so that
they behave like other dialogs and do not get hidden behind their main
window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37039">bpo-37039</a>: Adjust “Zoom Height” to individual screens by momemtarily
maximizing the window on first use with a particular screen. Changing
screen settings may invalidate the saved height. While a window is
maximized, “Zoom Height” has no effect.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35763">bpo-35763</a>: Make calltip reminder about / meaning positional-only less
obtrusive by only adding it when there is room on the first line.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5680">bpo-5680</a>: Add Run… Customized to the Run menu to run a module with
customized settings. Any command line arguments entered are added to
sys.argv. One can suppress the normal Shell main module restart.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35610">bpo-35610</a>: Replace now redundant .context_use_ps1 with .prompt_last_line.
This finishes change started in <a class="reference external" href="https://bugs.python.org/issue31858">bpo-31858</a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37038">bpo-37038</a>: Make idlelib.run runnable; add test clause.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36958">bpo-36958</a>: Print any argument other than None or int passed to SystemExit
or sys.exit().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13102">bpo-13102</a>: When saving a file, call os.fsync() so bits are flushed to e.g.
USB drive.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36429">bpo-36429</a>: Fix starting IDLE with pyshell. Add idlelib.pyshell alias at
top; remove pyshell alias at bottom. Remove obsolete __name__==__main__
command.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36405">bpo-36405</a>: Use dict unpacking in idlelib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36396">bpo-36396</a>: Remove fgBg param of idlelib.config.GetHighlight(). This param
was only used twice and changed the return type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23205">bpo-23205</a>: For the grep module, add tests for findfiles, refactor
findfiles to be a module-level function, and refactor findfiles to use
os.walk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23216">bpo-23216</a>: Add docstrings to IDLE search modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30348">bpo-30348</a>: Increase test coverage of idlelib.autocomplete by 30%.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32411">bpo-32411</a>: In browser.py, remove extraneous sorting by line number since
dictionary was created in line number order.</p></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><p><a class="reference external" href="https://bugs.python.org/issue14546">bpo-14546</a>: Fix the argument handling in Tools/scripts/lll.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32217">bpo-32217</a>: Fix freeze script on Windows.</p></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><p><a class="reference external" href="https://bugs.python.org/issue28805">bpo-28805</a>: The <a class="reference internal" href="../c-api/structures.html#METH_FASTCALL" title="METH_FASTCALL"><code class="xref py py-const docutils literal notranslate"><span class="pre">METH_FASTCALL</span></code></a> calling convention has been
documented.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37170">bpo-37170</a>: Fix the cast on error in
<a class="reference internal" href="../c-api/long.html#c.PyLong_AsUnsignedLongLongMask" title="PyLong_AsUnsignedLongLongMask"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyLong_AsUnsignedLongLongMask()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36389">bpo-36389</a>: Change the value of <code class="docutils literal notranslate"><span class="pre">CLEANBYTE</span></code>, <code class="docutils literal notranslate"><span class="pre">DEADDYTE</span></code> and
<code class="docutils literal notranslate"><span class="pre">FORBIDDENBYTE</span></code> internal constants used by debug hooks on Python memory
allocators (<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). Byte patterns
<code class="docutils literal notranslate"><span class="pre">0xCB</span></code>, <code class="docutils literal notranslate"><span class="pre">0xDB</span></code> and <code class="docutils literal notranslate"><span class="pre">0xFB</span></code> have been replaced with <code class="docutils literal notranslate"><span class="pre">0xCD</span></code>, <code class="docutils literal notranslate"><span class="pre">0xDD</span></code>
and <code class="docutils literal notranslate"><span class="pre">0xFD</span></code> to use the same values than Windows CRT debug <code class="docutils literal notranslate"><span class="pre">malloc()</span></code>
and <code class="docutils literal notranslate"><span class="pre">free()</span></code>.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-3-final">
<h2>Python 3.7.3 final<a class="headerlink" href="#python-3-7-3-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-03-25</em></p>
<p>There were no new changes in version 3.7.3.</p>
</div>
<div class="section" id="python-3-7-3-release-candidate-1">
<h2>Python 3.7.3 release candidate 1<a class="headerlink" href="#python-3-7-3-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-03-12</em></p>
<div class="section" id="id15">
<h3>Security<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue36216">bpo-36216</a>: Changes urlsplit() to raise ValueError when the URL contains
characters that decompose under IDNA encoding (NFKC-normalization) into
characters that affect how the URL is parsed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35746">bpo-35746</a>: [CVE-2019-5010] Fix a NULL pointer deref in ssl module. The
cert parser did not handle CRL distribution points with empty DP or URI
correctly. A malicious or buggy certificate can result into segfault.
Vulnerability (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of
Cisco.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35121">bpo-35121</a>: Dont send cookies of domain A without Domain attribute to
domain B when domain A is a suffix match of domain B while using a
cookiejar with <a class="reference internal" href="../library/http.cookiejar.html#http.cookiejar.DefaultCookiePolicy" title="http.cookiejar.DefaultCookiePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">http.cookiejar.DefaultCookiePolicy</span></code></a> policy. Patch
by Karthikeyan Singaravelan.</p></li>
</ul>
</div>
<div class="section" id="id16">
<h3>Core and Builtins<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35942">bpo-35942</a>: The error message emitted when returning invalid types from
<code class="docutils literal notranslate"><span class="pre">__fspath__</span></code> in interfaces that allow passing <a class="reference internal" href="../library/os.html#os.PathLike" title="os.PathLike"><code class="xref py py-class docutils literal notranslate"><span class="pre">PathLike</span></code></a>
objects has been improved and now it does explain the origin of the error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35992">bpo-35992</a>: Fix <code class="docutils literal notranslate"><span class="pre">__class_getitem__()</span></code> not being called on a class with a
custom non-subscriptable metaclass.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35991">bpo-35991</a>: Fix a potential double free in Modules/_randommodule.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35961">bpo-35961</a>: Fix a crash in slice_richcompare(): use strong references
rather than stolen references for the two temporary internal tuples.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31506">bpo-31506</a>: Clarify the errors reported when <code class="docutils literal notranslate"><span class="pre">object.__new__</span></code> and
<code class="docutils literal notranslate"><span class="pre">object.__init__</span></code> receive more than one argument. Contributed by Sanyam
Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35720">bpo-35720</a>: Fixed a minor memory leak in pymain_parse_cmdline_impl function
in Modules/main.c</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35623">bpo-35623</a>: Fix a crash when sorting very long lists. Patch by Stephan
Hohe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35214">bpo-35214</a>: clang Memory Sanitizer build instrumentation was added to work
around false positives from posix, socket, time, test_io, and
test_faulthandler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35560">bpo-35560</a>: Fix an assertion error in <a class="reference internal" href="../library/functions.html#format" title="format"><code class="xref py py-func docutils literal notranslate"><span class="pre">format()</span></code></a> in debug build for
floating point formatting with “n” format, zero padding and small width.
Release build is not impacted. Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35552">bpo-35552</a>: Format characters <code class="docutils literal notranslate"><span class="pre">%s</span></code> and <code class="docutils literal notranslate"><span class="pre">%V</span></code> in
<a class="reference internal" href="../c-api/unicode.html#c.PyUnicode_FromFormat" title="PyUnicode_FromFormat"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyUnicode_FromFormat()</span></code></a> and <code class="docutils literal notranslate"><span class="pre">%s</span></code> in <a class="reference internal" href="../c-api/bytes.html#c.PyBytes_FromFormat" title="PyBytes_FromFormat"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyBytes_FromFormat()</span></code></a>
no longer read memory past the limit if <em>precision</em> is specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35504">bpo-35504</a>: Fix segfaults and <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>s when deleting certain
attributes. Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33989">bpo-33989</a>: Fix a possible crash in <a class="reference internal" href="../library/stdtypes.html#list.sort" title="list.sort"><code class="xref py py-meth docutils literal notranslate"><span class="pre">list.sort()</span></code></a> when sorting objects
with <code class="docutils literal notranslate"><span class="pre">ob_type-&gt;tp_richcompare</span> <span class="pre">==</span> <span class="pre">NULL</span></code>. Patch by Zackery Spytz.</p></li>
</ul>
</div>
<div class="section" id="id17">
<h3>Library<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35931">bpo-35931</a>: The <a class="reference internal" href="../library/pdb.html#module-pdb" title="pdb: The Python debugger for interactive interpreters."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pdb</span></code></a> <code class="docutils literal notranslate"><span class="pre">debug</span></code> command now gracefully handles all
exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36251">bpo-36251</a>: Fix format strings used for stderrprinter and re.Match reprs.
Patch by Stephan Hohe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35807">bpo-35807</a>: Update ensurepip to install pip 19.0.3 and setuptools 40.8.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36179">bpo-36179</a>: Fix two unlikely reference leaks in _hashopenssl. The leaks
only occur in out-of-memory cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35178">bpo-35178</a>: Ensure custom <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> function can
receive <code class="xref py py-obj docutils literal notranslate"><span class="pre">line</span></code> as positional argument. Based on patch by Tashrif Billah.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36106">bpo-36106</a>: Resolve potential name clash with libms sinpi(). Patch by
Dmitrii Pasechnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35512">bpo-35512</a>: <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.patch.dict" title="unittest.mock.patch.dict"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.patch.dict()</span></code></a> used as a decorator with
string target resolves the target during function call instead of during
decorator construction. Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36091">bpo-36091</a>: Clean up reference to async generator in Lib/types. Patch by
Henry Chen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35899">bpo-35899</a>: Enum has been fixed to correctly handle empty strings and
strings with non-Latin characters (ie. α, ‘א’) without crashing.
Original patch contributed by Maxwell. Assisted by Stéphane Wirtel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35918">bpo-35918</a>: Removed broken <code class="docutils literal notranslate"><span class="pre">has_key</span></code> method from
multiprocessing.managers.SyncManager.dict. Contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35960">bpo-35960</a>: Fix <a class="reference internal" href="../library/dataclasses.html#dataclasses.field" title="dataclasses.field"><code class="xref py py-func docutils literal notranslate"><span class="pre">dataclasses.field()</span></code></a> throwing away empty mapping
objects passed as metadata.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35847">bpo-35847</a>: RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes
Structure test_pass_by_value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35780">bpo-35780</a>: Fix lru_cache() errors arising in recursive, reentrant, or
multi-threaded code. These errors could result in orphan links and in the
cache being trapped in a state with fewer than the specified maximum
number of links. Fix handling of negative maxsize which should have been
treated as zero. Fix errors in toggling the “full” status flag. Fix
misordering of links when errors are encountered. Sync-up the C code and
pure Python code for the space saving path in functions with a single
positional argument. In this common case, the space overhead of an lru
cache entry is reduced by almost half. Fix counting of cache misses. In
error cases, the miss count was out of sync with the actual number of
times the underlying user function was called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23846">bpo-23846</a>: <a class="reference internal" href="../library/asyncio-eventloop.html#asyncio.ProactorEventLoop" title="asyncio.ProactorEventLoop"><code class="xref py py-class docutils literal notranslate"><span class="pre">asyncio.ProactorEventLoop</span></code></a> now catches and logs send
errors when the self-pipe is full.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34323">bpo-34323</a>: <a class="reference internal" href="../library/asyncio.html#module-asyncio" title="asyncio: Asynchronous I/O."><code class="xref py py-mod docutils literal notranslate"><span class="pre">asyncio</span></code></a>: Enhance <code class="docutils literal notranslate"><span class="pre">IocpProactor.close()</span></code> log: wait 1
second before the first log, then log every second. Log also the number of
seconds since <code class="docutils literal notranslate"><span class="pre">close()</span></code> was called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34294">bpo-34294</a>: re module, fix wrong capturing groups in rare cases.
<a class="reference internal" href="../library/re.html#re.search" title="re.search"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.search()</span></code></a>, <a class="reference internal" href="../library/re.html#re.findall" title="re.findall"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.findall()</span></code></a>, <a class="reference internal" href="../library/re.html#re.sub" title="re.sub"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.sub()</span></code></a> and other functions
that scan through string looking for a match, should reset capturing
groups between two match attempts. Patch by Ma Lin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35717">bpo-35717</a>: Fix KeyError exception raised when using enums and compile.
Patch contributed by Rémi Lapeyre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35699">bpo-35699</a>: Fixed detection of Visual Studio Build Tools 2017 in distutils</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32710">bpo-32710</a>: Fix memory leaks in asyncio ProactorEventLoop on overlapped
operation failure.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32710">bpo-32710</a>: Fix a memory leak in asyncio in the ProactorEventLoop when
<code class="docutils literal notranslate"><span class="pre">ReadFile()</span></code> or <code class="docutils literal notranslate"><span class="pre">WSASend()</span></code> overlapped operation fail immediately:
release the internal buffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35682">bpo-35682</a>: Fix <code class="docutils literal notranslate"><span class="pre">asyncio.ProactorEventLoop.sendfile()</span></code>: dont attempt to
set the result of an internal future if its already done.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35283">bpo-35283</a>: Add a pending deprecated warning for the
<code class="xref py py-meth docutils literal notranslate"><span class="pre">threading.Thread.isAlive()</span></code> method. Patch by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35643">bpo-35643</a>: Fixed a SyntaxWarning: invalid escape sequence in
Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35615">bpo-35615</a>: <a class="reference internal" href="../library/weakref.html#module-weakref" title="weakref: Support for weak references and weak dictionaries."><code class="xref py py-mod docutils literal notranslate"><span class="pre">weakref</span></code></a>: Fix a RuntimeError when copying a
WeakKeyDictionary or a WeakValueDictionary, due to some keys or values
disappearing while iterating.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28503">bpo-28503</a>: The <a class="reference internal" href="../library/crypt.html#module-crypt" title="crypt: The crypt() function used to check Unix passwords. (Unix)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">crypt</span></code></a> module now internally uses the <code class="xref py py-obj docutils literal notranslate"><span class="pre">crypt_r()</span></code> library
function instead of <a class="reference internal" href="../library/crypt.html#module-crypt" title="crypt: The crypt() function used to check Unix passwords. (Unix)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">crypt()</span></code></a> when available.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35121">bpo-35121</a>: Dont set cookie for a request when the request path is a
prefix match of the cookies path attribute but doesnt end with “/”.
Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35585">bpo-35585</a>: Speed-up building enums by value, e.g. http.HTTPStatus(200).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21478">bpo-21478</a>: Calls to a child function created with
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.create_autospec" title="unittest.mock.create_autospec"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.create_autospec()</span></code></a> should propagate to the parent.
Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35513">bpo-35513</a>: <code class="xref py py-class docutils literal notranslate"><span class="pre">TextTestRunner</span></code> of
<code class="xref py py-mod docutils literal notranslate"><span class="pre">unittest.runner</span></code> now uses <a class="reference internal" href="../library/time.html#time.perf_counter" title="time.perf_counter"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.perf_counter()</span></code></a> rather than
<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 measure the execution time of a test:
<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> can go backwards, whereas <a class="reference internal" href="../library/time.html#time.perf_counter" title="time.perf_counter"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.perf_counter()</span></code></a> is
monotonic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35502">bpo-35502</a>: Fixed reference leaks in
<a class="reference internal" href="../library/xml.etree.elementtree.html#xml.etree.ElementTree.TreeBuilder" title="xml.etree.ElementTree.TreeBuilder"><code class="xref py py-class docutils literal notranslate"><span class="pre">xml.etree.ElementTree.TreeBuilder</span></code></a> in case of unfinished building
of the tree (in particular when an error was raised during parsing XML).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31446">bpo-31446</a>: Copy command line that was passed to CreateProcessW since this
function can change the content of the input buffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20239">bpo-20239</a>: Allow repeated assignment deletion of
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.Mock" title="unittest.mock.Mock"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.mock.Mock</span></code></a> attributes. Patch by Pablo Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17185">bpo-17185</a>: Set <code class="docutils literal notranslate"><span class="pre">__signature__</span></code> on mock for <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> to get
signature. Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10496">bpo-10496</a>: <code class="xref py py-func docutils literal notranslate"><span class="pre">check_environ()</span></code> of
<code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.utils</span></code> now catches <a class="reference internal" href="../library/exceptions.html#KeyError" title="KeyError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyError</span></code></a> on calling
<a class="reference internal" href="../library/pwd.html#pwd.getpwuid" title="pwd.getpwuid"><code class="xref py py-func docutils literal notranslate"><span class="pre">pwd.getpwuid()</span></code></a>: dont create the <code class="docutils literal notranslate"><span class="pre">HOME</span></code> environment variable in
this case.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35066">bpo-35066</a>: Previously, calling the strftime() method on a datetime object
with a trailing % in the format string would result in an exception.
However, this only occured when the datetime C module was being used; the
python implementation did not match this behavior. Datetime is now PEP-399
compliant, and will not throw an exception on a trailing %.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24746">bpo-24746</a>: Avoid stripping trailing whitespace in doctest fancy diff.
Orignial patch by R. David Murray &amp; Jairo Trad. Enhanced by Sanyam
Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35198">bpo-35198</a>: Fix C++ extension compilation on AIX</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28441">bpo-28441</a>: On Cygwin and MinGW, ensure that <code class="docutils literal notranslate"><span class="pre">sys.executable</span></code> always
includes the full filename in the path, including the <code class="docutils literal notranslate"><span class="pre">.exe</span></code> suffix
(unless it is a symbolic link).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34572">bpo-34572</a>: Fix C implementation of pickle.loads to use importlibs locking
mechanisms, and thereby avoid using partially-loaded modules. Patch by Tim
Burgess.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33687">bpo-33687</a>: Fix the call to <code class="docutils literal notranslate"><span class="pre">os.chmod()</span></code> for <code class="docutils literal notranslate"><span class="pre">uu.decode()</span></code> if a mode is
given or decoded. Patch by Timo Furrer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32146">bpo-32146</a>: Document the interaction between frozen executables and the
spawn and forkserver start methods in multiprocessing.</p></li>
</ul>
</div>
<div class="section" id="id18">
<h3>Documentation<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue36083">bpo-36083</a>: Fix formatting of check-hash-based-pycs options in the
manpage Synopsis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34764">bpo-34764</a>: Improve example of iter() with 2nd sentinel argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21314">bpo-21314</a>: A new entry was added to the Core Language Section of the
Programming FAQ, which explaines the usage of slash(/) in the signature of
a function. Patch by Lysandros Nikolaou</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22062">bpo-22062</a>: Update documentation and docstrings for pathlib. Original patch
by Mike Short.</p></li>
</ul>
</div>
<div class="section" id="id19">
<h3>Tests<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue36234">bpo-36234</a>: test_posix.PosixUidGidTests: add tests for invalid uid/gid type
(str). Initial patch written by David Malcolm.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29571">bpo-29571</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_re.test_locale_flag()</span></code>: use
<code class="docutils literal notranslate"><span class="pre">locale.getpreferredencoding()</span></code> rather than <code class="docutils literal notranslate"><span class="pre">locale.getlocale()</span></code> to
get the locale encoding. With some locales, <code class="docutils literal notranslate"><span class="pre">locale.getlocale()</span></code> returns
the wrong encoding. On Windows, set temporarily the <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> locale to
the user preferred encoding to ensure that it uses the ANSI code page, to
be consistent with <code class="docutils literal notranslate"><span class="pre">locale.getpreferredencoding()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36123">bpo-36123</a>: Fix race condition in test_socket.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27313">bpo-27313</a>: Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa
Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36019">bpo-36019</a>: Add test.support.TEST_HTTP_URL and replace references of
<a class="reference external" href="http://www.example.com">http://www.example.com</a> by this new constant. Contributed by Stéphane
Wirtel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36037">bpo-36037</a>: Fix test_ssl for strict OpenSSL configuration like RHEL8 strict
crypto policy. Use older TLS version for minimum TLS version of the server
SSL context if needed, to test TLS version older than default minimum TLS
version.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35505">bpo-35505</a>: Make test_imap4_host_default_value independent on whether the
local IMAP server is running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35917">bpo-35917</a>: multiprocessing: provide unit tests for SyncManager and
SharedMemoryManager classes + all the shareable types which are supposed
to be supported by them. (patch by Giampaolo Rodola)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35772">bpo-35772</a>: Fix sparse file tests of test_tarfile on ppc64 with the tmpfs
filesystem. Fix the function testing if the filesystem supports sparse
files: create a file which contains data and “holes”, instead of creating
a file which contains no data. tmpfs effective block size is a page size
(tmpfs lives in the page cache). RHEL uses 64 KiB pages on aarch64, ppc64,
ppc64le, only s390x and x86_64 use 4 KiB pages, whereas the test punch
holes of 4 KiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35045">bpo-35045</a>: Make ssl tests less strict and also accept TLSv1 as system
default. The changes unbreaks test_min_max_version on Fedora 29.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31731">bpo-31731</a>: Fix a race condition in <code class="docutils literal notranslate"><span class="pre">check_interrupted_write()</span></code> of
test_io: create directly the thread with SIGALRM signal blocked, rather
than blocking the signal later from the thread. Previously, it was
possible that the thread gets the signal before the signal is blocked.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35424">bpo-35424</a>: Fix test_multiprocessing_main_handling: use
<code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Pool</span></code> with a context manager and then explicitly
join the pool.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35519">bpo-35519</a>: Rename <code class="xref py py-mod docutils literal notranslate"><span class="pre">test.bisect</span></code> module to <code class="xref py py-mod docutils literal notranslate"><span class="pre">test.bisect_cmd</span></code> to
avoid conflict with <a class="reference internal" href="../library/bisect.html#module-bisect" title="bisect: Array bisection algorithms for binary searching."><code class="xref py py-mod docutils literal notranslate"><span class="pre">bisect</span></code></a> module when running directly a test like
<code class="docutils literal notranslate"><span class="pre">./python</span> <span class="pre">Lib/test/test_xmlrpc.py</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35513">bpo-35513</a>: Replace <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> with <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> in tests
to measure time delta.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34279">bpo-34279</a>: <a class="reference internal" href="../library/test.html#test.support.run_unittest" title="test.support.run_unittest"><code class="xref py py-func docutils literal notranslate"><span class="pre">test.support.run_unittest()</span></code></a> no longer raise
<code class="xref py py-exc docutils literal notranslate"><span class="pre">TestDidNotRun</span></code> if the test result contains skipped tests. The
exception is now only raised if no test have been run and no test have
been skipped.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35412">bpo-35412</a>: Add testcase to <code class="docutils literal notranslate"><span class="pre">test_future4</span></code>: check unicode literal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26704">bpo-26704</a>: Added test demonstrating double-patching of an instance method.
Patch by Anthony Sottile.</p></li>
</ul>
</div>
<div class="section" id="id20">
<h3>Build<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34691">bpo-34691</a>: The _contextvars module is now built into the core Python
library on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35683">bpo-35683</a>: Improved Azure Pipelines build steps and now verifying layouts
correctly</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35642">bpo-35642</a>: Remove asynciomodule.c from pythoncore.vcxproj</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35550">bpo-35550</a>: Fix incorrect Solaris #ifdef checks to look for __sun &amp;&amp; __SVR4
instead of sun when compiling.</p></li>
</ul>
</div>
<div class="section" id="id21">
<h3>Windows<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24643">bpo-24643</a>: Fix name collisions due to <code class="docutils literal notranslate"><span class="pre">#define</span> <span class="pre">timezone</span> <span class="pre">_timezone</span></code> in
PC/pyconfig.h.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35692">bpo-35692</a>: <code class="docutils literal notranslate"><span class="pre">pathlib</span></code> no longer raises when checking file and directory
existence on drives that are not ready</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35872">bpo-35872</a>: Uses the base Python executable when invoking venv in a virtual
environment</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35873">bpo-35873</a>: Prevents venv paths being inherited by child processes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35299">bpo-35299</a>: Fix sysconfig detection of the source directory and distutils
handling of pyconfig.h during PGO profiling</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32560">bpo-32560</a>: The <code class="docutils literal notranslate"><span class="pre">py</span></code> launcher now forwards its <code class="docutils literal notranslate"><span class="pre">STARTUPINFO</span></code> structure
to child processes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35854">bpo-35854</a>: Fix EnvBuilder and symlinks in venv on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35811">bpo-35811</a>: Avoid propagating venv settings when launching via py.exe</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35797">bpo-35797</a>: Fix default executable used by the multiprocessing module</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29734">bpo-29734</a>: Fix handle leaks in os.stat on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35596">bpo-35596</a>: Use unchecked PYCs for the embeddable distro to avoid zipimport
restrictions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35596">bpo-35596</a>: Fix vcruntime140.dll being added to embeddable distro multiple
times.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35402">bpo-35402</a>: Update Windows build to use Tcl and Tk 8.6.9</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33316">bpo-33316</a>: PyThread_release_lock always fails</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1104">bpo-1104</a>: Correctly handle string length in
<code class="docutils literal notranslate"><span class="pre">msilib.SummaryInfo.GetProperty()</span></code> to prevent it from truncating the
last character.</p></li>
</ul>
</div>
<div class="section" id="id22">
<h3>IDLE<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue36176">bpo-36176</a>: Fix IDLE autocomplete &amp; calltip popup colors. Prevent conflicts
with Linux dark themes (and slightly darken calltip background).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36152">bpo-36152</a>: Remove colorizer.ColorDelegator.close_when_done and the
corresponding argument of .close(). In IDLE, both have always been None
or False since 2007.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32129">bpo-32129</a>: Avoid blurry IDLE application icon on macOS with Tk 8.6. Patch
by Kevin Walzer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24310">bpo-24310</a>: IDLE Document settings dialog font tab sample.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36096">bpo-36096</a>: Refactor class variables to instance variables in colorizer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35833">bpo-35833</a>: Revise IDLE doc for control codes sent to Shell. Add a code
example block.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35770">bpo-35770</a>: IDLE macosx deletes Options =&gt; Configure IDLE. It previously
deleted Window =&gt; Zoom Height by mistake. (Zoom Height is now on the
Options menu). On Mac, the settings dialog is accessed via Preferences on
the IDLE menu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35769">bpo-35769</a>: Change IDLEs new file name from Untitled to untitled</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35689">bpo-35689</a>: Add docstrings and unittests for colorizer.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35660">bpo-35660</a>: Fix imports in idlelib.window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35641">bpo-35641</a>: Proper format <code class="xref py py-obj docutils literal notranslate"><span class="pre">calltip</span></code> when the function has no docstring.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33987">bpo-33987</a>: Use ttk Frame for ttk widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34055">bpo-34055</a>: Fix erroneous smart indents and newlines in IDLE Shell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35591">bpo-35591</a>: Find Selection now works when selection not found.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35196">bpo-35196</a>: Speed up squeezer line counting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35598">bpo-35598</a>: Update config_key: use PEP 8 names and ttk widgets, make some
objects global, and add tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28097">bpo-28097</a>: Add Previous/Next History entries to Shell menu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35208">bpo-35208</a>: Squeezer now properly counts wrapped lines before newlines.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35555">bpo-35555</a>: Gray out Code Context menu entry when its not applicable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35521">bpo-35521</a>: Document the IDLE editor code context feature. Add some
internal references within the IDLE doc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22703">bpo-22703</a>: The Code Context menu label now toggles between Show/Hide Code
Context. The Zoom Height menu now toggles between Zoom/Restore Height.
Zoom Height has moved from the Window menu to the Options menu.</p></li>
</ul>
</div>
<div class="section" id="id23">
<h3>Tools/Demos<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35132">bpo-35132</a>: Fix py-list and py-bt commands of python-gdb.py on gdb7.</p></li>
</ul>
</div>
<div class="section" id="id24">
<h3>C API<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33817">bpo-33817</a>: Fixed <a class="reference internal" href="../c-api/bytes.html#c._PyBytes_Resize" title="_PyBytes_Resize"><code class="xref c c-func docutils literal notranslate"><span class="pre">_PyBytes_Resize()</span></code></a> for empty bytes objects.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-2-final">
<h2>Python 3.7.2 final<a class="headerlink" href="#python-3-7-2-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-12-23</em></p>
<div class="section" id="id25">
<h3>Library<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31715">bpo-31715</a>: Associate <code class="docutils literal notranslate"><span class="pre">.mjs</span></code> file extension with
<code class="docutils literal notranslate"><span class="pre">application/javascript</span></code> MIME Type.</p></li>
</ul>
</div>
<div class="section" id="id26">
<h3>Build<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35499">bpo-35499</a>: <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">profile-opt</span></code> no longer replaces <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> with
<code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code>. It now adds profile-guided optimization (PGO) flags to
<code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code>: existing <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> flags are kept.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35257">bpo-35257</a>: Avoid leaking the linker flags from Link Time Optimizations
(LTO) into distutils when compiling C extensions.</p></li>
</ul>
</div>
<div class="section" id="id27">
<h3>C API<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35259">bpo-35259</a>: Conditionally declare <a class="reference internal" href="../c-api/init.html#c.Py_FinalizeEx" title="Py_FinalizeEx"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_FinalizeEx()</span></code></a> (new in 3.6)
based on Py_LIMITED_API. Patch by Arthur Neufeld.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-2-release-candidate-1">
<h2>Python 3.7.2 release candidate 1<a class="headerlink" href="#python-3-7-2-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-12-11</em></p>
<div class="section" id="id28">
<h3>Security<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34812">bpo-34812</a>: The <a class="reference internal" href="../using/cmdline.html#id2"><code class="xref std std-option docutils literal notranslate"><span class="pre">-I</span></code></a> command line option (run Python in isolated
mode) is now also copied by the <a class="reference internal" href="../library/multiprocessing.html#module-multiprocessing" title="multiprocessing: Process-based parallelism."><code class="xref py py-mod docutils literal notranslate"><span class="pre">multiprocessing</span></code></a> and
<a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> modules when spawning child processes. Previously, only
<a class="reference internal" href="../using/cmdline.html#cmdoption-e"><code class="xref std std-option docutils literal notranslate"><span class="pre">-E</span></code></a> and <a class="reference internal" href="../using/cmdline.html#cmdoption-s"><code class="xref std std-option docutils literal notranslate"><span class="pre">-s</span></code></a> options (enabled by <a class="reference internal" href="../using/cmdline.html#id2"><code class="xref std std-option docutils literal notranslate"><span class="pre">-I</span></code></a>) were
copied.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34791">bpo-34791</a>: The xml.sax and xml.dom.domreg no longer use environment
variables to override parser implementations when
sys.flags.ignore_environment is set by -E or -I arguments.</p></li>
</ul>
</div>
<div class="section" id="id29">
<h3>Core and Builtins<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35444">bpo-35444</a>: Fixed error handling in pickling methods when fail to look up
builtin “getattr”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35436">bpo-35436</a>: Fix various issues with memory allocation error handling.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35357">bpo-35357</a>: Internal attributes names of unittest.mock._Call and
unittest.mock.MagicProxy (name, parent &amp; from_kall) are now prefixed with
_mock_ in order to prevent clashes with widely used object attributes.
Fixed minor typo in test function name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35372">bpo-35372</a>: Fixed the code page decoder for input longer than 2 GiB
containing undecodable bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35336">bpo-35336</a>: Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce the
C locale if the LC_CTYPE locale is “C”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33954">bpo-33954</a>: For <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>, <code class="xref py py-meth docutils literal notranslate"><span class="pre">float.__format__()</span></code> and
<code class="xref py py-meth docutils literal notranslate"><span class="pre">complex.__format__()</span></code> methods for non-ASCII decimal point when using
the “n” formatter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35269">bpo-35269</a>: Fix a possible segfault involving a newly-created coroutine.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35214">bpo-35214</a>: Fixed an out of bounds memory access when parsing a truncated
unicode escape sequence at the end of a string such as <code class="docutils literal notranslate"><span class="pre">'\N'</span></code>. It would
read one byte beyond the end of the memory allocation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35214">bpo-35214</a>: The interpreter and extension modules have had annotations
added so that they work properly under clangs Memory Sanitizer. A new
configure flag with-memory-sanitizer has been added to make test builds
of this nature easier to perform.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35193">bpo-35193</a>: Fix an off by one error in the bytecode peephole optimizer
where it could read bytes beyond the end of bounds of an array when
removing unreachable code. This bug was present in every release of Python
3.6 and 3.7 until now.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29341">bpo-29341</a>: Clarify in the docstrings of <a class="reference internal" href="../library/os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> methods that path-like
objects are also accepted as input parameters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35050">bpo-35050</a>: <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>: Fix off-by-one bug in length check for
<code class="docutils literal notranslate"><span class="pre">AF_ALG</span></code> name and type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34974">bpo-34974</a>: <a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-class 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-class docutils literal notranslate"><span class="pre">bytearray</span></code></a> constructors no longer
convert unexpected exceptions (e.g. <a class="reference internal" href="../library/exceptions.html#MemoryError" title="MemoryError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">MemoryError</span></code></a> and
<a class="reference internal" href="../library/exceptions.html#KeyboardInterrupt" title="KeyboardInterrupt"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyboardInterrupt</span></code></a>) to <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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34973">bpo-34973</a>: Fixed crash in <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> when the <a class="reference internal" href="../library/stdtypes.html#list" title="list"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> argument is
mutated while it is iterated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34824">bpo-34824</a>: Fix a possible null pointer dereference in Modules/_ssl.c.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Do not assume signed integer overflow behavior (C undefined
behavior) when performing set hash table resizing.</p></li>
</ul>
</div>
<div class="section" id="id30">
<h3>Library<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35052">bpo-35052</a>: Fix xml.dom.minidom cloneNode() on a document with an entity:
pass the correct arguments to the user data handler of an entity.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35330">bpo-35330</a>: When a <code class="xref py py-class docutils literal notranslate"><span class="pre">Mock</span></code> instance was used to wrap an object, if
<code class="xref py py-obj docutils literal notranslate"><span class="pre">side_effect</span></code> is used in one of the mocks of it methods, dont call the
original implementation and return the result of using the side effect the
same way that it is done with return_value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34172">bpo-34172</a>: Revert the fix for this issue previously released in 3.7.1
pending further investigation: Fix a reference issue inside
multiprocessing.Pool that caused the pool to remain alive if it was
deleted without being closed or terminated explicitly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10496">bpo-10496</a>: <code class="xref py py-func docutils literal notranslate"><span class="pre">posixpath.expanduser()</span></code> now returns the input <em>path</em>
unchanged if the <code class="docutils literal notranslate"><span class="pre">HOME</span></code> environment variable is not set and the current
user has no home directory (if the current user identifier doesnt exist
in the password database). This change fix the <a class="reference internal" href="../library/site.html#module-site" title="site: Module responsible for site-specific configuration."><code class="xref py py-mod docutils literal notranslate"><span class="pre">site</span></code></a> module if the
current user doesnt exist in the password database (if the user has no
home directory).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35310">bpo-35310</a>: Fix a bug in <a class="reference internal" href="../library/select.html#select.select" title="select.select"><code class="xref py py-func docutils literal notranslate"><span class="pre">select.select()</span></code></a> where, in some cases, the
file descriptor sequences were returned unmodified after a signal
interruption, even though the file descriptors might not be ready yet.
<a class="reference internal" href="../library/select.html#select.select" title="select.select"><code class="xref py py-func docutils literal notranslate"><span class="pre">select.select()</span></code></a> will now always return empty lists if a timeout has
occurred. Patch by Oran Avraham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35380">bpo-35380</a>: Enable TCP_NODELAY on Windows for proactor asyncio event loop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35341">bpo-35341</a>: Add generic version of <code class="docutils literal notranslate"><span class="pre">collections.OrderedDict</span></code> to the
<code class="docutils literal notranslate"><span class="pre">typing</span></code> module. Patch by Ismo Toijala.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35371">bpo-35371</a>: Fixed possible crash in <code class="docutils literal notranslate"><span class="pre">os.utime()</span></code> on Windows when pass
incorrect arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27903">bpo-27903</a>: Fix <code class="docutils literal notranslate"><span class="pre">ResourceWarning</span></code> in <a class="reference internal" href="../library/platform.html#platform.dist" title="platform.dist"><code class="xref py py-func docutils literal notranslate"><span class="pre">platform.dist()</span></code></a> on SuSE and
Caldera OpenLinux. Patch by Ville Skyttä.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35308">bpo-35308</a>: Fix regression in <code class="docutils literal notranslate"><span class="pre">webbrowser</span></code> where default browsers may be
preferred over browsers in the <code class="docutils literal notranslate"><span class="pre">BROWSER</span></code> environment variable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28604">bpo-28604</a>: <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> 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_MONETARY</span></code> locale if the two locales are different and
monetary strings are non-ASCII. This temporary change affects other
threads.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35277">bpo-35277</a>: Update ensurepip to install pip 18.1 and setuptools 40.6.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35226">bpo-35226</a>: Recursively check arguments when testing for equality of
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.call" title="unittest.mock.call"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.mock.call</span></code></a> objects and add note that tracking of
parameters used to create ancestors of mocks in <code class="docutils literal notranslate"><span class="pre">mock_calls</span></code> is not
possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29564">bpo-29564</a>: The warnings module now suggests to enable tracemalloc if the
source is specified, the tracemalloc module is available, but tracemalloc
is not tracing memory allocations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35189">bpo-35189</a>: Modify the following fnctl function to retry if interrupted by
a signal (EINTR): flock, lockf, fnctl</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35062">bpo-35062</a>: Fix incorrect parsing of
<code class="xref py py-class docutils literal notranslate"><span class="pre">_io.IncrementalNewlineDecoder</span></code>s <em>translate</em> argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35079">bpo-35079</a>: Improve difflib.SequenceManager.get_matching_blocks doc by
adding non-overlapping and changing != to &lt;.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35017">bpo-35017</a>: <a class="reference internal" href="../library/socketserver.html#socketserver.BaseServer.serve_forever" title="socketserver.BaseServer.serve_forever"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socketserver.BaseServer.serve_forever()</span></code></a> now exits
immediately if its <a class="reference internal" href="../library/socketserver.html#socketserver.BaseServer.shutdown" title="socketserver.BaseServer.shutdown"><code class="xref py py-meth docutils literal notranslate"><span class="pre">shutdown()</span></code></a> method is
called while it is polling for new events.</p></li>
<li><p><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> regression where it didnt remove a
trailing separator on Windows. Patch by Tim Graham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34794">bpo-34794</a>: Fixed a leak in Tkinter when pass the Python wrapper around
Tcl_Obj back to Tcl/Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35008">bpo-35008</a>: Fixed references leaks when call the <code class="docutils literal notranslate"><span class="pre">__setstate__()</span></code> method
of <a class="reference internal" href="../library/xml.etree.elementtree.html#xml.etree.ElementTree.Element" title="xml.etree.ElementTree.Element"><code class="xref py py-class docutils literal notranslate"><span class="pre">xml.etree.ElementTree.Element</span></code></a> in the C implementation for
already initialized element.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23420">bpo-23420</a>: Verify the value for the parameter -s of the cProfile CLI.
Patch by Robert Kuska</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33947">bpo-33947</a>: dataclasses now handle recursive reprs without raising
RecursionError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16965">bpo-16965</a>: The <a class="reference internal" href="../glossary.html#term-2to3"><span class="xref std std-term">2to3</span></a> <a class="reference internal" href="../library/2to3.html#2to3fixer-execfile"><code class="xref std std-2to3fixer docutils literal notranslate"><span class="pre">execfile</span></code></a> fixer now opens the file
with mode <code class="docutils literal notranslate"><span class="pre">'rb'</span></code>. Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34966">bpo-34966</a>: <a class="reference internal" href="../library/pydoc.html#module-pydoc" title="pydoc: Documentation generator and online help system."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pydoc</span></code></a> now supports aliases not only to methods defined
in the end class, but also to inherited methods. The docstring is not
duplicated for aliases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34941">bpo-34941</a>: Methods <code class="docutils literal notranslate"><span class="pre">find()</span></code>, <code class="docutils literal notranslate"><span class="pre">findtext()</span></code> and <code class="docutils literal notranslate"><span class="pre">findall()</span></code> of the
<code class="docutils literal notranslate"><span class="pre">Element</span></code> class in the <a class="reference internal" href="../library/xml.etree.elementtree.html#module-xml.etree.ElementTree" title="xml.etree.ElementTree: Implementation of the ElementTree API."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.etree.ElementTree</span></code></a> module are now able
to find children which are instances of <code class="docutils literal notranslate"><span class="pre">Element</span></code> subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34936">bpo-34936</a>: Fix <code class="docutils literal notranslate"><span class="pre">TclError</span></code> in <code class="docutils literal notranslate"><span class="pre">tkinter.Spinbox.selection_element()</span></code>.
Patch by Juliette Monsel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34866">bpo-34866</a>: Adding <code class="docutils literal notranslate"><span class="pre">max_num_fields</span></code> to <code class="docutils literal notranslate"><span class="pre">cgi.FieldStorage</span></code> to make DOS
attacks harder by limiting the number of <code class="docutils literal notranslate"><span class="pre">MiniFieldStorage</span></code> objects
created by <code class="docutils literal notranslate"><span class="pre">FieldStorage</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34022">bpo-34022</a>: The <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">SOURCE_DATE_EPOCH</span></code> environment variable no longer
overrides the value of the <em>invalidation_mode</em> argument to
<a class="reference internal" href="../library/py_compile.html#py_compile.compile" title="py_compile.compile"><code class="xref py py-func docutils literal notranslate"><span class="pre">py_compile.compile()</span></code></a>, and determines its default value instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34738">bpo-34738</a>: ZIP files created by <a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> will now include entries
for directories.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31177">bpo-31177</a>: Fix bug that prevented using <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.Mock.reset_mock" title="unittest.mock.Mock.reset_mock"><code class="xref py py-meth docutils literal notranslate"><span class="pre">reset_mock</span></code></a> on mock instances with deleted attributes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34536">bpo-34536</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">Enum._missing_</span></code>: raise <a class="reference internal" href="../library/exceptions.html#ValueError" title="ValueError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ValueError</span></code></a> if None returned and
<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> if non-member is returned.</p></li>
<li><p><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> using string representation because of invisible
characters or trailing whitespaces. Patch by William Grzybowski.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34574">bpo-34574</a>: OrderedDict iterators are not exhausted during pickling
anymore. Patch by Sergey Fedoseev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34052">bpo-34052</a>: <a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.create_aggregate" title="sqlite3.Connection.create_aggregate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.create_aggregate()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.create_function" title="sqlite3.Connection.create_function"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.create_function()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.set_authorizer" title="sqlite3.Connection.set_authorizer"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.set_authorizer()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.set_progress_handler" title="sqlite3.Connection.set_progress_handler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.set_progress_handler()</span></code></a> methods raises TypeError
when unhashable objects are passed as callable. These methods now dont
pass such objects to SQLite API. Previous behavior could lead to
segfaults. Patch by Sergey Fedoseev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29877">bpo-29877</a>: compileall: import ProcessPoolExecutor only when needed,
preventing hangs on low resource platforms</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22005">bpo-22005</a>: Implemented unpickling instances of
<a class="reference internal" href="../library/datetime.html#datetime.datetime" title="datetime.datetime"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime</span></code></a>, <a class="reference internal" href="../library/datetime.html#datetime.date" title="datetime.date"><code class="xref py py-class docutils literal notranslate"><span class="pre">date</span></code></a> and
<a class="reference internal" href="../library/datetime.html#datetime.time" title="datetime.time"><code class="xref py py-class docutils literal notranslate"><span class="pre">time</span></code></a> pickled by Python 2. <code class="docutils literal notranslate"><span class="pre">encoding='latin1'</span></code> should
be used for successful decoding.</p></li>
</ul>
</div>
<div class="section" id="id31">
<h3>Documentation<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35089">bpo-35089</a>: Remove mention of <code class="docutils literal notranslate"><span class="pre">typing.io</span></code> and <code class="docutils literal notranslate"><span class="pre">typing.re</span></code>. Their types
should be imported from <code class="docutils literal notranslate"><span class="pre">typing</span></code> directly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35038">bpo-35038</a>: Fix the documentation about an unexisting <code class="xref py py-obj docutils literal notranslate"><span class="pre">f_restricted</span></code>
attribute in the frame object. Patch by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35044">bpo-35044</a>: Fix the documentation with the role <code class="docutils literal notranslate"><span class="pre">exc</span></code> for the
appropriated exception. Patch by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35035">bpo-35035</a>: Rename documentation for <a class="reference internal" href="../library/email.utils.html#module-email.utils" title="email.utils: Miscellaneous email package utilities."><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.utils</span></code></a> to
<code class="docutils literal notranslate"><span class="pre">email.utils.rst</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34967">bpo-34967</a>: Use app.add_object_type() instead of the deprecated Sphinx
function app.description_unit()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11233">bpo-11233</a>: Create availability directive for documentation. Original
patch by Georg Brandl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33594">bpo-33594</a>: Document <code class="docutils literal notranslate"><span class="pre">getargspec</span></code>, <code class="docutils literal notranslate"><span class="pre">from_function</span></code> and <code class="docutils literal notranslate"><span class="pre">from_builtin</span></code>
as deprecated in their respective docstring, and include version since
deprecation in DeprecationWarning message.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32613">bpo-32613</a>: Update the faq/windows.html to use the py command from PEP 397
instead of python.</p></li>
</ul>
</div>
<div class="section" id="id32">
<h3>Tests<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33725">bpo-33725</a>: test_multiprocessing_fork may crash on recent versions of
macOS. Until the issue is resolved, skip the test on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35352">bpo-35352</a>: Modify test_asyncio to use the certificate set from the test
directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35317">bpo-35317</a>: Fix <code class="docutils literal notranslate"><span class="pre">mktime()</span></code> overflow error in <code class="docutils literal notranslate"><span class="pre">test_email</span></code>: run
<code class="docutils literal notranslate"><span class="pre">test_localtime_daylight_true_dst_true()</span></code> and
<code class="docutils literal notranslate"><span class="pre">test_localtime_daylight_false_dst_true()</span></code> with a specific timezone.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21263">bpo-21263</a>: After several reports that test_gdb does not work properly on
macOS and since gdb is not shipped by default anymore, test_gdb is now
skipped on macOS when LLVM Clang has been used to compile Python. Patch by
Lysandros Nikolaou</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34279">bpo-34279</a>: regrtest issue a warning when no tests have been executed in a
particular test file. Also, a new final result state is issued if no test
have been executed across all test files. Patch by Pablo Galindo.</p></li>
</ul>
</div>
<div class="section" id="id33">
<h3>Build<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35296">bpo-35296</a>: The Windows installer (MSI) now also install internal header
files (<code class="docutils literal notranslate"><span class="pre">Include/internal/</span></code> subdirectory).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35351">bpo-35351</a>: When building Python with clang and LTO, LTO flags are no
longer passed into CFLAGS to build third-party C extensions through
distutils.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35139">bpo-35139</a>: Fix a compiler error when statically linking <code class="xref py py-obj docutils literal notranslate"><span class="pre">pyexpat</span></code> in
<code class="xref py py-obj docutils literal notranslate"><span class="pre">Modules/Setup</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35011">bpo-35011</a>: Restores the use of pyexpatns.h to isolate our embedded copy of
the expat C library so that its symbols do not conflict at link or dynamic
loading time with an embedding application or other extension modules with
their own version of libexpat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28015">bpo-28015</a>: Have with-lto works correctly with clang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33015">bpo-33015</a>: Fix an undefined behaviour in the pthread implementation of
<code class="xref c c-func docutils literal notranslate"><span class="pre">PyThread_start_new_thread()</span></code>: add a function wrapper to always
return <code class="docutils literal notranslate"><span class="pre">NULL</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id34">
<h3>Windows<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35401">bpo-35401</a>: Updates Windows build to OpenSSL 1.1.0j</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34977">bpo-34977</a>: venv on Windows will now use a python.exe redirector rather
than copying the actual binaries from the base environment.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34977">bpo-34977</a>: Adds support for building a Windows App Store package</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35067">bpo-35067</a>: Remove _distutils_findvs module and use vswhere.exe instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34532">bpo-34532</a>: Fixes exit code of list version arguments for py.exe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32890">bpo-32890</a>: Fix usage of GetLastError() instead of errno in os.execve() and
os.truncate().</p></li>
</ul>
</div>
<div class="section" id="id35">
<h3>macOS<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35402">bpo-35402</a>: Update macOS installer to use Tcl/Tk 8.6.9.1. [NOTE: This
change was reverted for the released python.org 3.7.2 macOS installers due
to regressions found in Tk 8.6.9.1. For now, the installers provide
Tcl/Tk 8.6.8.]</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35401">bpo-35401</a>: Update macOS installer to use OpenSSL 1.1.0j.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35025">bpo-35025</a>: Properly guard the use of the <code class="docutils literal notranslate"><span class="pre">CLOCK_GETTIME</span></code> et al. macros
in <code class="docutils literal notranslate"><span class="pre">timemodule</span></code> on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24658">bpo-24658</a>: On macOS, fix reading from and writing into a file with a size
larger than 2 GiB.</p></li>
</ul>
</div>
<div class="section" id="id36">
<h3>IDLE<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35213">bpo-35213</a>: Where appropriate, use macOS in idlelib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34864">bpo-34864</a>: On macOS, warn if the system preference “Prefer tabs when
opening documents” is set to “Always”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34864">bpo-34864</a>: Document two IDLE on MacOS issues. The System Preferences Dock
“prefer tabs always” setting disables some IDLE features. Menus are a bit
different than as described for Windows and Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35202">bpo-35202</a>: Remove unused imports from lib/idlelib</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33000">bpo-33000</a>: Document that IDLEs shell has no line limit. A program that
runs indefinitely can overfill memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23220">bpo-23220</a>: Explain how IDLEs Shell displays output.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35099">bpo-35099</a>: Improve the doc about IDLE running user code. The section is
renamed from “IDLE console differences” is renamed “Running user code”.
It mostly covers the implications of using custom sys.stdxxx objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35097">bpo-35097</a>: Add IDLE doc subsection explaining editor windows. Topics
include opening, title and status bar, .py* extension, and running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35093">bpo-35093</a>: Document the IDLE document viewer in the IDLE doc. Add a
paragraph in “Help and preferences”, “Help sources” subsection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35088">bpo-35088</a>: Update idlelib.help.copy_string docstring. We now use git and
backporting instead of hg and forward merging.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35087">bpo-35087</a>: Update idlelib help files for the current doc build. The main
change is the elimination of chapter-section numbers.</p></li>
</ul>
</div>
<div class="section" id="id37">
<h3>Tools/Demos<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34989">bpo-34989</a>: python-gdb.py now handles errors on computing the line number
of a Python frame.</p></li>
</ul>
</div>
<div class="section" id="id38">
<h3>C API<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35322">bpo-35322</a>: Fix memory leak in <a class="reference internal" href="../c-api/unicode.html#c.PyUnicode_EncodeLocale" title="PyUnicode_EncodeLocale"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyUnicode_EncodeLocale()</span></code></a> and
<a class="reference internal" href="../c-api/unicode.html#c.PyUnicode_EncodeFSDefault" title="PyUnicode_EncodeFSDefault"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyUnicode_EncodeFSDefault()</span></code></a> on error handling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35296">bpo-35296</a>: <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code> now also installs the internal API:
<code class="docutils literal notranslate"><span class="pre">Include/internal/*.h</span></code> header files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34725">bpo-34725</a>: Adds _Py_SetProgramFullPath so embedders may override
sys.executable</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-1-final">
<h2>Python 3.7.1 final<a class="headerlink" href="#python-3-7-1-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-10-20</em></p>
<div class="section" id="id39">
<h3>Library<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34970">bpo-34970</a>: Protect tasks weak set manipulation in <code class="docutils literal notranslate"><span class="pre">asyncio.all_tasks()</span></code></p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-1-release-candidate-2">
<h2>Python 3.7.1 release candidate 2<a class="headerlink" href="#python-3-7-1-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-10-13</em></p>
<div class="section" id="id40">
<h3>Core and Builtins<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34854">bpo-34854</a>: Fixed a crash in compiling string annotations containing a
lambda with a keyword-only argument that doesnt have a default value.</p></li>
<li><p><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> didnt copy iteration order of OrderedDict.</p></li>
</ul>
</div>
<div class="section" id="id41">
<h3>Library<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34909">bpo-34909</a>: Enum: fix grandchildren subclassing when parent mixed with
concrete data types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34900">bpo-34900</a>: Fixed <a class="reference internal" href="../library/unittest.html#unittest.TestCase.debug" title="unittest.TestCase.debug"><code class="xref py py-meth docutils literal notranslate"><span class="pre">unittest.TestCase.debug()</span></code></a> when used to call test
methods with subtests. Patch by Bruno Oliveira.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34872">bpo-34872</a>: Fix self-cancellation in C implementation of asyncio.Task</p></li>
<li><p><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.</p></li>
<li><p><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-3"></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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34334">bpo-34334</a>: In <code class="xref py py-class docutils literal notranslate"><span class="pre">QueueHandler</span></code>, clear <code class="xref py py-obj docutils literal notranslate"><span class="pre">exc_text</span></code> from
<code class="xref py py-class docutils literal notranslate"><span class="pre">LogRecord</span></code> to prevent traceback from being written twice.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6721">bpo-6721</a>: Acquire the logging modules commonly used internal locks while
fork()ing to avoid deadlocks in the child process.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id42">
<h3>Documentation<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id43">
<h3>Tests<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id44">
<h3>macOS<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>).</p></li>
</ul>
</div>
<div class="section" id="id45">
<h3>C API<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-1-release-candidate-1">
<h2>Python 3.7.1 release candidate 1<a class="headerlink" href="#python-3-7-1-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-09-26</em></p>
<div class="section" id="id46">
<h3>Security<a class="headerlink" href="#id46" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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
libexpats default CSPRNG.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Updated to OpenSSL 1.1.0i for Windows builds.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32533">bpo-32533</a>: Fixed thread-safety of error handling in _ssl.</p></li>
</ul>
</div>
<div class="section" id="id47">
<h3>Core and Builtins<a class="headerlink" href="#id47" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34783">bpo-34783</a>: Fix a crash with musl libc (on Alpine Linux) when the script
filename specified on the command line doesnt exist.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34762">bpo-34762</a>: Fix contextvars C API to use PyObject* pointer types.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34485">bpo-34485</a>: Standard streams like sys.stdout now use the “surrogateescape”
error handler, instead of “strict”, on the POSIX locale (when the C locale
is not coerced and the UTF-8 Mode is disabled).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34485">bpo-34485</a>: Fix the error handler of standard streams like sys.stdout:
PYTHONIOENCODING=”:” is now ignored instead of setting the error handler
to “strict”.</p></li>
<li><p><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”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34527">bpo-34527</a>: The UTF-8 Mode is now also enabled by the “POSIX” locale, not
only by the “C” locale.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34400">bpo-34400</a>: Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34170">bpo-34170</a>: -X dev: it is now possible to override the memory allocator
using PYTHONMALLOC even if the developer mode is enabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34126">bpo-34126</a>: Fix crashes when profiling certain invalid calls of unbound
methods. Patch by Jeroen Demeyer.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34087">bpo-34087</a>: Fix buffer overflow while converting unicode to numeric values.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34042">bpo-34042</a>: Fix dict.copy() to maintain correct total refcount (as reported
by sys.gettotalrefcount()).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33985">bpo-33985</a>: Implement contextvars.ContextVar.name attribute.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33956">bpo-33956</a>: Update vendored Expat library copy to version 2.2.5.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33824">bpo-33824</a>: Fix “LC_ALL=C python3.7 -V”: reset properly the command line
parser when the encoding changes after reading the Python configuration.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31902">bpo-31902</a>: Fix the <code class="docutils literal notranslate"><span class="pre">col_offset</span></code> attribute for ast nodes
<code class="docutils literal notranslate"><span class="pre">ast.AsyncFor</span></code>, <code class="docutils literal notranslate"><span class="pre">ast.AsyncFunctionDef</span></code>, and <code class="docutils literal notranslate"><span class="pre">ast.AsyncWith</span></code>.
Previously, <code class="docutils literal notranslate"><span class="pre">col_offset</span></code> pointed to the keyword after <code class="docutils literal notranslate"><span class="pre">async</span></code>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31577">bpo-31577</a>: Fix a crash in <a class="reference internal" href="../library/os.html#os.utime" title="os.utime"><code class="xref py py-obj docutils literal notranslate"><span class="pre">os.utime()</span></code></a> in case of a bad ns argument. Patch
by Oren Milman.</p></li>
</ul>
</div>
<div class="section" id="id48">
<h3>Library<a class="headerlink" href="#id48" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29577">bpo-29577</a>: Support multiple mixin classes when creating Enums.</p></li>
<li><p><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.3s post handshake
authentication feature.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34658">bpo-34658</a>: Fix a rare interpreter unhandled exception state SystemError
only seen when using subprocess with a preexec_fn while an after_parent
handler has been registered with os.register_at_fork and the fork system
call fails.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34363">bpo-34363</a>: dataclasses.asdict() and .astuple() now handle namedtuples
correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34625">bpo-34625</a>: Update vendorized expat library version to 2.2.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34621">bpo-34621</a>: Fix un/pickling compatbility of uuid.UUID objects with older
versions of Python (&lt;3.7).</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34282">bpo-34282</a>: Fix enum members getting shadowed by parent attributes.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34558">bpo-34558</a>: Correct typo in Lib/ctypes/_aix.py</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34515">bpo-34515</a>: Fix parsing non-ASCII identifiers in
<code class="xref py py-mod docutils literal notranslate"><span class="pre">lib2to3.pgen2.tokenize</span></code> (PEP 3131).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13312">bpo-13312</a>: Avoids a possible integer underflow (undefined behavior) in the
time modules year handling code when passed a very low negative year
value.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34454">bpo-34454</a>: Fix the .fromisoformat() methods of datetime types crashing
when given unicode with non-UTF-8-encodable code points. Specifically,
datetime.fromisoformat() now accepts surrogate unicode code points used as
the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34171">bpo-34171</a>: Running the <a class="reference internal" href="../library/trace.html#module-trace" title="trace: Trace or track Python statement execution."><code class="xref py py-mod docutils literal notranslate"><span class="pre">trace</span></code></a> module no longer creates the
<code class="docutils literal notranslate"><span class="pre">trace.cover</span></code> file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34441">bpo-34441</a>: Fix crash when an <code class="docutils literal notranslate"><span class="pre">ABC</span></code>-derived class with invalid
<code class="docutils literal notranslate"><span class="pre">__subclasses__</span></code> is passed as the second argument to
<a class="reference internal" href="../library/functions.html#issubclass" title="issubclass"><code class="xref py py-func docutils literal notranslate"><span class="pre">issubclass()</span></code></a>. Patch by Alexey Izbyshev.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34333">bpo-34333</a>: Fix %-formatting in <a class="reference internal" href="../library/pathlib.html#pathlib.PurePath.with_suffix" title="pathlib.PurePath.with_suffix"><code class="xref py py-meth docutils literal notranslate"><span class="pre">pathlib.PurePath.with_suffix()</span></code></a> when
formatting an error message.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34263">bpo-34263</a>: asyncios event loop will not pass timeouts longer than one day
to epoll/select etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34035">bpo-34035</a>: Fix several AttributeError in zipfile seek() methods. Patch by
Mickaël Schoentgen.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34251">bpo-34251</a>: Restore <code class="docutils literal notranslate"><span class="pre">msilib.Win64</span></code> to preserve backwards compatibility
since its already used by <a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> <code class="docutils literal notranslate"><span class="pre">bdist_msi</span></code> command.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34213">bpo-34213</a>: Allow frozen dataclasses to have a field named “object”.
Previously this conflicted with an internal use of “object”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21446">bpo-21446</a>: The <a class="reference internal" href="../library/2to3.html#2to3fixer-reload"><code class="xref std std-2to3fixer docutils literal notranslate"><span class="pre">reload</span></code></a> fixer now uses <a class="reference internal" href="../library/importlib.html#importlib.reload" title="importlib.reload"><code class="xref py py-func docutils literal notranslate"><span class="pre">importlib.reload()</span></code></a>
instead of deprecated <a class="reference internal" href="../library/imp.html#imp.reload" title="imp.reload"><code class="xref py py-func docutils literal notranslate"><span class="pre">imp.reload()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue940286">bpo-940286</a>: pydocs <code class="docutils literal notranslate"><span class="pre">Helper.showtopic()</span></code> method now prints the cross
references of a topic correctly.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34108">bpo-34108</a>: Remove extraneous CR in 2to3 refactor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27494">bpo-27494</a>: Reverted <a class="reference external" href="https://bugs.python.org/issue27494">bpo-27494</a>. 2to3 rejects now a trailing comma in
generator expressions.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34056">bpo-34056</a>: Ensure the loader shim created by <code class="docutils literal notranslate"><span class="pre">imp.load_module</span></code> always
returns bytes from its <code class="docutils literal notranslate"><span class="pre">get_data()</span></code> function. This fixes using
<code class="docutils literal notranslate"><span class="pre">imp.load_module</span></code> with <span class="target" id="index-4"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0552"><strong>PEP 552</strong></a> hash-based pycs.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34044">bpo-34044</a>: <code class="docutils literal notranslate"><span class="pre">subprocess.Popen</span></code> now copies the <em>startupinfo</em> argument to
leave it unchanged: it will modify the copy, so that the same
<code class="docutils literal notranslate"><span class="pre">STARTUPINFO</span></code> object can be used multiple times.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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. The1024 output of tree is eliminated.</p></li>
<li><p><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">&quot;</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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27500">bpo-27500</a>: Fix getaddrinfo to resolve IPv6 addresses correctly.</p></li>
<li><p><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.</p></li>
<li><p><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>, <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>,
<a class="reference internal" href="../library/os.html#os.preadv" title="os.preadv"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.preadv()</span></code></a> and <a class="reference internal" href="../library/os.html#os.pwritev" title="os.pwritev"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.pwritev()</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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33833">bpo-33833</a>: Fixed bug in asyncio where ProactorSocketTransport logs
AssertionError if force closed during write.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33663">bpo-33663</a>: Convert content length to string before putting to header.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33805">bpo-33805</a>: Improve error message of dataclasses.replace() when an InitVar
is not specified</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27397">bpo-27397</a>: Make email module properly handle invalid-length base64
strings.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31014">bpo-31014</a>: Fixed creating a controller for <a class="reference internal" href="../library/webbrowser.html#module-webbrowser" title="webbrowser: Easy-to-use controller for Web browsers."><code class="xref py py-mod docutils literal notranslate"><span class="pre">webbrowser</span></code></a> when a user
specifies a path to an entry in the BROWSER environment variable. Based
on patch by John Still.</p></li>
<li><p><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 &gt;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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32933">bpo-32933</a>: <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.mock_open" title="unittest.mock.mock_open"><code class="xref py py-func docutils literal notranslate"><span class="pre">unittest.mock.mock_open()</span></code></a> now supports iteration over the
file contents. Patch by Tony Flury.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29456">bpo-29456</a>: Fix bugs in hangul normalization: u1176, u11a7 and u11c3</p></li>
</ul>
</div>
<div class="section" id="id49">
<h3>Documentation<a class="headerlink" href="#id49" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34790">bpo-34790</a>: Document how passing coroutines to asyncio.wait() can be
confusing.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34065">bpo-34065</a>: Fix wrongly written basicConfig documentation markup syntax</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33460">bpo-33460</a>: replaced ellipsis with correct error codes in tutorial chapter
3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33847">bpo-33847</a>: Add &#64; operator entry to index.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id50">
<h3>Tests<a class="headerlink" href="#id50" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34537">bpo-34537</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_gdb.test_strings()</span></code> when <code class="docutils literal notranslate"><span class="pre">LC_ALL=C</span></code> and GDB was
compiled with Python 3.6 or earlier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34587">bpo-34587</a>: test_socket: Remove RDSTest.testCongestion(). The test tries to
fill the receivers socket buffer and expects an error. But the RDS
protocol doesnt require that. Moreover, the Linux implementation of RDS
expects that the producer of the messages reduces its rate, its not the
role of the receiver to trigger an error. The test fails on Fedora 28 by
design, so just remove it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34661">bpo-34661</a>: Fix test_shutil if unzip doesnt support -t.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11193">bpo-11193</a>: Remove special condition for AIX in
<code class="xref py py-obj docutils literal notranslate"><span class="pre">test_subprocess.test_undecodable_env</span></code></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34490">bpo-34490</a>: On AIX with AF_UNIX family sockets getsockname() does not
provide sockname, so skip calls to transport.get_extra_info(sockname)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33746">bpo-33746</a>: Fix test_unittest when run in verbose mode.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id51">
<h3>Build<a class="headerlink" href="#id51" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34710">bpo-34710</a>: Fixed SSL module build with OpenSSL &amp; pedantic CFLAGS.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34555">bpo-34555</a>: Fix for case where it was not possible to have both
<code class="docutils literal notranslate"><span class="pre">HAVE_LINUX_VM_SOCKETS_H</span></code> and <code class="docutils literal notranslate"><span class="pre">HAVE_SOCKADDR_ALG</span></code> be undefined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34121">bpo-34121</a>: Fix detection of C11 atomic support on clang.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33648">bpo-33648</a>: The with-c-locale-warning configuration flag has been
removed. It has had no effect for about a year.</p></li>
</ul>
</div>
<div class="section" id="id52">
<h3>Windows<a class="headerlink" href="#id52" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34770">bpo-34770</a>: Fix a possible null pointer dereference in pyshellext.cpp.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34603">bpo-34603</a>: Fix returning structs from functions produced by MSVC</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34581">bpo-34581</a>: Guard MSVC-specific code in socketmodule.c with <code class="docutils literal notranslate"><span class="pre">#ifdef</span>
<span class="pre">_MSC_VER</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34062">bpo-34062</a>: Fixed the list and list-paths arguments for the py.exe
launcher</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34225">bpo-34225</a>: Ensure INCLUDE and LIB directories do not end with a backslash.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30237">bpo-30237</a>: Output error when ReadConsole is canceled by
CancelSynchronousIo instead of crashing.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id53">
<h3>macOS<a class="headerlink" href="#id53" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Update to OpenSSL 1.1.0i for macOS installer builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33635">bpo-33635</a>: In macOS stat on some file descriptors (/dev/fd/3 f.e) will
result in bad file descriptor OSError. Guard against this exception was
added in is_dir, is_file and similar methods. DirEntry.is_dir can also
throw this exception so _RecursiveWildcardSelector._iterate_directories
was also extended with the same error ignoring pattern.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id54">
<h3>IDLE<a class="headerlink" href="#id54" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34548">bpo-34548</a>: Use configured color theme for read-only text views.</p></li>
<li><p><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”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34047">bpo-34047</a>: Fixed mousewheel scrolling direction on macOS.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34120">bpo-34120</a>: Fix unresponsiveness after closing certain windows and dialogs.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33905">bpo-33905</a>: Add test for idlelib.stackview.StackBrowser.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33904">bpo-33904</a>: IDLE: In rstrip, rename class RstripExtension as Rstrip</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33856">bpo-33856</a>: Add “help” in the welcome message of IDLE</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33839">bpo-33839</a>: IDLE: refactor ToolTip and CallTip and add documentation and
tests</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id55">
<h3>Tools/Demos<a class="headerlink" href="#id55" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catches <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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catches ValueError on read_var(): when Python
has no debug symbols for example.</p></li>
</ul>
</div>
<div class="section" id="id56">
<h3>C API<a class="headerlink" href="#id56" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34247">bpo-34247</a>: Fix Py_Initialize() regression introduced in 3.7.0: read
environment variables like PYTHONOPTIMIZE.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34008">bpo-34008</a>: Py_Main() can again be called after Py_Initialize(), as in
Python 3.6.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-final">
<h2>Python 3.7.0 final<a class="headerlink" href="#python-3-7-0-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-06-27</em></p>
<div class="section" id="id57">
<h3>Library<a class="headerlink" href="#id57" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33851">bpo-33851</a>: Fix <a class="reference internal" href="../library/ast.html#ast.get_docstring" title="ast.get_docstring"><code class="xref py py-func docutils literal notranslate"><span class="pre">ast.get_docstring()</span></code></a> for a node that lacks a
docstring.</p></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><p><a class="reference external" href="https://bugs.python.org/issue33932">bpo-33932</a>: Calling Py_Initialize() twice does nothing, instead of failing
with a fatal error: restore the Python 3.6 behaviour.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-release-candidate-1">
<h2>Python 3.7.0 release candidate 1<a class="headerlink" href="#python-3-7-0-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-06-12</em></p>
<div class="section" id="id59">
<h3>Core and Builtins<a class="headerlink" href="#id59" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33803">bpo-33803</a>: Fix a crash in hamt.c caused by enabling GC tracking for an
object that hadnt all of its fields set to NULL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33706">bpo-33706</a>: Fix a crash in Python initialization when parsing the command
line options. Thanks Christoph Gohlke for the bug report and the fix!</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31849">bpo-31849</a>: Fix signed/unsigned comparison warning in pyhash.c.</p></li>
</ul>
</div>
<div class="section" id="id60">
<h3>Library<a class="headerlink" href="#id60" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30805">bpo-30805</a>: Avoid race condition with debug logging</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33694">bpo-33694</a>: asyncio: Fix a race condition causing data loss on
pause_reading()/resume_reading() when using the ProactorEventLoop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32493">bpo-32493</a>: Correct test for <code class="docutils literal notranslate"><span class="pre">uuid_enc_be</span></code> availability in
<code class="docutils literal notranslate"><span class="pre">configure.ac</span></code>. Patch by Michael Felt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33792">bpo-33792</a>: Add asyncio.WindowsSelectorEventLoopPolicy and
asyncio.WindowsProactorEventLoopPolicy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33778">bpo-33778</a>: Update <code class="docutils literal notranslate"><span class="pre">unicodedata</span></code>s database to Unicode version 11.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33770">bpo-33770</a>: improve base64 exception message for encoded inputs of invalid
length</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33769">bpo-33769</a>: asyncio/start_tls: Fix error message; cancel callbacks in case
of an unhandled error; mark SSLTransport as closed if it is aborted.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33734">bpo-33734</a>: asyncio/ssl: Fix AttributeError, increase default handshake
timeout</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33582">bpo-33582</a>: Emit a deprecation warning for inspect.formatargspec</p></li>
</ul>
</div>
<div class="section" id="id61">
<h3>Documentation<a class="headerlink" href="#id61" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33409">bpo-33409</a>: Clarified the relationship between PEP 538s
PYTHONCOERCECLOCALE and PEP 540s PYTHONUTF8 mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33736">bpo-33736</a>: Improve the documentation of <a class="reference internal" href="../library/asyncio-stream.html#asyncio.open_connection" title="asyncio.open_connection"><code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio.open_connection()</span></code></a>,
<a class="reference internal" href="../library/asyncio-stream.html#asyncio.start_server" title="asyncio.start_server"><code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio.start_server()</span></code></a> and their UNIX socket counterparts.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id62">
<h3>Build<a class="headerlink" href="#id62" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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++.</p></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><p><a class="reference external" href="https://bugs.python.org/issue33720">bpo-33720</a>: Reduces maximum marshal recursion depth on release builds.</p></li>
</ul>
</div>
<div class="section" id="id64">
<h3>IDLE<a class="headerlink" href="#id64" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-beta-5">
<h2>Python 3.7.0 beta 5<a class="headerlink" href="#python-3-7-0-beta-5" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-05-30</em></p>
<div class="section" id="id65">
<h3>Core and Builtins<a class="headerlink" href="#id65" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33509">bpo-33509</a>: Fix module_globals parameter of warnings.warn_explicit(): dont
crash if module_globals is not a dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20104">bpo-20104</a>: The new <code class="xref py py-obj docutils literal notranslate"><span class="pre">os.posix_spawn</span></code> added in 3.7.0b1 was removed as we are
still working on what the API should look like. Expect this in 3.8
instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33475">bpo-33475</a>: Fixed miscellaneous bugs in converting annotations to strings
and optimized parentheses in the string representation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33391">bpo-33391</a>: Fix a leak in set_symmetric_difference().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28055">bpo-28055</a>: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32911">bpo-32911</a>: Due to unexpected compatibility issues discovered during
downstream beta testing, reverted <a class="reference external" href="https://bugs.python.org/issue29463">bpo-29463</a>. <code class="docutils literal notranslate"><span class="pre">docstring</span></code> field is
removed from Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes
which was added in 3.7a1. Docstring expression is restored as a first
statement in their body. Based on patch by Inada Naoki.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id66">
<h3>Library<a class="headerlink" href="#id66" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32751">bpo-32751</a>: When cancelling the task due to a timeout,
<a class="reference internal" href="../library/asyncio-task.html#asyncio.wait_for" title="asyncio.wait_for"><code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.wait_for()</span></code></a> will now wait until the cancellation is complete.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32684">bpo-32684</a>: Fix gather to propagate cancellation of itself even with
return_exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33654">bpo-33654</a>: Support protocol type switching in SSLTransport.set_protocol().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33674">bpo-33674</a>: Pause the transport as early as possible to further reduce the
risk of data_received() being called before connection_made().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31647">bpo-31647</a>: Fixed bug where calling write_eof() on a
_SelectorSocketTransport after its already closed raises AttributeError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32610">bpo-32610</a>: Make asyncio.all_tasks() return only pending tasks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32410">bpo-32410</a>: Avoid blocking on file IO in sendfile fallback code</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33469">bpo-33469</a>: Fix RuntimeError after closing loop that used run_in_executor</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33672">bpo-33672</a>: Fix Task.__repr__ crash with Cythons bogus coroutines</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33654">bpo-33654</a>: Fix transport.set_protocol() to support switching between
asyncio.Protocol and asyncio.BufferedProtocol. Fix loop.start_tls() to
work with asyncio.BufferedProtocols.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33652">bpo-33652</a>: Pickles of type variables and subscripted generics are now
future-proof and compatible with older Python versions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32493">bpo-32493</a>: Fixed <a class="reference internal" href="../library/uuid.html#uuid.uuid1" title="uuid.uuid1"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid.uuid1()</span></code></a> on FreeBSD.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33618">bpo-33618</a>: Finalize and document preliminary and experimental TLS 1.3
support with OpenSSL 1.1.1</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33623">bpo-33623</a>: Fix possible SIGSGV when asyncio.Future is created in __del__</p></li>
<li><p><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.</p></li>
<li><p><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 ciphers
enabled by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Do not simplify arguments to <a class="reference internal" href="../library/typing.html#typing.Union" title="typing.Union"><code class="xref py py-obj docutils literal notranslate"><span class="pre">typing.Union</span></code></a>. Now
<code class="xref py py-obj docutils literal notranslate"><span class="pre">Union[Manager,</span> <span class="pre">Employee]</span></code> is not simplified to <code class="xref py py-obj docutils literal notranslate"><span class="pre">Employee</span></code> at runtime.
Such simplification previously caused several bugs and limited
possibilities for introspection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33540">bpo-33540</a>: Add a new <code class="docutils literal notranslate"><span class="pre">block_on_close</span></code> class attribute to
<code class="docutils literal notranslate"><span class="pre">ForkingMixIn</span></code> and <code class="docutils literal notranslate"><span class="pre">ThreadingMixIn</span></code> classes of <a class="reference internal" href="../library/socketserver.html#module-socketserver" title="socketserver: A framework for network servers."><code class="xref py py-mod docutils literal notranslate"><span class="pre">socketserver</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33548">bpo-33548</a>: tempfile._candidate_tempdir_list should consider common TEMP
locations</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33109">bpo-33109</a>: argparse subparsers are once again not required by default,
reverting the change in behavior introduced by <a class="reference external" href="https://bugs.python.org/issue26510">bpo-26510</a> in 3.7.0a2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33536">bpo-33536</a>: dataclasses.make_dataclass now checks for invalid field names
and duplicate fields. Also, added a check for invalid field
specifications.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p>Fix failure in <a class="reference internal" href="../library/typing.html#typing.get_type_hints" title="typing.get_type_hints"><code class="xref py py-obj docutils literal notranslate"><span class="pre">typing.get_type_hints()</span></code></a> when ClassVar was provided as a
string forward reference.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33505">bpo-33505</a>: Optimize asyncio.ensure_future() by reordering if checks: 1.17x
faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33497">bpo-33497</a>: Add errors param to cgi.parse_multipart and make an encoding in
FieldStorage use the given errors (needed for Twisted). Patch by Amber
Brown.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33495">bpo-33495</a>: Change dataclasses.Fields repr to use the repr of each of its
members, instead of str. This makes it more clear what each field
actually represents. This is especially true for the type member.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33453">bpo-33453</a>: Fix dataclasses to work if using literal string type
annotations or if using PEP 563 “Postponed Evaluation of Annotations”.
Only specific string prefixes are detected for both ClassVar (“ClassVar”
and “typing.ClassVar”) and InitVar (“InitVar” and “dataclasses.InitVar”).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20087">bpo-20087</a>: Updated alias mapping with glibc 2.27 supported locales.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28167">bpo-28167</a>: The function <code class="docutils literal notranslate"><span class="pre">platform.linux_distribution</span></code> and
<code class="docutils literal notranslate"><span class="pre">platform.dist</span></code> now trigger a <code class="docutils literal notranslate"><span class="pre">DeprecationWarning</span></code> and have been
marked for removal in Python 3.8</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32861">bpo-32861</a>: The urllib.robotparsers <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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32257">bpo-32257</a>: The ssl module now contains OP_NO_RENEGOTIATION constant,
available with OpenSSL 1.1.0h or 1.1.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16865">bpo-16865</a>: Support arrays &gt;=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.</p></li>
</ul>
</div>
<div class="section" id="id67">
<h3>Documentation<a class="headerlink" href="#id67" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23859">bpo-23859</a>: Document that <a class="reference internal" href="../library/asyncio-task.html#asyncio.wait" title="asyncio.wait"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.wait()</span></code></a> does not cancel its futures on
timeout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32436">bpo-32436</a>: Document PEP 567 changes to asyncio.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33604">bpo-33604</a>: Update HMAC md5 default to a DeprecationWarning, bump removal
to 3.8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33503">bpo-33503</a>: Fix broken pypi link</p></li>
<li><p><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>.</p></li>
</ul>
</div>
<div class="section" id="id68">
<h3>Tests<a class="headerlink" href="#id68" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32604">bpo-32604</a>: Remove the _xxsubinterpreters module (meant for testing) and
associated helpers. This module was originally added recently in 3.7b1.</p></li>
</ul>
</div>
<div class="section" id="id69">
<h3>Build<a class="headerlink" href="#id69" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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></p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id70">
<h3>macOS<a class="headerlink" href="#id70" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue13631">bpo-13631</a>: The .editrc file in users home directory is now processed
correctly during the readline initialization through editline emulation on
macOS.</p></li>
</ul>
</div>
<div class="section" id="id71">
<h3>IDLE<a class="headerlink" href="#id71" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33628">bpo-33628</a>: IDLE: Cleanup codecontext.py and its test.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33564">bpo-33564</a>: IDLEs code context now recognizes async as a block opener.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32831">bpo-32831</a>: Add docstrings and tests for codecontext.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-beta-4">
<h2>Python 3.7.0 beta 4<a class="headerlink" href="#python-3-7-0-beta-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-05-02</em></p>
<div class="section" id="id72">
<h3>Core and Builtins<a class="headerlink" href="#id72" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33363">bpo-33363</a>: Raise a SyntaxError for <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">with</span></code> and <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">for</span></code>
statements outside of async functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33128">bpo-33128</a>: Fix a bug that causes PathFinder to appear twice on
sys.meta_path. Patch by Pablo Galindo Salgado.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33205">bpo-33205</a>: Change dict growth function from
<code class="docutils literal notranslate"><span class="pre">round_up_to_power_2(used*2+hashtable_size/2)</span></code> to
<code class="docutils literal notranslate"><span class="pre">round_up_to_power_2(used*3)</span></code>. Previously, dict is shrinked only when
<code class="docutils literal notranslate"><span class="pre">used</span> <span class="pre">==</span> <span class="pre">0</span></code>. Now dict has more chance to be shrinked.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id73">
<h3>Library<a class="headerlink" href="#id73" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue33281">bpo-33281</a>: Fix ctypes.util.find_library regression on macOS.</p></li>
<li><p><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 &quot;database&quot; 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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33329">bpo-33329</a>: Fix multiprocessing regression on newer glibcs</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33131">bpo-33131</a>: Upgrade bundled version of pip to 10.0.1.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33266">bpo-33266</a>: lib2to3 now recognizes <code class="docutils literal notranslate"><span class="pre">rf'...'</span></code> strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11594">bpo-11594</a>: Ensure line-endings are respected when using lib2to3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33254">bpo-33254</a>: Have <a class="reference internal" href="../library/importlib.html#importlib.resources.contents" title="importlib.resources.contents"><code class="xref py py-func docutils literal notranslate"><span class="pre">importlib.resources.contents()</span></code></a> and
<a class="reference internal" href="../library/importlib.html#importlib.abc.ResourceReader.contents" title="importlib.abc.ResourceReader.contents"><code class="xref py py-meth docutils literal notranslate"><span class="pre">importlib.abc.ResourceReader.contents()</span></code></a> return an <a class="reference internal" href="../glossary.html#term-iterable"><span class="xref std std-term">iterable</span></a>
instead of an <a class="reference internal" href="../glossary.html#term-iterator"><span class="xref std std-term">iterator</span></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33256">bpo-33256</a>: Fix display of <code class="docutils literal notranslate"><span class="pre">&lt;module&gt;</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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33185">bpo-33185</a>: Fixed regression when running pydoc with the <a class="reference internal" href="../using/cmdline.html#cmdoption-m"><code class="xref std std-option docutils literal notranslate"><span class="pre">-m</span></code></a>
switch. (The regression was introduced in 3.7.0b3 by the resolution of
<a class="reference external" href="https://bugs.python.org/issue33053">bpo-33053</a>)</p>
<p>This fix also changed pydoc to add <code class="docutils literal notranslate"><span class="pre">os.getcwd()</span></code> to <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>
when necessary, rather than adding <code class="docutils literal notranslate"><span class="pre">&quot;.&quot;</span></code>.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33169">bpo-33169</a>: Delete entries of <code class="docutils literal notranslate"><span class="pre">None</span></code> in <a class="reference internal" href="../library/sys.html#sys.path_importer_cache" title="sys.path_importer_cache"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.path_importer_cache</span></code></a>
when <code class="xref py py-meth docutils literal notranslate"><span class="pre">importlib.machinery.invalidate_caches()</span></code> is called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33217">bpo-33217</a>: Deprecate looking up non-Enum objects in Enum classes and Enum
members (will 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> in 3.8+).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20104">bpo-20104</a>: Improved error handling and fixed a reference leak in
<code class="xref py py-func docutils literal notranslate"><span class="pre">os.posix_spawn()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33175">bpo-33175</a>: In dataclasses, Field.__set_name__ now looks up the
__set_name__ special method on the class, not the instance, of the default
value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33097">bpo-33097</a>: Raise RuntimeError when <code class="docutils literal notranslate"><span class="pre">executor.submit</span></code> is called during
interpreter shutdown.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id74">
<h3>Documentation<a class="headerlink" href="#id74" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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></p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33201">bpo-33201</a>: Modernize documentation for writing C extension types.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32337">bpo-32337</a>: Update documentation related with <code class="docutils literal notranslate"><span class="pre">dict</span></code> order.</p></li>
</ul>
</div>
<div class="section" id="id75">
<h3>Tests<a class="headerlink" href="#id75" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33358">bpo-33358</a>: Fix <code class="docutils literal notranslate"><span class="pre">test_embed.test_pre_initialization_sys_options()</span></code> when
the interpreter is built with <code class="docutils literal notranslate"><span class="pre">--enable-shared</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id76">
<h3>Build<a class="headerlink" href="#id76" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33393">bpo-33393</a>: Update config.guess and config.sub files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33377">bpo-33377</a>: Add new triplets for mips r6 and riscv variants (used in
extension suffixes).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32232">bpo-32232</a>: By default, modules configured in <code class="xref py py-obj docutils literal notranslate"><span class="pre">Modules/Setup</span></code> are no longer
built with <code class="xref py py-obj docutils literal notranslate"><span class="pre">-DPy_BUILD_CORE</span></code>. Instead, modules that specifically need that
preprocessor definition include it in their individual entries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33182">bpo-33182</a>: The embedding tests can once again be built with clang 6.0</p></li>
</ul>
</div>
<div class="section" id="id77">
<h3>Windows<a class="headerlink" href="#id77" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update Windows installer to use OpenSSL 1.1.0h.</p></li>
</ul>
</div>
<div class="section" id="id78">
<h3>macOS<a class="headerlink" href="#id78" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update macOS installer build to use OpenSSL 1.1.0h.</p></li>
</ul>
</div>
<div class="section" id="id79">
<h3>IDLE<a class="headerlink" href="#id79" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id80">
<h3>Tools/Demos<a class="headerlink" href="#id80" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29673">bpo-29673</a>: Fix pystackv and pystack gdbinit macros.</p></li>
<li><p><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.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-beta-3">
<h2>Python 3.7.0 beta 3<a class="headerlink" href="#python-3-7-0-beta-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-03-29</em></p>
<div class="section" id="id81">
<h3>Security<a class="headerlink" href="#id81" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33136">bpo-33136</a>: Harden ssl module against LibreSSL CVE-2018-8970.
X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new
test ensures that NULL bytes are not allowed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33001">bpo-33001</a>: Minimal fix to prevent buffer overrun in os.symlink on Windows</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id82">
<h3>Core and Builtins<a class="headerlink" href="#id82" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33053">bpo-33053</a>: When using the -m switch, sys.path[0] is now explicitly
expanded as the <em>starting</em> working directory, rather than being left as
the empty path (which allows imports from the current working directory at
the time of the import)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33018">bpo-33018</a>: Improve consistency of errors raised by <code class="docutils literal notranslate"><span class="pre">issubclass()</span></code> when
called with a non-class and an abstract base class as the first and second
arguments, respectively. Patch by Josh Bronson.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33026">bpo-33026</a>: Fixed jumping out of “with” block by setting f_lineno.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33005">bpo-33005</a>: Fix a crash on fork when using a custom memory allocator (ex:
using PYTHONMALLOC env var). _PyGILState_Reinit() and
_PyInterpreterState_Enable() now use the default RAW memory allocator to
allocate a new interpreters mutex on fork.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17288">bpo-17288</a>: Prevent jumps from return and exception trace events.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32836">bpo-32836</a>: Dont use temporary variables in cases of list/dict/set
comprehensions</p></li>
</ul>
</div>
<div class="section" id="id83">
<h3>Library<a class="headerlink" href="#id83" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33141">bpo-33141</a>: Have Field objects pass through __set_name__ to their default
values, if they have their own __set_name__.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32873">bpo-32873</a>: Treat type variables and special typing forms as immutable by
copy and pickle. This fixes several minor issues and inconsistencies, and
improves backwards compatibility with Python 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33134">bpo-33134</a>: When computing dataclasss __hash__, use the lookup table to
contain the function which returns the __hash__ value. This is an
improvement over looking up a string, and then testing that string to see
what to do.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33127">bpo-33127</a>: The ssl module now compiles with LibreSSL 2.7.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32505">bpo-32505</a>: Raise TypeError if a member variable of a dataclass is of type
Field, but doesnt have a type annotation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33078">bpo-33078</a>: Fix the failure on OSX caused by the tests relying on
sem_getvalue</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33116">bpo-33116</a>: Add Field to dataclasses.__all__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32896">bpo-32896</a>: Fix an error where subclassing a dataclass with a field that
uses a default_factory would generate an incorrect class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33100">bpo-33100</a>: Dataclasses: If a field has a default value thats a
MemberDescriptorType, then its from that field being in __slots__, not an
actual default value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32953">bpo-32953</a>: If a non-dataclass inherits from a frozen dataclass, allow
attributes to be added to the derived class. Only attributes from the
frozen dataclass cannot be assigned to. Require all dataclasses in a
hierarchy to be either all frozen or all non-frozen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33061">bpo-33061</a>: Add missing <code class="docutils literal notranslate"><span class="pre">NoReturn</span></code> to <code class="docutils literal notranslate"><span class="pre">__all__</span></code> in typing.py</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33078">bpo-33078</a>: Fix the size handling in multiprocessing.Queue when a pickling
error occurs.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue33056">bpo-33056</a>: FIX properly close leaking fds in
concurrent.futures.ProcessPoolExecutor.</p></li>
<li><p><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.</p></li>
<li><p><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><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><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32999">bpo-32999</a>: Fix C implementation of <code class="docutils literal notranslate"><span class="pre">ABC.__subclasscheck__(cls,</span>
<span class="pre">subclass)</span></code> crashed when <code class="docutils literal notranslate"><span class="pre">subclass</span></code> is not a type object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33009">bpo-33009</a>: Fix inspect.signature() for single-parameter partialmethods.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32056">bpo-32056</a>: Improved exceptions raised for invalid number of channels and
sample width when read an audio file in modules <a class="reference internal" href="../library/aifc.html#module-aifc" title="aifc: Read and write audio files in AIFF or AIFC format."><code class="xref py py-mod docutils literal notranslate"><span class="pre">aifc</span></code></a>, <a class="reference internal" href="../library/wave.html#module-wave" title="wave: Provide an interface to the WAV sound format."><code class="xref py py-mod docutils literal notranslate"><span class="pre">wave</span></code></a>
and <a class="reference internal" href="../library/sunau.html#module-sunau" title="sunau: Provide an interface to the Sun AU sound format."><code class="xref py py-mod docutils literal notranslate"><span class="pre">sunau</span></code></a>.</p></li>
<li><p><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31639">bpo-31639</a>: http.server now exposes a ThreadedHTTPServer class and uses it
when the module is run with <code class="docutils literal notranslate"><span class="pre">-m</span></code> to cope with web browsers pre-opening
sockets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27645">bpo-27645</a>: <a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection" title="sqlite3.Connection"><code class="xref py py-class docutils literal notranslate"><span class="pre">sqlite3.Connection</span></code></a> now exposes a
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.backup" title="sqlite3.Connection.backup"><code class="xref py py-class docutils literal notranslate"><span class="pre">backup</span></code></a> method, if the underlying SQLite
library is at version 3.6.11 or higher. Patch by Lele Gaifax.</p></li>
</ul>
</div>
<div class="section" id="id84">
<h3>Documentation<a class="headerlink" href="#id84" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33126">bpo-33126</a>: Document PyBuffer_ToContiguous().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18802">bpo-18802</a>: Documentation changes for ipaddress. Patch by Jon Foster and
Berker Peksag.</p></li>
<li><p><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)</p></li>
</ul>
</div>
<div class="section" id="id85">
<h3>Tests<a class="headerlink" href="#id85" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32872">bpo-32872</a>: Avoid regrtest compatibility issue with namespace packages.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19417">bpo-19417</a>: Add test_bdb.py.</p></li>
</ul>
</div>
<div class="section" id="id86">
<h3>Build<a class="headerlink" href="#id86" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id87">
<h3>Windows<a class="headerlink" href="#id87" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33016">bpo-33016</a>: Fix potential use of uninitialized memory in
nt._getfinalpathname</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id88">
<h3>macOS<a class="headerlink" href="#id88" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32726">bpo-32726</a>: Build and link with private copy of Tcl/Tk 8.6 for the macOS
10.6+ installer. The 10.9+ installer variant already does this. This
means that the Python 3.7 provided by the python.org macOS installers no
longer need or use any external versions of Tcl/Tk, either system-provided
or user-installed, such as ActiveTcl.</p></li>
</ul>
</div>
<div class="section" id="id89">
<h3>IDLE<a class="headerlink" href="#id89" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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-5"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">IDLESTARTUP</span></code> or
<span class="target" id="index-6"></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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32940">bpo-32940</a>: Simplify and rename StringTranslatePseudoMapping in pyparse.</p></li>
</ul>
</div>
<div class="section" id="id90">
<h3>Tools/Demos<a class="headerlink" href="#id90" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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).</p></li>
</ul>
</div>
<div class="section" id="id91">
<h3>C API<a class="headerlink" href="#id91" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33042">bpo-33042</a>: Embedding applications may once again call
PySys_ResetWarnOptions, PySys_AddWarnOption, and PySys_AddXOption prior to
calling Py_Initialize.</p></li>
<li><p><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</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-beta-2">
<h2>Python 3.7.0 beta 2<a class="headerlink" href="#python-3-7-0-beta-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-02-27</em></p>
<div class="section" id="id92">
<h3>Security<a class="headerlink" href="#id92" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28414">bpo-28414</a>: The ssl module now allows users to perform their own IDN
en/decoding when using SNI.</p></li>
</ul>
</div>
<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><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31356">bpo-31356</a>: Remove the new API added in <a class="reference external" href="https://bugs.python.org/issue31356">bpo-31356</a> (gc.ensure_disabled()
context manager).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32305">bpo-32305</a>: For namespace packages, ensure that both <code class="docutils literal notranslate"><span class="pre">__file__</span></code> and
<code class="docutils literal notranslate"><span class="pre">__spec__.origin</span></code> are set to None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32303">bpo-32303</a>: Make sure <code class="docutils literal notranslate"><span class="pre">__spec__.loader</span></code> matches <code class="docutils literal notranslate"><span class="pre">__loader__</span></code> for
namespace packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32711">bpo-32711</a>: Fix the warning messages for Python/ast_unparse.c. Patch by
Stéphane Wirtel</p></li>
<li><p><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.</p></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><a class="reference external" href="https://bugs.python.org/issue32960">bpo-32960</a>: For dataclasses, disallow inheriting frozen from non-frozen
classes, and also disallow inheriting non-frozen from frozen classes. This
restriction will be relaxed at a future date.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32951">bpo-32951</a>: Direct instantiation of SSLSocket and SSLObject objects is now
prohibited. The constructors were never documented, tested, or designed as
public constructors. Users were suppose to use ssl.wrap_socket() or
SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32929">bpo-32929</a>: Remove the tri-state parameter “hash”, and add the boolean
“unsafe_hash”. If unsafe_hash is True, add a __hash__ function, but if a
__hash__ exists, raise TypeError. If unsafe_hash is False, add a __hash__
based on the values of eq= and frozen=. The unsafe_hash=False behavior is
the same as the old hash=None behavior. unsafe_hash=False is the default,
just as hash=None used to be.</p></li>
<li><p><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.</p></li>
<li><p><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><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><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>, dont check every call whether the <code class="docutils literal notranslate"><span class="pre">dup3</span></code>
syscall exists or not.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32556">bpo-32556</a>: nt._getfinalpathname, nt._getvolumepathname and
nt._getdiskusage now correctly convert from bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25988">bpo-25988</a>: Emit a <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> when using or importing an ABC
directly from <a class="reference internal" href="../library/collections.html#module-collections" title="collections: Container datatypes"><code class="xref py py-mod docutils literal notranslate"><span class="pre">collections</span></code></a> rather than from <a class="reference internal" href="../library/collections.abc.html#module-collections.abc" title="collections.abc: Abstract base classes for containers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">collections.abc</span></code></a>.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue31333">bpo-31333</a>: <code class="docutils literal notranslate"><span class="pre">_abc</span></code> module is added. It is a speedup module with C
implementations for various functions and methods in <code class="docutils literal notranslate"><span class="pre">abc</span></code>. Creating an
ABC subclass and calling <code class="docutils literal notranslate"><span class="pre">isinstance</span></code> or <code class="docutils literal notranslate"><span class="pre">issubclass</span></code> with an ABC
subclass are up to 1.5x faster. In addition, this makes Python start-up up
to 10% faster.</p>
<p>Note that the new implementation hides internal registry and caches,
previously accessible via private attributes <code class="docutils literal notranslate"><span class="pre">_abc_registry</span></code>,
<code class="docutils literal notranslate"><span class="pre">_abc_cache</span></code>, and <code class="docutils literal notranslate"><span class="pre">_abc_negative_cache</span></code>. There are three debugging
helper methods that can be used instead <code class="docutils literal notranslate"><span class="pre">_dump_registry</span></code>,
<code class="docutils literal notranslate"><span class="pre">_abc_registry_clear</span></code>, and <code class="docutils literal notranslate"><span class="pre">_abc_caches_clear</span></code>.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32819">bpo-32819</a>: ssl.match_hostname() has been simplified and no longer depends
on re and ipaddress module for wildcard and IP addresses. Error reporting
for invalid wildcards has been improved.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32394">bpo-32394</a>: socket: Remove
TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older version
Windows during run-time.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue32792">bpo-32792</a>: collections.ChainMap() preserves the order of the underlying
mappings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32775">bpo-32775</a>: <a class="reference internal" href="../library/fnmatch.html#fnmatch.translate" title="fnmatch.translate"><code class="xref py py-func docutils literal notranslate"><span class="pre">fnmatch.translate()</span></code></a> no longer produces patterns which
contain set operations. Sets starting with [ or containing , &amp;&amp;,
~~ or || will be interpreted differently in regular expressions in
future versions. Currently they emit warnings. fnmatch.translate() now
avoids producing patterns containing such sets by accident.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32622">bpo-32622</a>: Implement native fast sendfile for Windows proactor event loop.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue32741">bpo-32741</a>: Implement <code class="docutils literal notranslate"><span class="pre">asyncio.TimerHandle.when()</span></code> method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32691">bpo-32691</a>: Use mod_spec.parent when running modules with pdb</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue31453">bpo-31453</a>: Add TLSVersion constants and SSLContext.maximum_version /
minimum_version attributes. The new API wraps OpenSSL 1.1
<a class="reference external" href="https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html">https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html</a>
feature.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24334">bpo-24334</a>: Internal implementation details of ssl module were cleaned up.
The SSLSocket has one less layer of indirection. Owner and session
information are now handled by the SSLSocket and SSLObject constructor.
Channel binding implementation has been simplified.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32585">bpo-32585</a>: Add Ttk spinbox widget 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">tkinter.ttk</span></code></a>. Patch by Alan D
Moore.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32221">bpo-32221</a>: Various functions returning tuple containing IPv6 addresses now
omit <code class="docutils literal notranslate"><span class="pre">%scope</span></code> part since the same information is already encoded in
<em>scopeid</em> tuple item. Especially this speeds up <code class="xref py py-func docutils literal notranslate"><span class="pre">socket.recvfrom()</span></code>
when it receives multicast packet since useless resolving of network
interface name is omitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30693">bpo-30693</a>: The TarFile class now recurses directories in a reproducible
way.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30693">bpo-30693</a>: The ZipFile class now recurses directories in a reproducible
way.</p></li>
</ul>
</div>
<div class="section" id="id95">
<h3>Documentation<a class="headerlink" href="#id95" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28124">bpo-28124</a>: The ssl module function ssl.wrap_socket() has been
de-emphasized and deprecated in favor of the more secure and efficient
SSLContext.wrap_socket() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17232">bpo-17232</a>: Clarify docs for -O and -OO. Patch by Terry Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32436">bpo-32436</a>: Add documentation for the contextvars module (PEP 567).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32800">bpo-32800</a>: Update link to w3c doc for xml default namespaces.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11015">bpo-11015</a>: Update <a class="reference internal" href="../library/test.html#module-test.support" title="test.support: Support for Python's regression test suite."><code class="xref py py-mod docutils literal notranslate"><span class="pre">test.support</span></code></a> documentation.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id96">
<h3>Tests<a class="headerlink" href="#id96" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31809">bpo-31809</a>: Add tests to verify connection with secp ECDH curves.</p></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><p><a class="reference external" href="https://bugs.python.org/issue32898">bpo-32898</a>: Fix the python debug build when using COUNT_ALLOCS.</p></li>
</ul>
</div>
<div class="section" id="id98">
<h3>Windows<a class="headerlink" href="#id98" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32901">bpo-32901</a>: Update Tcl and Tk versions to 8.6.8</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31966">bpo-31966</a>: Fixed WindowsConsoleIO.write() for writing empty data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32409">bpo-32409</a>: Ensures activate.bat can handle Unicode contents.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32457">bpo-32457</a>: Improves handling of denormalized executable path when
launching Python.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id99">
<h3>macOS<a class="headerlink" href="#id99" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32901">bpo-32901</a>: Update macOS 10.9+ installer to Tcl/Tk 8.6.8.</p></li>
</ul>
</div>
<div class="section" id="id100">
<h3>IDLE<a class="headerlink" href="#id100" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32905">bpo-32905</a>: Remove unused code in pyparse module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32874">bpo-32874</a>: Add tests for pyparse.</p></li>
<li><p><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 IDLEs system and location-independent files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32826">bpo-32826</a>: Add “encoding=utf-8” to open() in IDLEs 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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id101">
<h3>Tools/Demos<a class="headerlink" href="#id101" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-beta-1">
<h2>Python 3.7.0 beta 1<a class="headerlink" href="#python-3-7-0-beta-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-01-30</em></p>
<div class="section" id="id102">
<h3>Core and Builtins<a class="headerlink" href="#id102" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue32703">bpo-32703</a>: Fix coroutines ResourceWarning when theres an active error
set when its being finalized.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28685">bpo-28685</a>: Optimize list.sort() and sorted() by using type specialized
comparisons when possible.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32697">bpo-32697</a>: Python now explicitly preserves the definition order of
keyword-only parameters. Its always preserved their order, but this
behavior was never guaranteed before; this behavior is now guaranteed and
tested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32690">bpo-32690</a>: The locals() dictionary now displays in the lexical order that
variables were defined. Previously, the order was reversed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32677">bpo-32677</a>: Add <code class="docutils literal notranslate"><span class="pre">.isascii()</span></code> method to <code class="docutils literal notranslate"><span class="pre">str</span></code>, <code class="docutils literal notranslate"><span class="pre">bytes</span></code> and
<code class="docutils literal notranslate"><span class="pre">bytearray</span></code>. It can be used to test that string contains only ASCII
characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32670">bpo-32670</a>: Enforce <span class="target" id="index-7"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0479"><strong>PEP 479</strong></a> for all code.</p>
<p>This means that manually raising a StopIteration exception from a
generator is prohibited for all code, regardless of whether from
__future__ import generator_stop was used or not.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32591">bpo-32591</a>: Added built-in support for tracking the origin of coroutine
objects; see sys.set_coroutine_origin_tracking_depth and
CoroutineType.cr_origin. This replaces the asyncio debug modes use of
coroutine wrapping for native coroutine objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31368">bpo-31368</a>: Expose preadv and pwritev system calls in the os module. Patch
by Pablo Galindo</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32544">bpo-32544</a>: <code class="docutils literal notranslate"><span class="pre">hasattr(obj,</span> <span class="pre">name)</span></code> and <code class="docutils literal notranslate"><span class="pre">getattr(obj,</span> <span class="pre">name,</span> <span class="pre">default)</span></code> are
about 4 times faster than before when <code class="docutils literal notranslate"><span class="pre">name</span></code> is not found and <code class="docutils literal notranslate"><span class="pre">obj</span></code>
doesnt override <code class="docutils literal notranslate"><span class="pre">__getattr__</span></code> or <code class="docutils literal notranslate"><span class="pre">__getattribute__</span></code>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32550">bpo-32550</a>: Remove the STORE_ANNOTATION bytecode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20104">bpo-20104</a>: Expose posix_spawn as a low level API in the os module.
(removed before 3.7.0rc1)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24340">bpo-24340</a>: Fixed estimation of the code stack size.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32436">bpo-32436</a>: Implement <span class="target" id="index-8"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0567"><strong>PEP 567</strong></a> Context Variables.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20891">bpo-20891</a>: Py_Initialize() now creates the GIL. The GIL is no longer
created “on demand” to fix a race condition when PyGILState_Ensure() is
called in a non-Python thread.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31179">bpo-31179</a>: Make dict.copy() up to 5.5 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31113">bpo-31113</a>: Get rid of recursion in the compiler for normal control flow.</p></li>
</ul>
</div>
<div class="section" id="id103">
<h3>Library<a class="headerlink" href="#id103" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue25988">bpo-25988</a>: Deprecate exposing the contents of collections.abc in the
regular collections module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31429">bpo-31429</a>: The default cipher suite selection of the ssl module now uses a
blacklist approach rather than a hard-coded whitelist. Python no longer
re-enables ciphers that have been blocked by OpenSSL security update.
Default cipher suite selection can be configured on compile time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30306">bpo-30306</a>: contextlib.contextmanager now releases the arguments passed to
the underlying generator as soon as the context manager is entered.
Previously it would keep them alive for as long as the context manager was
alive, even when not being used as a function decorator. Patch by Martin
Teichmann.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21417">bpo-21417</a>: Added support for setting the compression level for
zipfile.ZipFile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32251">bpo-32251</a>: Implement asyncio.BufferedProtocol (provisional API).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32513">bpo-32513</a>: In dataclasses, allow easier overriding of dunder methods
without specifying decorator parameters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32660">bpo-32660</a>: <a class="reference internal" href="../library/termios.html#module-termios" title="termios: POSIX style tty control. (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">termios</span></code></a> makes available <code class="docutils literal notranslate"><span class="pre">FIONREAD</span></code>, <code class="docutils literal notranslate"><span class="pre">FIONCLEX</span></code>,
<code class="docutils literal notranslate"><span class="pre">FIOCLEX</span></code>, <code class="docutils literal notranslate"><span class="pre">FIOASYNC</span></code> and <code class="docutils literal notranslate"><span class="pre">FIONBIO</span></code> also under Solaris/derivatives.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32659">bpo-32659</a>: Under Solaris and derivatives, <a class="reference internal" href="../library/os.html#os.stat_result" title="os.stat_result"><code class="xref py py-class docutils literal notranslate"><span class="pre">os.stat_result</span></code></a> provides
a st_fstype attribute.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32662">bpo-32662</a>: Implement Server.start_serving(), Server.serve_forever(), and
Server.is_serving() methods. Add start_serving keyword parameter to
loop.create_server() and loop.create_unix_server().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32391">bpo-32391</a>: Implement <a class="reference internal" href="../library/asyncio-stream.html#asyncio.StreamWriter.wait_closed" title="asyncio.StreamWriter.wait_closed"><code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.StreamWriter.wait_closed()</span></code></a> and
<a class="reference internal" href="../library/asyncio-stream.html#asyncio.StreamWriter.is_closing" title="asyncio.StreamWriter.is_closing"><code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.StreamWriter.is_closing()</span></code></a> methods</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32643">bpo-32643</a>: Make Task._step, Task._wakeup and Future._schedule_callbacks
methods private.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32630">bpo-32630</a>: Refactor decimal module to use contextvars to store decimal
context.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32622">bpo-32622</a>: Add <code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.AbstractEventLoop.sendfile()</span></code> method.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue32596">bpo-32596</a>: <code class="docutils literal notranslate"><span class="pre">concurrent.futures</span></code> imports <code class="docutils literal notranslate"><span class="pre">ThreadPoolExecutor</span></code> and
<code class="docutils literal notranslate"><span class="pre">ProcessPoolExecutor</span></code> lazily (using <span class="target" id="index-9"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0562"><strong>PEP 562</strong></a>). It makes <code class="docutils literal notranslate"><span class="pre">import</span>
<span class="pre">asyncio</span></code> about 15% faster because asyncio uses only
<code class="docutils literal notranslate"><span class="pre">ThreadPoolExecutor</span></code> by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31801">bpo-31801</a>: Add <code class="docutils literal notranslate"><span class="pre">_ignore_</span></code> to <code class="docutils literal notranslate"><span class="pre">Enum</span></code> so temporary variables can be used
during class construction without being turned into members.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32576">bpo-32576</a>: Use queue.SimpleQueue() in places where it can be invoked from
a weakref callback.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32574">bpo-32574</a>: Fix memory leak in asyncio.Queue, when the queue has limited
size and it is full, the cancelation of queue.put() can cause a memory
leak. Patch by: José Melero.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32467">bpo-32467</a>: collections.abc.ValuesView now inherits from
collections.abc.Collection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32473">bpo-32473</a>: Improve ABCMeta._dump_registry() output readability</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32102">bpo-32102</a>: New argument <code class="docutils literal notranslate"><span class="pre">capture_output</span></code> for subprocess.run</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32493">bpo-32493</a>: UUID module fixes build for FreeBSD/OpenBSD</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32503">bpo-32503</a>: Pickling with protocol 4 no longer creates too small frames.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29237">bpo-29237</a>: Create enum for pstats sorting options</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32454">bpo-32454</a>: Add close(fd) function to the socket module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25942">bpo-25942</a>: The subprocess module is now more graceful when handling a
Ctrl-C KeyboardInterrupt during subprocess.call, subprocess.run, or a
Popen context manager. It now waits a short amount of time for the child
(presumed to have also gotten the SIGINT) to exit, before continuing the
KeyboardInterrupt exception handling. This still includes a SIGKILL in
the call() and run() APIs, but at least the child had a chance first.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32433">bpo-32433</a>: The hmac module now has hmac.digest(), which provides an
optimized HMAC digest.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28134">bpo-28134</a>: Sockets now auto-detect family, type and protocol from file
descriptor by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32404">bpo-32404</a>: Fix bug where <a class="reference internal" href="../library/datetime.html#datetime.datetime.fromtimestamp" title="datetime.datetime.fromtimestamp"><code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.datetime.fromtimestamp()</span></code></a> did not
call __new__ in <a class="reference internal" href="../library/datetime.html#datetime.datetime" title="datetime.datetime"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a> subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32403">bpo-32403</a>: Improved speed of <a class="reference internal" href="../library/datetime.html#datetime.date" title="datetime.date"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.date</span></code></a> and
<a class="reference internal" href="../library/datetime.html#datetime.datetime" title="datetime.datetime"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.datetime</span></code></a> alternate constructors.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32410">bpo-32410</a>: Implement <code class="docutils literal notranslate"><span class="pre">loop.sock_sendfile</span></code> for asyncio event loop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22908">bpo-22908</a>: Added seek and tell to the ZipExtFile class. This only works if
the file object used to open the zipfile is seekable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32373">bpo-32373</a>: Add socket.getblocking() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32248">bpo-32248</a>: Add <a class="reference internal" href="../library/importlib.html#module-importlib.resources" title="importlib.resources: Package resource reading, opening, and access"><code class="xref py py-mod docutils literal notranslate"><span class="pre">importlib.resources</span></code></a> and
<a class="reference internal" href="../library/importlib.html#importlib.abc.ResourceReader" title="importlib.abc.ResourceReader"><code class="xref py py-class docutils literal notranslate"><span class="pre">importlib.abc.ResourceReader</span></code></a> as the unified API for reading
resources contained within packages. Loaders wishing to support resource
reading must implement the <code class="xref py py-meth docutils literal notranslate"><span class="pre">get_resource_reader()</span></code> method.
File-based and zipimport-based loaders both implement these APIs.
<a class="reference internal" href="../library/importlib.html#importlib.abc.ResourceLoader" title="importlib.abc.ResourceLoader"><code class="xref py py-class docutils literal notranslate"><span class="pre">importlib.abc.ResourceLoader</span></code></a> is deprecated in favor of these new
APIs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32320">bpo-32320</a>: collections.namedtuple() now supports default values.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29302">bpo-29302</a>: Add contextlib.AsyncExitStack. Patch by Alexander Mohr and Ilya
Kulakov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31961">bpo-31961</a>: <em>Removed in Python 3.7.0b2.</em> The <em>args</em> argument of
subprocess.Popen can now be a <a class="reference internal" href="../glossary.html#term-path-like-object"><span class="xref std std-term">path-like object</span></a>. If <em>args</em> is given
as a sequence, its first element can now be a <a class="reference internal" href="../glossary.html#term-path-like-object"><span class="xref std std-term">path-like object</span></a> as
well.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31853">bpo-31853</a>: Use super().method instead of socket.method in SSLSocket. They
were there most likely for legacy reasons.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31399">bpo-31399</a>: The ssl module now uses OpenSSLs X509_VERIFY_PARAM_set1_host()
and X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses.
Subject common name fallback can be disabled with
SSLContext.hostname_checks_common_name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14976">bpo-14976</a>: Add a queue.SimpleQueue class, an unbounded FIFO queue with a
reentrant C implementation of put().</p></li>
</ul>
</div>
<div class="section" id="id104">
<h3>Documentation<a class="headerlink" href="#id104" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32724">bpo-32724</a>: Add references to some commands in the documentation of Pdb.
Patch by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32649">bpo-32649</a>: Complete the C API documentation, profiling and tracing part
with the newly added per-opcode events.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id105">
<h3>Tests<a class="headerlink" href="#id105" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28414">bpo-28414</a>: Add test cases for IDNA 2003 and 2008 host names. IDNA 2003
internationalized host names are working since <a class="reference external" href="https://bugs.python.org/issue31399">bpo-31399</a> has landed. IDNA
2008 are still broken.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32604">bpo-32604</a>: Add a new “_xxsubinterpreters” extension module that exposes
the existing subinterpreter C-API and a new cross-interpreter data sharing
mechanism. The module is primarily intended for more thorough testing of
the existing subinterpreter support.</p>
<p>Note that the _xxsubinterpreters module has been removed in 3.7.0rc1.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32602">bpo-32602</a>: Add test certs and test for ECDSA cert and EC/RSA dual mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32549">bpo-32549</a>: On Travis CI, Python now Compiles and uses a local copy of
OpenSSL 1.1.0g for testing.</p></li>
</ul>
</div>
<div class="section" id="id106">
<h3>Build<a class="headerlink" href="#id106" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32598">bpo-32598</a>: Use autoconf to detect OpenSSL libs, headers and supported
features. The ax_check_openssl M4 macro uses pkg-config to locate OpenSSL
and falls back to manual search.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32593">bpo-32593</a>: Drop support of FreeBSD 9 and older.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29708">bpo-29708</a>: If the <span class="target" id="index-10"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">SOURCE_DATE_EPOCH</span></code> environment variable is set,
<a class="reference internal" href="../library/py_compile.html#module-py_compile" title="py_compile: Generate byte-code files from Python source files."><code class="xref py py-mod docutils literal notranslate"><span class="pre">py_compile</span></code></a> will always create hash-based <code class="docutils literal notranslate"><span class="pre">.pyc</span></code> files.</p></li>
</ul>
</div>
<div class="section" id="id107">
<h3>Windows<a class="headerlink" href="#id107" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32588">bpo-32588</a>: Create standalone _distutils_findvs module and add missing
_queue module to installer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29911">bpo-29911</a>: Ensure separate Modify and Uninstall buttons are displayed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32507">bpo-32507</a>: Use app-local UCRT install rather than the proper update for
old versions of Windows.</p></li>
</ul>
</div>
<div class="section" id="id108">
<h3>macOS<a class="headerlink" href="#id108" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.1.0g and to SQLite 3.22.0. The 10.9+
installer now links with and supplies its own copy of Tcl/Tk 8.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28440">bpo-28440</a>: No longer add /Library/Python/3.x/site-packages to sys.path for
macOS framework builds to avoid future conflicts.</p></li>
</ul>
</div>
<div class="section" id="id109">
<h3>C API<a class="headerlink" href="#id109" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32681">bpo-32681</a>: Fix uninitialized variable res in the C implementation of
os.dup2. Patch by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10381">bpo-10381</a>: Add C API access to the <code class="docutils literal notranslate"><span class="pre">datetime.timezone</span></code> constructor and
<code class="docutils literal notranslate"><span class="pre">datetime.timzone.UTC</span></code> singleton.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-alpha-4">
<h2>Python 3.7.0 alpha 4<a class="headerlink" href="#python-3-7-0-alpha-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-01-08</em></p>
<div class="section" id="id110">
<h3>Core and Builtins<a class="headerlink" href="#id110" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31975">bpo-31975</a>: The default warning filter list now starts with a
“default::DeprecationWarning:__main__” entry, so deprecation warnings are
once again shown by default in single-file scripts and at the interactive
prompt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32226">bpo-32226</a>: <code class="docutils literal notranslate"><span class="pre">__class_getitem__</span></code> is now an automatic class method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32399">bpo-32399</a>: Add AIX uuid library support for RFC4122 using uuid_create() in
libc.a</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32390">bpo-32390</a>: Fix the compilation failure on AIX after the f_fsid field has
been added to the object returned by os.statvfs() (<a class="reference external" href="https://bugs.python.org/issue32143">bpo-32143</a>). Original
patch by Michael Felt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32379">bpo-32379</a>: Make MRO computation faster when a class inherits from a single
base.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32259">bpo-32259</a>: The error message of a TypeError raised when unpack
non-iterable is now more specific.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32329">bpo-32329</a>: The <a class="reference internal" href="../using/cmdline.html#cmdoption-r"><code class="xref std std-option docutils literal notranslate"><span class="pre">-R</span></code></a> option now turns on hash randomization when
the <span class="target" id="index-11"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONHASHSEED"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONHASHSEED</span></code></a> environment variable is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>.
Previously, the option was ignored. Moreover,
<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>.</p></li>
<li><p><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. Increased limits for constants that can be
produced in constant folding.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30579">bpo-30579</a>: Implement TracebackType.__new__ to allow Python-level creation
of traceback objects, and make TracebackType.tb_next mutable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32260">bpo-32260</a>: Dont byte swap the input keys to the SipHash algorithm on
big-endian platforms. This should ensure siphash gives consistent results
across platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31506">bpo-31506</a>: Improve the error message logic for object.__new__ and
object.__init__. Patch by Sanyam Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20361">bpo-20361</a>: <code class="docutils literal notranslate"><span class="pre">-b</span></code> and <code class="docutils literal notranslate"><span class="pre">-bb</span></code> now inject <code class="docutils literal notranslate"><span class="pre">'default::BytesWarning'</span></code> and
<code class="docutils literal notranslate"><span class="pre">error::BytesWarning</span></code> entries into <code class="docutils literal notranslate"><span class="pre">sys.warnoptions</span></code>, ensuring that
they take precedence over any other warning filters configured via the
<code class="docutils literal notranslate"><span class="pre">-W</span></code> option or the <code class="docutils literal notranslate"><span class="pre">PYTHONWARNINGS</span></code> environment variable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32230">bpo-32230</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">-X</span> <span class="pre">dev</span></code> now injects a <code class="docutils literal notranslate"><span class="pre">'default'</span></code> entry into
sys.warnoptions, ensuring that it behaves identically to actually passing
<code class="docutils literal notranslate"><span class="pre">-Wdefault</span></code> at the command line.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29240">bpo-29240</a>: Add a new UTF-8 mode: implementation of the <span class="target" id="index-12"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0540"><strong>PEP 540</strong></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32226">bpo-32226</a>: <span class="target" id="index-13"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0560"><strong>PEP 560</strong></a>: Add support for <code class="docutils literal notranslate"><span class="pre">__mro_entries__</span></code> and
<code class="docutils literal notranslate"><span class="pre">__class_getitem__</span></code>. Implemented by Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32225">bpo-32225</a>: <span class="target" id="index-14"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0562"><strong>PEP 562</strong></a>: Add support for module <code class="docutils literal notranslate"><span class="pre">__getattr__</span></code> and
<code class="docutils literal notranslate"><span class="pre">__dir__</span></code>. Implemented by Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31901">bpo-31901</a>: The <a class="reference internal" href="../library/atexit.html#module-atexit" title="atexit: Register and execute cleanup functions."><code class="xref py py-obj docutils literal notranslate"><span class="pre">atexit</span></code></a> module now has its callback stored per
interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31650">bpo-31650</a>: Implement <span class="target" id="index-15"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0552"><strong>PEP 552</strong></a> (Deterministic pycs). Python now supports
invalidating bytecode cache files bashed on a source content hash rather
than source last-modified time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29469">bpo-29469</a>: Move constant folding from bytecode layer to AST layer.
Original patch by Eugene Toder.</p></li>
</ul>
</div>
<div class="section" id="id111">
<h3>Library<a class="headerlink" href="#id111" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue32506">bpo-32506</a>: Now that dict is defined as keeping insertion order, drop
OrderedDict and just use plain dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32279">bpo-32279</a>: Add params to dataclasses.make_dataclasses(): init, repr, eq,
order, hash, and frozen. Pass them through to dataclass().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32278">bpo-32278</a>: Make type information optional on dataclasses.make_dataclass().
If omitted, the string typing.Any is used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32499">bpo-32499</a>: Add dataclasses.is_dataclass(obj), which returns True if obj is
a dataclass or an instance of one.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32468">bpo-32468</a>: Improve frame repr() to mention filename, code name and current
line number.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23749">bpo-23749</a>: asyncio: Implement loop.start_tls()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32441">bpo-32441</a>: Return the new file descriptor (i.e., the second argument) from
<code class="docutils literal notranslate"><span class="pre">os.dup2</span></code>. Previously, <code class="docutils literal notranslate"><span class="pre">None</span></code> was always returned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32422">bpo-32422</a>: <code class="docutils literal notranslate"><span class="pre">functools.lru_cache</span></code> uses less memory (3 words for each
cached key) and takes about 1/3 time for cyclic GC.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31721">bpo-31721</a>: Prevent Python crash from happening when Future._log_traceback
is set to True manually. Now it can only be set to False, or a ValueError
is raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32415">bpo-32415</a>: asyncio: Add Task.get_loop() and Future.get_loop()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26133">bpo-26133</a>: Dont unsubscribe signals in asyncio UNIX event loop on
interpreter shutdown.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32363">bpo-32363</a>: Make asyncio.Task.set_exception() and set_result() raise
NotImplementedError. Task._step() and Future.__await__() raise proper
exceptions when they are in an invalid state, instead of raising an
AssertionError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32357">bpo-32357</a>: Optimize asyncio.iscoroutine() and loop.create_task() for
non-native coroutines (e.g. async/await compiled with Cython).</p>
<p>loop.create_task(python_coroutine) used to be 20% faster than
loop.create_task(cython_coroutine). Now, the latter is as fast.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32356">bpo-32356</a>: asyncio.transport.resume_reading() and pause_reading() are now
idempotent. New transport.is_reading() method is added.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32355">bpo-32355</a>: Optimize asyncio.gather(); now up to 15% faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32351">bpo-32351</a>: Use fastpath in asyncio.sleep if delay&lt;0 (2x boost)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32348">bpo-32348</a>: Optimize asyncio.Future schedule/add/remove callback. The
optimization shows 3-6% performance improvements of async/await code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32331">bpo-32331</a>: Fix socket.settimeout() and socket.setblocking() to keep
socket.type as is. Fix socket.socket() constructor to reset any bit flags
applied to sockets type. This change only affects OSes that have
SOCK_NONBLOCK and/or SOCK_CLOEXEC.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32248">bpo-32248</a>: Add <a class="reference internal" href="../library/importlib.html#importlib.abc.ResourceReader" title="importlib.abc.ResourceReader"><code class="xref py py-class docutils literal notranslate"><span class="pre">importlib.abc.ResourceReader</span></code></a> as an ABC for loaders
to provide a unified API for reading resources contained within packages.
Also add <a class="reference internal" href="../library/importlib.html#module-importlib.resources" title="importlib.resources: Package resource reading, opening, and access"><code class="xref py py-mod docutils literal notranslate"><span class="pre">importlib.resources</span></code></a> as the port of
<code class="docutils literal notranslate"><span class="pre">importlib_resources</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32311">bpo-32311</a>: Implement asyncio.create_task(coro) shortcut</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32327">bpo-32327</a>: Convert asyncio functions that were documented as coroutines to
coroutines. Affected functions: loop.sock_sendall, loop.sock_recv,
loop.sock_accept, loop.getaddrinfo, loop.getnameinfo.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue29711">bpo-29711</a>: Fix <code class="docutils literal notranslate"><span class="pre">stop_serving</span></code> in asyncio proactor loop kill all
listening servers</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32308">bpo-32308</a>: <a class="reference internal" href="../library/re.html#re.sub" title="re.sub"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.sub()</span></code></a> now replaces empty matches adjacent to a
previous non-empty match.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29970">bpo-29970</a>: Abort asyncio SSLProtocol connection if handshake not complete
within 10s</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32314">bpo-32314</a>: Implement asyncio.run().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17852">bpo-17852</a>: Revert incorrect fix based on misunderstanding of
_Py_PyAtExit() semantics.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32296">bpo-32296</a>: Implement asyncio._get_running_loop() and get_event_loop() in
C. This makes them 4x faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32250">bpo-32250</a>: Implement <code class="docutils literal notranslate"><span class="pre">asyncio.current_task()</span></code> and
<code class="docutils literal notranslate"><span class="pre">asyncio.all_tasks()</span></code>. Add helpers intended to be used by alternative
task implementations: <code class="docutils literal notranslate"><span class="pre">asyncio._register_task</span></code>, <code class="docutils literal notranslate"><span class="pre">asyncio._enter_task</span></code>,
<code class="docutils literal notranslate"><span class="pre">asyncio._leave_task</span></code> and <code class="docutils literal notranslate"><span class="pre">asyncio._unregister_task</span></code>. Deprecate
<code class="docutils literal notranslate"><span class="pre">asyncio.Task.current_task()</span></code> and <code class="docutils literal notranslate"><span class="pre">asyncio.Task.all_tasks()</span></code>.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue30050">bpo-30050</a>: New argument warn_on_full_buffer to signal.set_wakeup_fd lets
you control whether Python prints a warning on stderr when the wakeup fd
buffer overflows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29137">bpo-29137</a>: The <code class="docutils literal notranslate"><span class="pre">fpectl</span></code> library has been removed. It was never enabled
by default, never worked correctly on x86-64, and it changed the Python
ABI in ways that caused unexpected breakage of C extensions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32273">bpo-32273</a>: Move asyncio.test_utils to test.test_asyncio.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32272">bpo-32272</a>: Remove asyncio.async() function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32269">bpo-32269</a>: Add asyncio.get_running_loop() function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32265">bpo-32265</a>: All class and static methods of builtin types now are correctly
classified by inspect.classify_class_attrs() and grouped in pydoc ouput.
Added types.ClassMethodDescriptorType for unbound class methods of builtin
types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32253">bpo-32253</a>: Deprecate <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span> <span class="pre">lock</span></code>, <code class="docutils literal notranslate"><span class="pre">await</span> <span class="pre">lock</span></code>, <code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">(yield</span>
<span class="pre">from</span> <span class="pre">lock)</span></code> and <code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">await</span> <span class="pre">lock</span></code> for asyncio synchronization
primitives.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22589">bpo-22589</a>: Changed MIME type of .bmp from image/x-ms-bmp to image/bmp</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32193">bpo-32193</a>: Convert asyncio to use <em>async/await</em> syntax. Old styled <code class="docutils literal notranslate"><span class="pre">yield</span>
<span class="pre">from</span></code> is still supported too.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32206">bpo-32206</a>: Add support to run modules with pdb</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32227">bpo-32227</a>: <code class="docutils literal notranslate"><span class="pre">functools.singledispatch</span></code> now supports registering
implementations using type annotations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15873">bpo-15873</a>: Added new alternate constructors
<a class="reference internal" href="../library/datetime.html#datetime.datetime.fromisoformat" title="datetime.datetime.fromisoformat"><code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.datetime.fromisoformat()</span></code></a>,
<a class="reference internal" href="../library/datetime.html#datetime.time.fromisoformat" title="datetime.time.fromisoformat"><code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.time.fromisoformat()</span></code></a> and
<a class="reference internal" href="../library/datetime.html#datetime.date.fromisoformat" title="datetime.date.fromisoformat"><code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.date.fromisoformat()</span></code></a> as the inverse operation of each
classess respective <code class="docutils literal notranslate"><span class="pre">isoformat</span></code> methods.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32143">bpo-32143</a>: os.statvfs() includes the f_fsid field from statvfs(2)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26439">bpo-26439</a>: Fix ctypes.util.find_library() for AIX by implementing
ctypes._aix.find_library() Patch by: Michael Felt</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31993">bpo-31993</a>: The pickler now uses less memory when serializing large bytes
and str objects into a file. Pickles created with protocol 4 will require
less memory for unpickling large bytes and str objects.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31778">bpo-31778</a>: ast.literal_eval() is now more strict. Addition and subtraction
of arbitrary numbers no longer allowed.</p></li>
<li><p><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>
<li><p><a class="reference external" href="https://bugs.python.org/issue30241">bpo-30241</a>: Add contextlib.AbstractAsyncContextManager. Patch by Jelle
Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31699">bpo-31699</a>: Fix deadlocks in
<a class="reference internal" href="../library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor" title="concurrent.futures.ProcessPoolExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">concurrent.futures.ProcessPoolExecutor</span></code></a> when task arguments or
results cause pickling or unpickling errors. This should make sure that
calls to the <code class="xref py py-class docutils literal notranslate"><span class="pre">ProcessPoolExecutor</span></code> API always eventually return.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15216">bpo-15216</a>: <code class="docutils literal notranslate"><span class="pre">TextIOWrapper.reconfigure()</span></code> supports changing <em>encoding</em>,
<em>errors</em>, and <em>newline</em>.</p></li>
</ul>
</div>
<div class="section" id="id112">
<h3>Documentation<a class="headerlink" href="#id112" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32418">bpo-32418</a>: Add get_loop() method to Server and AbstractServer classes.</p></li>
</ul>
</div>
<div class="section" id="id113">
<h3>Tests<a class="headerlink" href="#id113" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32002">bpo-32002</a>: Adjust C locale coercion testing for the empty locale and POSIX
locale cases to more readily adjust to platform dependent behaviour.</p></li>
</ul>
</div>
<div class="section" id="id114">
<h3>Windows<a class="headerlink" href="#id114" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue19764">bpo-19764</a>: Implement support for <code class="xref py py-obj docutils literal notranslate"><span class="pre">subprocess.Popen(close_fds=True)</span></code> on
Windows. Patch by Segev Finer.</p></li>
</ul>
</div>
<div class="section" id="id115">
<h3>Tools/Demos<a class="headerlink" href="#id115" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id116">
<h3>C API<a class="headerlink" href="#id116" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32030">bpo-32030</a>: Py_Initialize() doesnt reset the memory allocators to default
if the <code class="docutils literal notranslate"><span class="pre">PYTHONMALLOC</span></code> environment variable is not set.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32264">bpo-32264</a>: Moved the pygetopt.h header into internal/, since it has no
public APIs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32241">bpo-32241</a>: <a class="reference internal" href="../c-api/init.html#c.Py_SetProgramName" title="Py_SetProgramName"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_SetProgramName()</span></code></a> and <a class="reference internal" href="../c-api/init.html#c.Py_SetPythonHome" title="Py_SetPythonHome"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_SetPythonHome()</span></code></a> now
take the <code class="docutils literal notranslate"><span class="pre">const</span> <span class="pre">wchar</span> <span class="pre">*</span></code> arguments instead of <code class="docutils literal notranslate"><span class="pre">wchar</span> <span class="pre">*</span></code>.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-alpha-3">
<h2>Python 3.7.0 alpha 3<a class="headerlink" href="#python-3-7-0-alpha-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-12-05</em></p>
<div class="section" id="id117">
<h3>Core and Builtins<a class="headerlink" href="#id117" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10544">bpo-10544</a>: Yield expressions are now deprecated in comprehensions and
generator expressions. They are still permitted in the definition of the
outermost iterable, as that is evaluated directly in the enclosing scope.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32096">bpo-32096</a>: Revert memory allocator changes in the C API: move structures
back from _PyRuntime to Objects/obmalloc.c. The memory allocators are once
again initialized statically, and so PyMem_RawMalloc() and
Py_DecodeLocale() can be called before _PyRuntime_Initialize().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32043">bpo-32043</a>: Add a new “developer mode”: new “-X dev” command line option to
enable debug checks at runtime.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32023">bpo-32023</a>: SyntaxError is now correctly raised when a generator expression
without parenthesis is used instead of an inheritance list in a class
definition. The duplication of the parentheses can be omitted only on
calls.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32012">bpo-32012</a>: SyntaxError is now correctly raised when a generator expression
without parenthesis is passed as an argument, but followed by a trailing
comma. A generator expression always needs to be directly inside a set of
parentheses and cannot have a comma on either side.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28180">bpo-28180</a>: A new internal <code class="docutils literal notranslate"><span class="pre">_Py_SetLocaleFromEnv(category)</span></code> helper
function has been added in order to improve the consistency of behaviour
across different <code class="docutils literal notranslate"><span class="pre">libc</span></code> implementations (e.g. Android doesnt support
setting the locale from the environment by default).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31949">bpo-31949</a>: Fixed several issues in printing tracebacks
(PyTraceBack_Print()).</p>
<ul>
<li><p>Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.</p></li>
<li><p>Setting sys.tracebacklimit to None now causes using the default limit.</p></li>
<li><p>Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.</p></li>
<li><p>Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.</p></li>
<li><p>Fixed output errors handling.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30696">bpo-30696</a>: Fix the interactive interpreter looping endlessly when no
memory.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31845">bpo-31845</a>: Environment variables are once more read correctly at
interpreter startup.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28936">bpo-28936</a>: Ensure that lexically first syntax error involving a parameter
and <code class="docutils literal notranslate"><span class="pre">global</span></code> or <code class="docutils literal notranslate"><span class="pre">nonlocal</span></code> is detected first at a given scope. Patch
by Ivan Levkivskyi.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31618">bpo-31618</a>: The per-frame tracing logic added in 3.7a1 has been altered so
that <code class="docutils literal notranslate"><span class="pre">frame-&gt;f_lineno</span></code> is updated before either <code class="docutils literal notranslate"><span class="pre">&quot;line&quot;</span></code> or
<code class="docutils literal notranslate"><span class="pre">&quot;opcode&quot;</span></code> events are emitted. Previously, opcode events were emitted
first, and therefore would occasionally see stale line numbers on the
frame. The behavior of this feature has changed slightly as a result: when
both <code class="docutils literal notranslate"><span class="pre">f_trace_lines</span></code> and <code class="docutils literal notranslate"><span class="pre">f_trace_opcodes</span></code> are enabled, line events
now occur first.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31781">bpo-31781</a>: Prevent crashes when calling methods of an uninitialized
<code class="docutils literal notranslate"><span class="pre">zipimport.zipimporter</span></code> object. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30399">bpo-30399</a>: Standard repr() of BaseException with a single argument no
longer contains redundant trailing comma.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id118">
<h3>Library<a class="headerlink" href="#id118" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32214">bpo-32214</a>: PEP 557, Data Classes. Provides a decorator which adds
boilerplate methods to classes which use type annotations so specify
fields.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue321010">bpo-321010</a>: Add <code class="xref py py-attr docutils literal notranslate"><span class="pre">sys.flags.dev_mode</span></code> flag</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32154">bpo-32154</a>: The <code class="docutils literal notranslate"><span class="pre">asyncio.windows_utils.socketpair()</span></code> function has been
removed: use directly <a class="reference internal" href="../library/socket.html#socket.socketpair" title="socket.socketpair"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.socketpair()</span></code></a> which is available on all
platforms since Python 3.5 (before, it wasnt available on Windows).
<code class="docutils literal notranslate"><span class="pre">asyncio.windows_utils.socketpair()</span></code> was just an alias to
<code class="docutils literal notranslate"><span class="pre">socket.socketpair</span></code> on Python 3.5 and newer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32089">bpo-32089</a>: warnings: In development (-X dev) and debug mode (pydebug
build), use the “default” action for ResourceWarning, rather than the
“always” action, in the default warnings filters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32107">bpo-32107</a>: <code class="docutils literal notranslate"><span class="pre">uuid.getnode()</span></code> now preferentially returns universally
administered MAC addresses if available, over locally administered MAC
addresses. This makes a better guarantee for global uniqueness of UUIDs
returned from <code class="docutils literal notranslate"><span class="pre">uuid.uuid1()</span></code>. If only locally administered MAC
addresses are available, the first such one found is returned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23033">bpo-23033</a>: Wildcard is now supported in hostname when it is one and only
character in the left most segment of hostname in second argument of
<a class="reference internal" href="../library/ssl.html#ssl.match_hostname" title="ssl.match_hostname"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ssl.match_hostname()</span></code></a>. Patch by Mandeep Singh.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28334">bpo-28334</a>: Use <a class="reference internal" href="../library/os.path.html#os.path.expanduser" title="os.path.expanduser"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.path.expanduser()</span></code></a> to find the <code class="docutils literal notranslate"><span class="pre">~/.netrc</span></code> file in
<a class="reference internal" href="../library/netrc.html#netrc.netrc" title="netrc.netrc"><code class="xref py py-class docutils literal notranslate"><span class="pre">netrc.netrc</span></code></a>. If it does not exist, <a class="reference internal" href="../library/exceptions.html#FileNotFoundError" title="FileNotFoundError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">FileNotFoundError</span></code></a> is
raised. Patch by Dimitri Merejkowsky.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32121">bpo-32121</a>: Made <code class="docutils literal notranslate"><span class="pre">tracemalloc.Traceback</span></code> behave more like the traceback
module, sorting the frames from oldest to most recent.
<code class="docutils literal notranslate"><span class="pre">Traceback.format()</span></code> now accepts negative <em>limit</em>, truncating the result
to the <code class="docutils literal notranslate"><span class="pre">abs(limit)</span></code> oldest frames. To get the old behaviour, one can use
the new <em>most_recent_first</em> argument to <code class="docutils literal notranslate"><span class="pre">Traceback.format()</span></code>. (Patch by
Jesse Bakker.)</p></li>
<li><p><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><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 couldnt open or create an MSI file. Initial patch by
William Tisäter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19610">bpo-19610</a>: <code class="docutils literal notranslate"><span class="pre">setup()</span></code> now warns about invalid types for some fields.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">distutils.dist.Distribution</span></code> class now warns when <code class="docutils literal notranslate"><span class="pre">classifiers</span></code>,
<code class="docutils literal notranslate"><span class="pre">keywords</span></code> and <code class="docutils literal notranslate"><span class="pre">platforms</span></code> fields are not specified as a list or a
string.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32071">bpo-32071</a>: Added the <code class="docutils literal notranslate"><span class="pre">-k</span></code> command-line option to <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">unittest</span></code>
to run only tests that match the given pattern(s).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10049">bpo-10049</a>: Added <em>nullcontext</em> no-op context manager to contextlib. This
provides a simpler and faster alternative to ExitStack() when handling
optional context managers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28684">bpo-28684</a>: The new test.support.skip_unless_bind_unix_socket() decorator
is used here to skip asyncio tests that fail because the platform lacks a
functional bind() function for unix domain sockets (as it is the case for
non root users on the recent Android versions that run now SELinux in
enforcing mode).</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue27535">bpo-27535</a>: The warnings module doesnt leak memory anymore in the hidden
warnings registry for the “ignore” action of warnings filters.
warn_explicit() function doesnt add the warning key to the registry
anymore for the “ignore” action.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32088">bpo-32088</a>: warnings: When Python is build is debug mode (<code class="docutils literal notranslate"><span class="pre">Py_DEBUG</span></code>),
<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>, <a class="reference internal" href="../library/exceptions.html#PendingDeprecationWarning" title="PendingDeprecationWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">PendingDeprecationWarning</span></code></a> and
<a class="reference internal" href="../library/exceptions.html#ImportWarning" title="ImportWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ImportWarning</span></code></a> warnings are now displayed by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1647489">bpo-1647489</a>: Fixed searching regular expression patterns that could match
an empty string. Non-empty string can now be correctly found after
matching an empty string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25054">bpo-25054</a>: Added support of splitting on a pattern that could match an
empty string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32072">bpo-32072</a>: Fixed issues with binary plists:</p>
<ul class="simple">
<li><p>Fixed saving bytearrays.</p></li>
<li><p>Identical objects will be saved only once.</p></li>
<li><p>Equal references will be load as identical objects.</p></li>
<li><p>Added support for saving and loading recursive data structures.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32069">bpo-32069</a>: Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always
used anyway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32066">bpo-32066</a>: asyncio: Support pathlib.Path in create_unix_connection; sock
arg should be optional</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32046">bpo-32046</a>: Updates 2to3 to convert from operator.isCallable(obj) to
callable(obj). Patch by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32018">bpo-32018</a>: inspect.signature should follow PEP 8, if the parameter has an
annotation and a default value. Patch by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32025">bpo-32025</a>: Add time.thread_time() and time.thread_time_ns()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32037">bpo-32037</a>: Integers that fit in a signed 32-bit integer will be now
pickled with protocol 0 using the INT opcode. This will decrease the size
of a pickle, speed up pickling and unpickling, and make these integers be
unpickled as int instances in Python 2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32034">bpo-32034</a>: Make asyncio.IncompleteReadError and LimitOverrunError
pickleable.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Enhance add_reader/writer check that socket is not used by some
transport. Before, only cases when add_reader/writer were called with an
int FD were supported. Now the check is implemented correctly for all
file-like objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31976">bpo-31976</a>: Fix race condition when flushing a file is slow, which can
cause a segfault if closing the file from another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31985">bpo-31985</a>: Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp.
Since change 7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in
each of the three modules had been pointing to that modules open function
as a matter of backwards compatibility, though it had been both untested
and undocumented.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21862">bpo-21862</a>: cProfile command line now accepts <code class="xref py py-obj docutils literal notranslate"><span class="pre">-m</span> <span class="pre">module_name</span></code> as an
alternative to script path. Patch by Sanyam Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31970">bpo-31970</a>: Reduce performance overhead of asyncio debug mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31843">bpo-31843</a>: <em>database</em> argument of sqlite3.connect() now accepts a
<a class="reference internal" href="../glossary.html#term-path-like-object"><span class="xref std std-term">path-like object</span></a>, instead of just a string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31945">bpo-31945</a>: Add Configurable <em>blocksize</em> to <code class="docutils literal notranslate"><span class="pre">HTTPConnection</span></code> and
<code class="docutils literal notranslate"><span class="pre">HTTPSConnection</span></code> for improved upload throughput. Patch by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31943">bpo-31943</a>: Add a <code class="docutils literal notranslate"><span class="pre">cancelled()</span></code> method to <a class="reference internal" href="../library/asyncio-eventloop.html#asyncio.Handle" title="asyncio.Handle"><code class="xref py py-class docutils literal notranslate"><span class="pre">asyncio.Handle</span></code></a>. Patch
by Marat Sharafutdinov.</p></li>
<li><p><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><p>Using ifconfig on NetBSD and OpenBSD.</p></li>
<li><p>Using arp on Linux, FreeBSD, NetBSD and OpenBSD.</p></li>
</ul>
<p>Based on patch by Takayuki Shimizukawa.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30057">bpo-30057</a>: Fix potential missed signal in signal.signal().</p></li>
<li><p><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 OConnor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21423">bpo-21423</a>: Add an initializer argument to {Process,Thread}PoolExecutor</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue31917">bpo-31917</a>: Add 3 new clock identifiers: <a class="reference internal" href="../library/time.html#time.CLOCK_BOOTTIME" title="time.CLOCK_BOOTTIME"><code class="xref py py-data docutils literal notranslate"><span class="pre">time.CLOCK_BOOTTIME</span></code></a>,
<a class="reference internal" href="../library/time.html#time.CLOCK_PROF" title="time.CLOCK_PROF"><code class="xref py py-data docutils literal notranslate"><span class="pre">time.CLOCK_PROF</span></code></a> and <a class="reference internal" href="../library/time.html#time.CLOCK_UPTIME" title="time.CLOCK_UPTIME"><code class="xref py py-data docutils literal notranslate"><span class="pre">time.CLOCK_UPTIME</span></code></a>.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue31891">bpo-31891</a>: Fixed building the curses module on NetBSD.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31884">bpo-31884</a>: added required constants to subprocess module for setting
priority on windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28281">bpo-28281</a>: Remove year (1-9999) limits on the Calendar.weekday() function.</p>
<p>Patch by Mark Gollahon.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31702">bpo-31702</a>: crypt.mksalt() now allows to specify the number of rounds for
SHA-256 and SHA-512 hashing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30639">bpo-30639</a>: <a class="reference internal" href="../library/inspect.html#inspect.getfile" title="inspect.getfile"><code class="xref py py-func docutils literal notranslate"><span class="pre">inspect.getfile()</span></code></a> no longer computes the repr of unknown
objects to display in an error message, to protect against badly behaved
custom reprs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30768">bpo-30768</a>: Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout &gt; 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted by a
signal (EINTR). See also the <span class="target" id="index-16"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0475"><strong>PEP 475</strong></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31854">bpo-31854</a>: Add <code class="docutils literal notranslate"><span class="pre">mmap.ACCESS_DEFAULT</span></code> constant.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31834">bpo-31834</a>: Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2
implementation is slower than the pure C reference implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28292">bpo-28292</a>: Calendar.itermonthdates() will now consistently raise an
exception when a date falls outside of the 0001-01-01 through 9999-12-31
range. To support applications that cannot tolerate such exceptions, the
new methods itermonthdays3() and itermonthdays4() are added. The new
methods return tuples and are not restricted by the range supported by
datetime.date.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28564">bpo-28564</a>: The shutil.rmtree() function has been sped up to 2040%. This
was done using the os.scandir() function.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31653">bpo-31653</a>: Dont release the GIL if we can acquire a multiprocessing
semaphore immediately.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue20825">bpo-20825</a>: Add <code class="xref py py-obj docutils literal notranslate"><span class="pre">subnet_of</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">superset_of</span></code> containment tests to
<a class="reference internal" href="../library/ipaddress.html#ipaddress.IPv6Network" title="ipaddress.IPv6Network"><code class="xref py py-class docutils literal notranslate"><span class="pre">ipaddress.IPv6Network</span></code></a> and <a class="reference internal" href="../library/ipaddress.html#ipaddress.IPv4Network" title="ipaddress.IPv4Network"><code class="xref py py-class docutils literal notranslate"><span class="pre">ipaddress.IPv4Network</span></code></a>. Patch
by Michel Albert and Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31827">bpo-31827</a>: Remove the os.stat_float_times() function. It was introduced in
Python 2.3 for backward compatibility with Python 2.2, and was deprecated
since Python 3.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31756">bpo-31756</a>: Add a <code class="docutils literal notranslate"><span class="pre">subprocess.Popen(text=False)</span></code> keyword argument to
<a class="reference internal" href="../library/subprocess.html#module-subprocess" title="subprocess: Subprocess management."><code class="xref py py-obj docutils literal notranslate"><span class="pre">subprocess</span></code></a> functions to be more explicit about when the library should
attempt to decode outputs into text. Patch by Andrew Clegg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31819">bpo-31819</a>: Add AbstractEventLoop.sock_recv_into().</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue31803">bpo-31803</a>: time.clock() and time.get_clock_info(clock) now emit a
DeprecationWarning warning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31800">bpo-31800</a>: Extended support for parsing UTC offsets. strptime %z can now
parse the output generated by datetime.isoformat, including seconds and
microseconds.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30541">bpo-30541</a>: Add new function to seal a mock and prevent the automatically
creation of child mocks. Patch by Mario Corchero.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31784">bpo-31784</a>: Implement the <span class="target" id="index-17"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0564"><strong>PEP 564</strong></a>, add new 6 new functions with
nanosecond resolution to the <a class="reference internal" href="../library/time.html#module-time" title="time: Time access and conversions."><code class="xref py py-mod docutils literal notranslate"><span class="pre">time</span></code></a> module:
<a class="reference internal" href="../library/time.html#time.clock_gettime_ns" title="time.clock_gettime_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">clock_gettime_ns()</span></code></a>, <a class="reference internal" href="../library/time.html#time.clock_settime_ns" title="time.clock_settime_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">clock_settime_ns()</span></code></a>,
<a class="reference internal" href="../library/time.html#time.monotonic_ns" title="time.monotonic_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">monotonic_ns()</span></code></a>, <a class="reference internal" href="../library/time.html#time.perf_counter_ns" title="time.perf_counter_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">perf_counter_ns()</span></code></a>,
<a class="reference internal" href="../library/time.html#time.process_time_ns" title="time.process_time_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">process_time_ns()</span></code></a>, <a class="reference internal" href="../library/time.html#time.time_ns" title="time.time_ns"><code class="xref py py-func docutils literal notranslate"><span class="pre">time_ns()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30143">bpo-30143</a>: 2to3 now generates a code that uses abstract collection classes
from collections.abc rather than collections.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue31620">bpo-31620</a>: an empty asyncio.Queue now doesnt leak memory when queue.get
pollers timeout</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31690">bpo-31690</a>: Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used
as group flags for regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30349">bpo-30349</a>: FutureWarning is now emitted if a regular expression contains
character set constructs that will change semantically in the future
(nested sets and set operations).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31664">bpo-31664</a>: Added support for the Blowfish hashing in the crypt module.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue31307">bpo-31307</a>: Allow use of bytes objects for arguments to
<a class="reference internal" href="../library/configparser.html#configparser.ConfigParser.read" title="configparser.ConfigParser.read"><code class="xref py py-meth docutils literal notranslate"><span class="pre">configparser.ConfigParser.read()</span></code></a>. Patch by Vincent Michel.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31310">bpo-31310</a>: multiprocessings semaphore tracker should be launched again if
crashed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31308">bpo-31308</a>: Make multiprocessings forkserver process immune to Ctrl-C and
other user interruptions. If it crashes, restart it when necessary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31245">bpo-31245</a>: Added support for AF_UNIX socket in asyncio
<code class="xref py py-obj docutils literal notranslate"><span class="pre">create_datagram_endpoint</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30553">bpo-30553</a>: Add HTTP/2 status code 421 (Misdirected Request) to
<a class="reference internal" href="../library/http.html#http.HTTPStatus" title="http.HTTPStatus"><code class="xref py py-class docutils literal notranslate"><span class="pre">http.HTTPStatus</span></code></a>. Patch by Vitor Pereira.</p></li>
</ul>
</div>
<div class="section" id="id119">
<h3>Documentation<a class="headerlink" href="#id119" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32105">bpo-32105</a>: Added asyncio.BaseEventLoop.connect_accepted_socket
versionadded marker.</p></li>
</ul>
</div>
<div class="section" id="id120">
<h3>Tests<a class="headerlink" href="#id120" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31380">bpo-31380</a>: Skip test_httpservers test_undecodable_file on macOS: fails on
APFS.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32138">bpo-32138</a>: Skip on Android test_faulthandler tests that raise SIGSEGV and
remove the test.support.requires_android_level decorator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32136">bpo-32136</a>: The runtime embedding tests have been split out from
<code class="docutils literal notranslate"><span class="pre">Lib/test/test_capi.py</span></code> into a new <code class="docutils literal notranslate"><span class="pre">Lib/test/test_embed.py</span></code> file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28668">bpo-28668</a>: test.support.requires_multiprocessing_queue is removed. Skip
tests with test.support.import_module(multiprocessing.synchronize)
instead when the semaphore implementation is broken or missing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32126">bpo-32126</a>: Skip test_get_event_loop_new_process in
test.test_asyncio.test_events when sem_open() is not functional.</p></li>
<li><p><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.</p></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><p><a class="reference external" href="https://bugs.python.org/issue28538">bpo-28538</a>: Revert the previous changes, the if_nameindex structure is
defined by Unified Headers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28762">bpo-28762</a>: Revert the last commit, the F_LOCK macro is defined by Android
Unified Headers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29040">bpo-29040</a>: Support building Android with Unified Headers. The first NDK
release to support Unified Headers is android-ndk-r14.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31957">bpo-31957</a>: Fixes Windows SDK version detection when building for Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31609">bpo-31609</a>: Fixes quotes in PCbuild/clean.bat</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update Windows builds to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update OS X installer to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28643">bpo-28643</a>: Record profile-opt build progress with stamp files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31866">bpo-31866</a>: Finish removing support for AtheOS.</p></li>
</ul>
</div>
<div class="section" id="id122">
<h3>Windows<a class="headerlink" href="#id122" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31944">bpo-31944</a>: Fixes Modify button in Apps and Features dialog.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20486">bpo-20486</a>: Implement the <code class="docutils literal notranslate"><span class="pre">Database.Close()</span></code> method to help closing MSI
database objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31857">bpo-31857</a>: Make the behavior of USE_STACKCHECK deterministic in a
multi-threaded environment.</p></li>
</ul>
</div>
<div class="section" id="id123">
<h3>macOS<a class="headerlink" href="#id123" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31392">bpo-31392</a>: Update macOS installer to use OpenSSL 1.0.2m</p></li>
</ul>
</div>
<div class="section" id="id124">
<h3>IDLE<a class="headerlink" href="#id124" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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 IDLEs 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><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><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><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><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><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 &gt;&gt;&gt; if not.
Test_code_module now properly tests both behaviors. Ditto for ps2.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue13802">bpo-13802</a>: Use non-Latin characters in the IDLEs 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 IDLEs shell and editors.</p>
<p>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>
</ul>
</div>
<div class="section" id="id125">
<h3>Tools/Demos<a class="headerlink" href="#id125" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue32159">bpo-32159</a>: Remove CVS and Subversion tools: remove svneol.py and
treesync.py scripts. CPython migrated from CVS to Subversion, to
Mercurial, and then to Git. CVS and Subversion are no longer used to
develop CPython.</p></li>
<li><p><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 doesnt work with string
patterns in Python 3.</p>
<p>Patch by Christoph Sarnowski.</p>
</li>
</ul>
</div>
<div class="section" id="id126">
<h3>C API<a class="headerlink" href="#id126" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32125">bpo-32125</a>: The <code class="docutils literal notranslate"><span class="pre">Py_UseClassExceptionsFlag</span></code> flag has been removed. It was
deprecated and wasnt used anymore since Python 2.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25612">bpo-25612</a>: Move the current exception state from the frame object to the
co-routine. This simplifies the interpreter and fixes a couple of obscure
bugs caused by having swap exception state when entering or exiting a
generator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23699">bpo-23699</a>: Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in
rich comparison functions.</p></li>
<li><p><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>.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-alpha-2">
<h2>Python 3.7.0 alpha 2<a class="headerlink" href="#python-3-7-0-alpha-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-10-16</em></p>
<div class="section" id="id127">
<h3>Core and Builtins<a class="headerlink" href="#id127" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31558">bpo-31558</a>: <code class="docutils literal notranslate"><span class="pre">gc.freeze()</span></code> is a new API that allows for moving all objects
currently tracked by the garbage collector to a permanent generation,
effectively removing them from future collection events. This can be used
to protect those objects from having their PyGC_Head mutated. In effect,
this enables great copy-on-write stability at fork().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31708">bpo-31708</a>: Allow use of asynchronous generator expressions in synchronous
functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31709">bpo-31709</a>: Drop support of asynchronous __aiter__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30404">bpo-30404</a>: The -u option now makes the stdout and stderr streams
unbuffered rather than line-buffered.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31602">bpo-31602</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">zipimporter.get_source()</span></code> in case
of a bad <a class="reference internal" href="../library/zlib.html#zlib.decompress" title="zlib.decompress"><code class="xref py py-obj docutils literal notranslate"><span class="pre">zlib.decompress()</span></code></a>. Patch by Oren Milman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31574">bpo-31574</a>: Importlib was instrumented with two dtrace probes to profile
import timing.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31506">bpo-31506</a>: Improved the error message logic for object.__new__ and
object.__init__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31336">bpo-31336</a>: Speed up class creation by 10-20% by reducing the overhead in
the necessary special method lookups. Patch by Stefan Behnel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31415">bpo-31415</a>: Add <code class="docutils literal notranslate"><span class="pre">-X</span> <span class="pre">importtime</span></code> option to show how long each import
takes. It can be used to optimize applications startup time. Support the
<span class="target" id="index-18"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONPROFILEIMPORTTIME"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPROFILEIMPORTTIME</span></code></a> as an equivalent way to enable this.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31410">bpo-31410</a>: Optimized calling wrapper and classmethod descriptors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31353">bpo-31353</a>: <span class="target" id="index-19"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0553"><strong>PEP 553</strong></a> - Add a new built-in called <code class="docutils literal notranslate"><span class="pre">breakpoint()</span></code> which
calls <code class="docutils literal notranslate"><span class="pre">sys.breakpointhook()</span></code>. By default this imports <code class="docutils literal notranslate"><span class="pre">pdb</span></code> and calls
<code class="docutils literal notranslate"><span class="pre">pdb.set_trace()</span></code>, but users may override <code class="docutils literal notranslate"><span class="pre">sys.breakpointhook()</span></code> to
call whatever debugger they want. The original value of the hook is saved
in <code class="docutils literal notranslate"><span class="pre">sys.__breakpointhook__</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17852">bpo-17852</a>: Maintain a list of open buffered files, flush them before
exiting the interpreter. Based on a patch from Armin Rigo.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 loaders get_source() has a bad splitlines()
method. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30406">bpo-30406</a>: Make <code class="docutils literal notranslate"><span class="pre">async</span></code> and <code class="docutils literal notranslate"><span class="pre">await</span></code> proper keywords, as specified in
PEP 492.</p></li>
</ul>
</div>
<div class="section" id="id128">
<h3>Library<a class="headerlink" href="#id128" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue30058">bpo-30058</a>: Fixed buffer overflow in select.kqueue.control().</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue31671">bpo-31671</a>: Now <code class="docutils literal notranslate"><span class="pre">re.compile()</span></code> converts passed RegexFlag to normal int
object before compiling. bm_regex_compile benchmark shows 14% performance
improvements.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30397">bpo-30397</a>: The types of compiled regular objects and match objects are now
exposed as <code class="xref py py-obj docutils literal notranslate"><span class="pre">re.Pattern</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">re.Match</span></code>. This adds information in pydoc
output for the re module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31675">bpo-31675</a>: Fixed memory leaks in Tkinters methods splitlist() and split()
when pass a string larger than 2 GiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31673">bpo-31673</a>: Fixed typo in the name of Tkinters method adderrorinfo().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31648">bpo-31648</a>: Improvements to path predicates in ElementTree:</p>
<ul class="simple">
<li><p>Allow whitespace around predicate parts, i.e. “[a = text]” instead of requiring the less readable “[a=text]”.</p></li>
<li><p>Add support for text comparison of the current node, like “[.=text]”.</p></li>
</ul>
<p>Patch by Stefan Behnel.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31638">bpo-31638</a>: Add optional argument <code class="docutils literal notranslate"><span class="pre">compressed</span></code> to
<code class="docutils literal notranslate"><span class="pre">zipapp.create_archive</span></code>, and add option <code class="docutils literal notranslate"><span class="pre">--compress</span></code> to the command
line interface of <code class="docutils literal notranslate"><span class="pre">zipapp</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25351">bpo-25351</a>: Avoid venv activate failures with undefined variables</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20519">bpo-20519</a>: Avoid ctypes use (if possible) and improve import time for
uuid.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28293">bpo-28293</a>: The regular expression cache is no longer completely dumped
when it is full.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31596">bpo-31596</a>: Added pthread_getcpuclockid() to the time module</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27494">bpo-27494</a>: Make 2to3 accept a trailing comma in generator expressions. For
example, <code class="docutils literal notranslate"><span class="pre">set(x</span> <span class="pre">for</span> <span class="pre">x</span> <span class="pre">in</span> <span class="pre">[],)</span></code> is now allowed.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30346">bpo-30346</a>: An iterator produced by itertools.groupby() iterator now
becomes exhausted after advancing the groupby iterator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31556">bpo-31556</a>: Cancel asyncio.wait_for future faster if timeout &lt;= 0</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31540">bpo-31540</a>: Allow passing a context object in
<a class="reference internal" href="../library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor" title="concurrent.futures.ProcessPoolExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">concurrent.futures.ProcessPoolExecutor</span></code></a> constructor. Also, free
job resources in <a class="reference internal" href="../library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor" title="concurrent.futures.ProcessPoolExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">concurrent.futures.ProcessPoolExecutor</span></code></a> earlier
to improve memory usage when a worker waits for new jobs.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31525">bpo-31525</a>: In the sqlite module, require the sqlite3_prepare_v2 API. Thus,
the sqlite module now requires sqlite version at least 3.3.9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26510">bpo-26510</a>: argparse subparsers are now required by default. This matches
behaviour in Python 2. For optional subparsers, use the new parameter
<code class="docutils literal notranslate"><span class="pre">add_subparsers(required=False)</span></code>. Patch by Anthony Sottile. (As of
3.7.0rc1, the default was changed to not required as had been the case
since Python 3.3.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27541">bpo-27541</a>: Reprs of subclasses of some collection and iterator classes
(<a class="reference internal" href="../library/stdtypes.html#bytearray" title="bytearray"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bytearray</span></code></a>, <a class="reference internal" href="../library/array.html#array.array" title="array.array"><code class="xref py py-obj docutils literal notranslate"><span class="pre">array.array</span></code></a>, <a class="reference internal" href="../library/collections.html#collections.deque" title="collections.deque"><code class="xref py py-obj docutils literal notranslate"><span class="pre">collections.deque</span></code></a>,
<a class="reference internal" href="../library/collections.html#collections.defaultdict" title="collections.defaultdict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">collections.defaultdict</span></code></a>, <a class="reference internal" href="../library/itertools.html#itertools.count" title="itertools.count"><code class="xref py py-obj docutils literal notranslate"><span class="pre">itertools.count</span></code></a>, <a class="reference internal" href="../library/itertools.html#itertools.repeat" title="itertools.repeat"><code class="xref py py-obj docutils literal notranslate"><span class="pre">itertools.repeat</span></code></a>) now
contain actual type name insteads of hardcoded name of the base class.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31389">bpo-31389</a>: <code class="docutils literal notranslate"><span class="pre">pdb.set_trace()</span></code> now takes an optional keyword-only argument
<code class="docutils literal notranslate"><span class="pre">header</span></code>. If given, this is printed to the console just before debugging
begins.</p></li>
</ul>
</div>
<div class="section" id="id129">
<h3>Documentation<a class="headerlink" href="#id129" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id130">
<h3>Build<a class="headerlink" href="#id130" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31696">bpo-31696</a>: Improve compiler version information in <a class="reference internal" href="../library/sys.html#sys.version" title="sys.version"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.version</span></code></a>
when Python is built with Clang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31625">bpo-31625</a>: Stop using ranlib on static libraries. Instead, we assume ar
supports the s flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31624">bpo-31624</a>: Remove support for BSD/OS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22140">bpo-22140</a>: Prevent double substitution of prefix in python-config.sh.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31569">bpo-31569</a>: Correct PCBuild/ case to PCbuild/ in build scripts and
documentation.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id131">
<h3>IDLE<a class="headerlink" href="#id131" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31460">bpo-31460</a>: Simplify the API of IDLEs 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><a class="reference external" href="https://bugs.python.org/issue31649">bpo-31649</a>: IDLE - Make _htest, _utest parameters keyword only.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31459">bpo-31459</a>: Rename IDLEs 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 &lt;&lt;open-class-browser&gt;&gt;, which
appears on the Keys tab of the Settings dialog, is not changed. Patch by
Cheryl Sabella.</p></li>
<li><p><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><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="id132">
<h3>C API<a class="headerlink" href="#id132" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28280">bpo-28280</a>: Make <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyMapping_Keys()</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyMapping_Values()</span></code> and
<code class="xref py py-obj docutils literal notranslate"><span class="pre">PyMapping_Items()</span></code> always return a <a class="reference internal" href="../library/stdtypes.html#list" title="list"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code></a> (rather than a <a class="reference internal" href="../library/stdtypes.html#list" title="list"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code></a> or a
<a class="reference internal" href="../library/stdtypes.html#tuple" title="tuple"><code class="xref py py-obj docutils literal notranslate"><span class="pre">tuple</span></code></a>). Patch by Oren Milman.</p></li>
<li><p><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()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25658">bpo-25658</a>: Implement PEP 539 for Thread Specific Storage (TSS) API: it is
a new Thread Local Storage (TLS) API to CPython which would supersede use
of the existing TLS API within the CPython interpreter, while deprecating
the existing API. PEP written by Erik M. Bray, patch by Masayuki Yamamoto.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-7-0-alpha-1">
<h2>Python 3.7.0 alpha 1<a class="headerlink" href="#python-3-7-0-alpha-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-09-19</em></p>
<div class="section" id="id133">
<h3>Security<a class="headerlink" href="#id133" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29505">bpo-29505</a>: Add fuzz tests for float(str), int(str), unicode(str); for
oss-fuzz.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.0s 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) doesnt
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>.</p></li>
<li><p><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#&#64;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">&#64;evil.com</span></code> as the host in an
authentication (<code class="docutils literal notranslate"><span class="pre">login&#64;host</span></code>).</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id134">
<h3>Core and Builtins<a class="headerlink" href="#id134" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue28411">bpo-28411</a>: Change direct usage of PyInterpreterState.modules to
PyImport_GetModuleDict(). Also introduce more uniformity in other code
that deals with sys.modules. This helps reduce complications when working
on sys.modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28411">bpo-28411</a>: Switch to the abstract API when dealing with
<code class="docutils literal notranslate"><span class="pre">PyInterpreterState.modules</span></code>. This allows later support for all dict
subclasses and other Mapping implementations. Also add a
<code class="docutils literal notranslate"><span class="pre">PyImport_GetModule()</span></code> function to reduce a bunch of duplicated code.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31344">bpo-31344</a>: For finer control of tracing behaviour when testing the
interpreter, two new frame attributes have been added to control the
emission of particular trace events: <code class="docutils literal notranslate"><span class="pre">f_trace_lines</span></code> (<code class="docutils literal notranslate"><span class="pre">True</span></code> by
default) to turn off per-line trace events; and <code class="docutils literal notranslate"><span class="pre">f_trace_opcodes</span></code>
(<code class="docutils literal notranslate"><span class="pre">False</span></code> by default) to turn on per-opcode trace events.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue30860">bpo-30860</a>: Consolidate CPythons global runtime state under a single
struct. This improves discoverability of the runtime state.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31347">bpo-31347</a>: Fix possible undefined behavior in _PyObject_FastCall_Prepend.</p></li>
<li><p><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><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> isnt a
string. Patch by Oren Milman.</p></li>
<li><p><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 doesnt return a bytes object. Patch
by Oren Milman.</p></li>
<li><p><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
decoders state is invalid. Patch by Oren Milman.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue30747">bpo-30747</a>: Add a non-dummy implementation of _Py_atomic_store and
_Py_atomic_load on MSVC.</p></li>
<li><p><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
doesnt call <code class="docutils literal notranslate"><span class="pre">PyObject_GC_UnTrack()</span></code>.</p></li>
<li><p><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><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><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><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><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 Im 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><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><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><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><a class="reference external" href="https://bugs.python.org/issue30736">bpo-30736</a>: The internal unicodedata database has been upgraded to Unicode
10.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30604">bpo-30604</a>: Move co_extra_freefuncs from per-thread to per-interpreter to
avoid crashes.</p></li>
<li><p><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>
<li><p><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”).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30501">bpo-30501</a>: The compiler now produces more optimal code for complex
condition expressions in the “if”, “while” and “assert” statement, the
“if” expression, and generator expressions and comprehensions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28180">bpo-28180</a>: Implement PEP 538 (legacy C locale coercion). This means that
when a suitable coercion target locale is available, both the core
interpreter and locale-aware C extensions will assume the use of UTF-8 as
the default text encoding, rather than ASCII.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30486">bpo-30486</a>: Allows setting cell values for __closure__. Patch by Lisa
Roach.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30537">bpo-30537</a>: itertools.islice now accepts integer-like objects (having an
__index__ method) as start, stop, and slice arguments</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25324">bpo-25324</a>: Tokens needed for parsing in Python moved to C. <code class="docutils literal notranslate"><span class="pre">COMMENT</span></code>,
<code class="docutils literal notranslate"><span class="pre">NL</span></code> and <code class="docutils literal notranslate"><span class="pre">ENCODING</span></code>. This way the tokens and tok_names in the token
module dont get changed when you import the tokenize module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29104">bpo-29104</a>: Fixed parsing backslashes in f-strings.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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, its
now correctly delivered to the innermost frame.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28974">bpo-28974</a>: <code class="docutils literal notranslate"><span class="pre">object.__format__(x,</span> <span class="pre">'')</span></code> is now equivalent to <code class="docutils literal notranslate"><span class="pre">str(x)</span></code>
rather than <code class="docutils literal notranslate"><span class="pre">format(str(self),</span> <span class="pre">'')</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30024">bpo-30024</a>: Circular imports involving absolute imports with binding a
submodule to a name are now supported.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29839">bpo-29839</a>: len() now raises ValueError rather than OverflowError if
__len__() returned a large negative integer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11913">bpo-11913</a>: README.rst is now included in the list of distutils standard
READMEs and therefore included in source distributions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29914">bpo-29914</a>: Fixed default implementations of __reduce__ and
__reduce_ex__(). object.__reduce__() no longer takes arguments,
object.__reduce_ex__() now requires one argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29949">bpo-29949</a>: Fix memory usage regression of set and frozenset object.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29816">bpo-29816</a>: Shift operation now has less opportunity to raise
OverflowError. ValueError always is raised rather than OverflowError for
negative counts. Shifting zero with non-negative count always returns
zero.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24821">bpo-24821</a>: Fixed the slowing down to 25 times in the searching of some
unlucky Unicode characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29102">bpo-29102</a>: Add a unique ID to PyInterpreterState. This makes it easier to
identify each subinterpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29894">bpo-29894</a>: The deprecation warning is emitted if __complex__ returns an
instance of a strict subclass of complex. In a future versions of Python
this can be an error.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29849">bpo-29849</a>: Fix a memory leak when an ImportError is raised during from
import.</p></li>
<li><p><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.</p></li>
<li><p><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
locations 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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29568">bpo-29568</a>: Escaped percent “%%” in the format string for classic string
formatting no longer allows any characters between two percents.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29695">bpo-29695</a>: bool(), float(), list() and tuple() no longer take keyword
arguments. The first argument of int() can now be passes only as
positional argument.</p></li>
<li><p><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__.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29683">bpo-29683</a>: Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian
Coleman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29347">bpo-29347</a>: Fixed possibly dereferencing undefined pointers when creating
weakref objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29463">bpo-29463</a>: Add <code class="docutils literal notranslate"><span class="pre">docstring</span></code> field to Module, ClassDef, FunctionDef, and
AsyncFunctionDef ast nodes. docstring is not first stmt in their body
anymore. It affects <code class="docutils literal notranslate"><span class="pre">co_firstlineno</span></code> and <code class="docutils literal notranslate"><span class="pre">co_lnotab</span></code> of code object
for module and class. (Reverted in <a class="reference external" href="https://bugs.python.org/issue32911">bpo-32911</a>.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29438">bpo-29438</a>: Fixed use-after-free problem in key sharing dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29546">bpo-29546</a>: Set the path and name attribute on ImportError for <code class="docutils literal notranslate"><span class="pre">from</span>
<span class="pre">...</span> <span class="pre">import</span> <span class="pre">...</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29546">bpo-29546</a>: Improve from-import error message with location</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29319">bpo-29319</a>: Prevent RunMainFromImporter overwriting sys.path[0].</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29327">bpo-29327</a>: Fixed a crash when pass the iterable keyword argument to
sorted().</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29159">bpo-29159</a>: Fix regression in bytes(x) when x.__index__() raises Exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29049">bpo-29049</a>: Call _PyObject_GC_TRACK() lazily when calling Python function.
Calling function is up to 5% faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28927">bpo-28927</a>: bytes.fromhex() and bytearray.fromhex() now ignore all ASCII
whitespace, not only spaces. Patch by Robert Xiao.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include &lt;sys/random.h&gt; if it does not exist.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate
form.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18896">bpo-18896</a>: Python function can now have more than 255 parameters.
collections.namedtuple() now supports tuples with more than 255 elements.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28596">bpo-28596</a>: The preferred encoding is UTF-8 on Android. Patch written by
Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22257">bpo-22257</a>: Clean up interpreter startup (see PEP 432).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: Rather than silently producing a class that doesnt 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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28799">bpo-28799</a>: Remove the <code class="docutils literal notranslate"><span class="pre">PyEval_GetCallStats()</span></code> function and deprecate the
untested and undocumented <code class="docutils literal notranslate"><span class="pre">sys.callstats()</span></code> function. Remove the
<code class="docutils literal notranslate"><span class="pre">CALL_PROFILE</span></code> special build: use the <a class="reference internal" href="../library/sys.html#sys.setprofile" title="sys.setprofile"><code class="xref py py-func docutils literal notranslate"><span class="pre">sys.setprofile()</span></code></a> function,
<a class="reference internal" href="../library/profile.html#module-cProfile" title="cProfile"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cProfile</span></code></a> or <a class="reference internal" href="../library/profile.html#module-profile" title="profile: Python source profiler."><code class="xref py py-mod docutils literal notranslate"><span class="pre">profile</span></code></a> to profile function calls.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12844">bpo-12844</a>: More than 255 arguments can now be passed to a function.</p></li>
<li><p><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>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28774">bpo-28774</a>: Fix error position of the unicode error in ASCII and Latin1
encoders when a string returned by the error handler contains multiple
non-encodable characters (non-ASCII for the ASCII codec, characters out of
the U+0000-U+00FF range for Latin1).</p></li>
<li><p><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%.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28532">bpo-28532</a>: Show sys.version when -V option is supplied twice.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26920">bpo-26920</a>: Fix not getting the locales charset upon initializing the
interpreter, on platforms that do not have langinfo.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28665">bpo-28665</a>: Improve speed of the STORE_DEREF opcode by 40%.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28621">bpo-28621</a>: Sped up converting int to float by reusing faster bits counting
implementation. Patch by Adrian Wielgosik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28580">bpo-28580</a>: Optimize iterating split table values. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28583">bpo-28583</a>: PyDict_SetDefault didnt combine split table when needed. Patch
by Xiang Zhang.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28509">bpo-28509</a>: dict.update() no longer allocate unnecessary large memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
build.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Improved exception reporting for problematic __set_name__
attributes.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28183">bpo-28183</a>: Optimize and cleanup dict iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Added C implementation of asyncio.Future. Original patch by
Yury Selivanov.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 disallowed. Calling iter() on range instance is the only way.
Patch by Oren Milman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and
frozensets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28289">bpo-28289</a>: ImportError.__init__ now resets not specified attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with
invalid keyword args.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28192">bpo-28192</a>: Dont import readline in isolated mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27441">bpo-27441</a>: Remove some redundant assignments to ob_size in longobject.c.
Thanks Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27222">bpo-27222</a>: Clean up redundant code in long_rshift function. Thanks Oren
Milman.</p></li>
<li><p>Upgrade internal unicode databases to Unicode version 9.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimports compile_source(). zipimport
should use the same optimization level as the interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28126">bpo-28126</a>: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
optimize memcpy().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Fix a refleak in code that raises DeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28721">bpo-28721</a>: Fix asynchronous generators aclose() and athrow() to handle
StopAsyncIteration propagation properly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26110">bpo-26110</a>: Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.</p></li>
</ul>
</div>
<div class="section" id="id135">
<h3>Library<a class="headerlink" href="#id135" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: LoggerAdapter objects can now be nested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31431">bpo-31431</a>: SSLContext.check_hostname now automatically sets
SSLContext.verify_mode to ssl.CERT_REQUIRED instead of failing with a
ValueError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31233">bpo-31233</a>: socketserver.ThreadingMixIn now keeps a list of non-daemonic
threads to wait until all these threads complete in server_close().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28638">bpo-28638</a>: Changed the implementation strategy for
collections.namedtuple() to substantially reduce the use of exec() in
favor of precomputed methods. As a result, the <em>verbose</em> parameter and
<em>_source</em> attribute are no longer supported. The benefits include 1)
having a smaller memory footprint for applications using multiple named
tuples, 2) faster creation of the named tuple class (approx 4x to 6x
depending on how it is measured), and 3) minor speed-ups for instance
creation using __new__, _make, and _replace. (The primary patch
contributor is Jelle Zijlstra with further improvements by INADA Naoki,
Serhiy Storchaka, and Raymond Hettinger.)</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue27629">bpo-27629</a>: Make return types of SSLContext.wrap_bio() and
SSLContext.wrap_socket() customizable.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28182">bpo-28182</a>: The SSL module now raises SSLCertVerificationError when OpenSSL
fails to verify the peers certificate. The exception contains more
information about the error.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue14191">bpo-14191</a>: A new function
<code class="docutils literal notranslate"><span class="pre">argparse.ArgumentParser.parse_intermixed_args</span></code> provides the ability to
parse command lines where there user intermixes options and positional
arguments.</p></li>
<li><p><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue1198569">bpo-1198569</a>: <code class="docutils literal notranslate"><span class="pre">string.Template</span></code> subclasses can optionally define
<code class="docutils literal notranslate"><span class="pre">braceidpattern</span></code> if they want to specify different placeholder patterns
inside and outside the braces. If None (the default) it falls back to
<code class="docutils literal notranslate"><span class="pre">idpattern</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31326">bpo-31326</a>: concurrent.futures.ProcessPoolExecutor.shutdown() now
explicitly closes the call queue. Moreover, shutdown(wait=True) now also
join the call queue thread, to prevent leaking a dangling thread.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31281">bpo-31281</a>: Fix <code class="docutils literal notranslate"><span class="pre">fileinput.FileInput(files,</span> <span class="pre">inplace=True)</span></code> when <code class="docutils literal notranslate"><span class="pre">files</span></code>
contain <code class="docutils literal notranslate"><span class="pre">pathlib.Path</span></code> objects.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue27584">bpo-27584</a>: <code class="docutils literal notranslate"><span class="pre">AF_VSOCK</span></code> has been added to the socket interface which
allows communication between virtual machines and their host.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue29741">bpo-29741</a>: Update some methods in the _pyio module to also accept integer
types. Patch by Oren Milman.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue23835">bpo-23835</a>: configparser: reading defaults in the <code class="docutils literal notranslate"><span class="pre">ConfigParser()</span></code>
constructor is now using <code class="docutils literal notranslate"><span class="pre">read_dict()</span></code>, making its behavior consistent
with the rest of the parser. Non-string keys and values in the defaults
dictionary are now being implicitly converted to strings. Patch by James
Tocknell.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5001">bpo-5001</a>: Many asserts in <a class="reference internal" href="../library/multiprocessing.html#module-multiprocessing" title="multiprocessing: Process-based parallelism."><code class="xref py py-obj docutils literal notranslate"><span class="pre">multiprocessing</span></code></a> are now more informative, and
some error types have been changed to more specific ones.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31109">bpo-31109</a>: Convert zipimport to use Argument Clinic.</p></li>
<li><p><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 &lt; 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><a class="reference external" href="https://bugs.python.org/issue18966">bpo-18966</a>: Non-daemonic threads created by a multiprocessing.Process are
now joined on child exit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31183">bpo-31183</a>: <a class="reference internal" href="../library/dis.html#module-dis" title="dis: Disassembler for Python bytecode."><code class="xref py py-obj docutils literal notranslate"><span class="pre">dis</span></code></a> now works with asynchronous generator and coroutine
objects. Patch by George Collins based on diagnosis by Luciano Ramalho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5001">bpo-5001</a>: There are a number of uninformative asserts in the
<a class="reference internal" href="../library/multiprocessing.html#module-multiprocessing" title="multiprocessing: Process-based parallelism."><code class="xref py py-obj docutils literal notranslate"><span class="pre">multiprocessing</span></code></a> module, as noted in issue 5001. This change fixes two of
the most potentially problematic ones, since they are in error-reporting
code, in the <code class="xref py py-obj docutils literal notranslate"><span class="pre">multiprocessing.managers.convert_to_error</span></code> function. (It
also makes more informative a ValueError message.) The only potentially
problematic change is that the AssertionError is now a TypeError; however,
this should also help distinguish it from an AssertionError being
<em>reported</em> by the function/its caller (such as in issue 31169). - Patch by
Allen W. Smith (drallensmith on github).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31185">bpo-31185</a>: Fixed miscellaneous errors in asyncio speedup module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31151">bpo-31151</a>: socketserver.ForkingMixIn.server_close() now waits until all
child processes completed to prevent leaking zombie processes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31072">bpo-31072</a>: Add an <code class="docutils literal notranslate"><span class="pre">include_file</span></code> parameter to
<code class="docutils literal notranslate"><span class="pre">zipapp.create_archive()</span></code></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24700">bpo-24700</a>: Optimize array.array comparison. It is now from 10x up to 70x
faster when comparing arrays holding values of the same integer type.</p></li>
<li><p><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
doesnt 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><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><a class="reference external" href="https://bugs.python.org/issue31080">bpo-31080</a>: Allow <a class="reference internal" href="../library/logging.config.html#logging.config.fileConfig" title="logging.config.fileConfig"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.config.fileConfig</span></code></a> to accept kwargs and/or args.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30897">bpo-30897</a>: <code class="docutils literal notranslate"><span class="pre">pathlib.Path</span></code> objects now include an <code class="docutils literal notranslate"><span class="pre">is_mount()</span></code> method
(only implemented on POSIX). This is similar to <code class="docutils literal notranslate"><span class="pre">os.path.ismount(p)</span></code>.
Patch by Cooper Ry Lees.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30987">bpo-30987</a>: Added support for CAN ISO-TP protocol in the socket module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30522">bpo-30522</a>: Added a <code class="docutils literal notranslate"><span class="pre">setStream</span></code> method to <code class="docutils literal notranslate"><span class="pre">logging.StreamHandler</span></code> to
allow the stream to be set after creation.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue5288">bpo-5288</a>: Support tzinfo objects with sub-minute offsets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30919">bpo-30919</a>: Fix shared memory performance regression in multiprocessing in
3.x.</p>
<p>Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps
actual files. Try to be careful to do as little disk I/O as possible.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26732">bpo-26732</a>: Fix too many fds in processes started with the “forkserver”
method.</p>
<p>A child process would inherit as many fds as the number of still-running
children.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30961">bpo-30961</a>: Fix decrementing a borrowed reference in tracemalloc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19896">bpo-19896</a>: Fix multiprocessing.sharedctypes to recognize typecodes <code class="docutils literal notranslate"><span class="pre">'q'</span></code>
and <code class="docutils literal notranslate"><span class="pre">'Q'</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30946">bpo-30946</a>: Remove obsolete code in readline module for platforms where GNU
readline is older than 2.1 or where select() is not available.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue29854">bpo-29854</a>: Fix segfault in readline when using readlines history-size
option. Patch by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30794">bpo-30794</a>: Added multiprocessing.Process.kill method to terminate using
the SIGKILL signal on Unix.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30319">bpo-30319</a>: socket.close() now ignores ECONNRESET error.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30302">bpo-30302</a>: Use keywords in the <code class="docutils literal notranslate"><span class="pre">repr</span></code> of <code class="docutils literal notranslate"><span class="pre">datetime.timedelta</span></code>.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue29585">bpo-29585</a>: Avoid importing <code class="docutils literal notranslate"><span class="pre">sysconfig</span></code> from <code class="docutils literal notranslate"><span class="pre">site</span></code> to improve startup
speed. Python startup is about 5% faster on Linux and 30% faster on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29293">bpo-29293</a>: Add missing parameter “n” on
multiprocessing.Condition.notify().</p>
<p>The doc claims multiprocessing.Condition behaves like threading.Condition,
but its notify() method lacked the optional “n” argument (to specify the
number of sleepers to wake up) that threading.Condition.notify() accepts.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30596">bpo-30596</a>: Add a <code class="docutils literal notranslate"><span class="pre">close()</span></code> method to <code class="docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code>.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue29169">bpo-29169</a>: Update zlib to 1.2.11.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue30664">bpo-30664</a>: The description of a unittest subtest now preserves the order
of keyword arguments of TestCase.subTest().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21071">bpo-21071</a>: struct.Struct.format type is now <a class="reference internal" href="../library/stdtypes.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> instead of
<a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a>.</p></li>
<li><p><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><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>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24744">bpo-24744</a>: pkgutil.walk_packages function now raises ValueError if <em>path</em>
is a string. Patch by Sanyam Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24484">bpo-24484</a>: Avoid race condition in multiprocessing cleanup.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30589">bpo-30589</a>: Fix multiprocessing.Process.exitcode to return the opposite of
the signal number when the process is killed by a signal (instead of 255)
when using the “forkserver” method.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30508">bpo-30508</a>: Dont log exceptions if Task/Future “cancel()” method was
called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30645">bpo-30645</a>: Fix path calculation in <code class="xref py py-obj docutils literal notranslate"><span class="pre">imp.load_package()</span></code>, fixing it for
cases when a package is only shipped with bytecodes. Patch by Alexandru
Ardelean.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11822">bpo-11822</a>: The dis.dis() function now is able to disassemble nested code
objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30624">bpo-30624</a>: selectors does not take KeyboardInterrupt and SystemExit into
account, leaving a fd in a bad state in case of error. Patch by Giampaolo
Rodola.</p></li>
<li><p><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><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</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27585">bpo-27585</a>: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
Sornay.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30014">bpo-30014</a>: modify() method of poll(), epoll() and devpoll() based classes
of selectors module is around 10% faster. Patch by Giampaolo Rodola.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30463">bpo-30463</a>: Addded empty __slots__ to abc.ABC. This allows subclassers to
deny __dict__ and __weakref__ creation. Patch by Aaron Hall.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30520">bpo-30520</a>: Loggers are now pickleable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30557">bpo-30557</a>: faulthandler now correctly filters and displays exception codes
on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30526">bpo-30526</a>: Add TextIOWrapper.reconfigure() and a
TextIOWrapper.write_through attribute.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30245">bpo-30245</a>: Fix possible overflow when organize struct.pack_into error
message. Patch by Yuan Liu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30378">bpo-30378</a>: Fix the problem that logging.handlers.SysLogHandler cannot
handle IPv6 addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16500">bpo-16500</a>: Allow registering at-fork handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30470">bpo-30470</a>: Deprecate invalid ctypes call protection on Windows. Patch by
Mariatta Wijaya.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30436">bpo-30436</a>: importlib.find_spec() raises ModuleNotFoundError instead of
AttributeError if the specified parent module is not a package (i.e. lacks
a __path__ attribute).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29196">bpo-29196</a>: Removed previously deprecated in Python 2.4 classes Plist, Dict
and _InternalDict in the plistlib module. Dict values in the result of
functions readPlist() and readPlistFromBytes() are now normal dicts. You
no longer can use attribute access to access items of these dictionaries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9850">bpo-9850</a>: The <a class="reference internal" href="../library/macpath.html#module-macpath" title="macpath: Mac OS 9 path manipulation functions."><code class="xref py py-mod docutils literal notranslate"><span class="pre">macpath</span></code></a> is now deprecated and will be removed in
Python 3.8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30299">bpo-30299</a>: Compiling regular expression in debug mode on CPython now
displays the compiled bytecode in human readable form.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30340">bpo-30340</a>: Enhanced regular expressions optimization. This increased the
performance of matching some patterns up to 25 times.</p></li>
<li><p><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>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30285">bpo-30285</a>: Optimized case-insensitive matching and searching of regular
expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29990">bpo-29990</a>: Fix range checking in GB18030 decoder. Original patch by Ma
Lin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29979">bpo-29979</a>: rewrite cgi.parse_multipart, reusing the FieldStorage class and
making its results consistent with those of FieldStorage for
multipart/form-data requests. Patch by Pierre Quentel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30243">bpo-30243</a>: Removed the __init__ methods of _jsons scanner and encoder.
Misusing them could cause memory leaks or crashes. Now scanner and
encoder objects are completely initialized in the __new__ methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30215">bpo-30215</a>: Compiled regular expression objects with the re.LOCALE flag no
longer depend on the locale at compile time. Only the locale at matching
time affects the result of matching.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30103">bpo-30103</a>: binascii.b2a_uu() and uu.encode() now support using <code class="docutils literal notranslate"><span class="pre">'`'</span></code> as
zero instead of space.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30205">bpo-30205</a>: Fix getsockname() for unbound AF_UNIX sockets on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30228">bpo-30228</a>: The seek() and tell() methods of io.FileIO now set the internal
seekable attribute to avoid one syscall on open() (in buffered or text
mode).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30190">bpo-30190</a>: unittests assertAlmostEqual and assertNotAlmostEqual provide a
better message in case of failure which includes the difference between
left and right arguments. (patch by Giampaolo Rodola)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30101">bpo-30101</a>: Add support for curses.A_ITALIC.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29822">bpo-29822</a>: inspect.isabstract() now works during __init_subclass__. Patch
by Nate Soares.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30070">bpo-30070</a>: Fixed leaks and crashes in errors handling in the parser
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22352">bpo-22352</a>: Column widths in the output of dis.dis() are now adjusted for
large line numbers and instruction offsets.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30218">bpo-30218</a>: Fix PathLike support for shutil.unpack_archive. Patch by Jelle
Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10076">bpo-10076</a>: Compiled regular expression and match objects in the re module
now support copy.copy() and copy.deepcopy() (they are considered atomic).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30068">bpo-30068</a>: _io._IOBase.readlines will check if its closed first when hint
is present.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26187">bpo-26187</a>: Test that sqlite3 trace callback is not called multiple times
when schema is changing. Indirectly fixed by switching to use
sqlite3_prepare_v2() in <a class="reference external" href="https://bugs.python.org/issue9303">bpo-9303</a>. Patch by Aviv Palivoda.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29998">bpo-29998</a>: Pickling and copying ImportError now preserves name and path
attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29995">bpo-29995</a>: re.escape() now escapes only regex special characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29962">bpo-29962</a>: Add math.remainder operation, implementing remainder as
specified in IEEE 754.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29649">bpo-29649</a>: Improve struct.pack_into() exception messages for problems with
the buffer size and offset. Patch by Andrew Nester.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29654">bpo-29654</a>: Support If-Modified-Since HTTP header (browser cache). Patch
by Pierre Quentel.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10030">bpo-10030</a>: Sped up reading encrypted ZIP files by 2 times.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29204">bpo-29204</a>: Element.getiterator() and the html parameter of XMLParser()
were deprecated only in the documentation (since Python 3.2 and 3.4
correspondintly). Now using them emits a deprecation warning.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25996">bpo-25996</a>: Added support of file descriptors in os.scandir() on Unix.
os.fwalk() is sped up by 2 times by using os.scandir().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29901">bpo-29901</a>: The zipapp module now supports general path-like objects, not
just pathlib.Path.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19930">bpo-19930</a>: The mode argument of os.makedirs() no longer affects the file
permission bits of newly-created intermediate-level directories.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29884">bpo-29884</a>: faulthandler: Restore the old sigaltstack during teardown.
Patch by Christophe Zeitouny.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive buffered file-like objects.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28692">bpo-28692</a>: Using non-integer value for selecting a plural form in gettext
is now deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26121">bpo-26121</a>: Use C library implementation for math functions erf() and
erfc().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29619">bpo-29619</a>: os.stat() and os.DirEntry.inode() now convert inode (st_ino)
using unsigned integers.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29645">bpo-29645</a>: Speed up importing the webbrowser module.
webbrowser.register() is now thread-safe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28231">bpo-28231</a>: The zipfile module now accepts path-like objects for external
paths.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28682">bpo-28682</a>: Added support for bytes paths in os.fwalk().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29728">bpo-29728</a>: Add new <code class="xref py py-data docutils literal notranslate"><span class="pre">socket.TCP_NOTSENT_LOWAT</span></code> (Linux 3.12) constant.
Patch by Nathaniel J. Smith.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9303">bpo-9303</a>: Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29704">bpo-29704</a>: asyncio.subprocess.SubprocessStreamProtocol no longer closes
before all pipes are closed.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7769">bpo-7769</a>: Method register_function() of
xmlrpc.server.SimpleXMLRPCDispatcher and its subclasses can now be used as
a decorator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29376">bpo-29376</a>: Fix assertion error in threading._DummyThread.is_alive().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16285">bpo-16285</a>: urllib.parse.quote is now based on RFC 3986 and hence includes
~ in the set of characters that is not quoted by default. Patch by
Christian Theune and Ratnadeep Debnath.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22807">bpo-22807</a>: Add uuid.SafeUUID and uuid.UUID.is_safe to relay information
from the platform about whether generated UUIDs are generated with a
multiprocessing safe method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29576">bpo-29576</a>: Improve some deprecations in importlib. Some deprecated methods
now emit DeprecationWarnings and have better descriptive messages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29534">bpo-29534</a>: Fixed different behaviour of Decimal.from_float() for _decimal
and _pydecimal. Thanks Andrew Nester.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10379">bpo-10379</a>: locale.format_string now supports the monetary keyword
argument, and locale.format is deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29851">bpo-29851</a>: importlib.reload() now raises ModuleNotFoundError if the module
lacks a spec.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29416">bpo-29416</a>: Prevent infinite loop in pathlib.Path.mkdir</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29377">bpo-29377</a>: Add WrapperDescriptorType, MethodWrapperType, and
MethodDescriptorType built-in types to types module. Original patch by
Manuel Krebber.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29218">bpo-29218</a>: Unused install_misc command is now removed. It has been
documented as unused since 2000. Patch by Eric N. Vander Weele.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29368">bpo-29368</a>: The extend() method is now called instead of the append()
method when unpickle collections.deque and other list-like objects. This
can speed up unpickling to 2 times.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29338">bpo-29338</a>: The help of a builtin or extension class now includes the
constructor signature if __text_signature__ is provided for the class.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28735">bpo-28735</a>: Fixed the comparison of mock.MagickMock with mock.ANY.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29197">bpo-29197</a>: Removed deprecated function ntpath.splitunc().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29210">bpo-29210</a>: Removed support of deprecated argument “exclude” in
tarfile.TarFile.add().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29219">bpo-29219</a>: Fixed infinite recursion in the repr of uninitialized
ctypes.CDLL instances.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29192">bpo-29192</a>: Removed deprecated features in the http.cookies module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29193">bpo-29193</a>: A format string argument for string.Formatter.format() is now
positional-only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29195">bpo-29195</a>: Removed support of deprecated undocumented keyword arguments in
methods of regular expression objects.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20804">bpo-20804</a>: The unittest.mock.sentinel attributes now preserve their
identity when they are copied or pickled.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28961">bpo-28961</a>: Fix unittest.mock._Call helper: dont ignore the name parameter
anymore. Patch written by Jiajun Huang.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28985">bpo-28985</a>: Update authorizer constants in sqlite3 module. Patch by
Dingyuan Wang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29079">bpo-29079</a>: Prevent infinite loop in pathlib.resolve() on Windows</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when passing a sequence
that doesnt own its elements as limits.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16255">bpo-16255</a>: subprocess.Popen uses /system/bin/sh on Android as the shell,
instead of /bin/sh.</p></li>
<li><p><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><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.</p></li>
<li><p><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. A deprecation warning is
now emitted if the index file is missed and recreated in the r and w
modes (will be an error in future Python releases).</p></li>
<li><p><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
re.sub() replacement templates regular expressions now are errors.</p></li>
<li><p><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 overridden inside the context manager.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28740">bpo-28740</a>: Add sys.getandroidapilevel(): return the build time API version
of Android as an integer. Function only available on Android.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28752">bpo-28752</a>: Restored the __reduce__() methods of datetime objects.</p></li>
<li><p><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>: dont duplicate warning filters when
the warnings module is reloaded (thing usually only done in unit tests).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20572">bpo-20572</a>: Remove the subprocess.Popen.wait endtime parameter. It was
deprecated in 3.4 and undocumented prior to that.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28548">bpo-28548</a>: In the “http.server” module, parse the protocol version if
possible, to avoid using HTTP 0.9 in some error responses.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in cursess addch() with ncurses6.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue24241">bpo-24241</a>: The webbrowser in an X environment now prefers using the
default browser directly. Also, the webbrowser register() function now has
a documented preferred argument, to specify browsers to be returned by
get() with no arguments. Patch by David Steele</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28255">bpo-28255</a>: calendar.TextCalendar.prweek() no longer prints a space after a
weekss calendar. calendar.TextCalendar.pryear() no longer prints
redundant newline after a years calendar. Based on patch by Xiang Zhang.</p></li>
<li><p><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 months calendar. Patch by Xiang
Zhang.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28430">bpo-28430</a>: Fix iterator of C implemented asyncio.Future doesnt accept
non-None value is passed to it.send(val).</p></li>
<li><p><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer adds entry “./” to ZIP archive.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28469">bpo-28469</a>: timeit now uses the sequence 1, 2, 5, 10, 20, 50,… instead of
1, 10, 100,… for autoranging.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28115">bpo-28115</a>: Command-line interface of the zipfile module now uses argparse.
Added support of long options.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28448">bpo-28448</a>: Fix C implemented asyncio.Future didnt work on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23214">bpo-23214</a>: In the “io” module, the argument to BufferedReader and
BytesIOs read1() methods is now optional and can be -1, matching the
BufferedIOBase specification.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28480">bpo-28480</a>: Fix error building socket module when multithreading is
disabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28240">bpo-28240</a>: timeit: remove <code class="docutils literal notranslate"><span class="pre">-c/--clock</span></code> and <code class="docutils literal notranslate"><span class="pre">-t/--time</span></code> command line
options which were deprecated since Python 3.3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28240">bpo-28240</a>: timeit now repeats the benchmarks 5 times instead of only 3 to
make benchmarks more reliable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28240">bpo-28240</a>: timeit autorange now uses a single loop iteration if the
benchmark takes less than 10 seconds, instead of 10 iterations. “python3
-m timeit -s import time time.sleep(1)’” now takes 4 seconds instead of
40 seconds.</p></li>
<li><p>Distutils.sdist now looks for README and setup.py files with case
sensitivity. This behavior matches that found in Setuptools 6.0 and later.
See <a class="reference external" href="https://github.com/pypa/setuptools/issues/100">setuptools 100</a> for
rationale.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24452">bpo-24452</a>: Make webbrowser support Chrome on Mac OS X. Patch by Ned
Batchelder.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28317">bpo-28317</a>: The disassembler now decodes FORMAT_VALUE argument.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28229">bpo-28229</a>: lzma module now supports pathlib.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue28332">bpo-28332</a>: Deprecated silent truncations in socket.htons and socket.ntohs.
Original patch by Oren Milman.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue28228">bpo-28228</a>: imghdr now supports pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28226">bpo-28226</a>: compileall now supports pathlib.</p></li>
<li><p><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><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><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 dont call itermonthdates() which can cause datetime.date
under/overflow.</p>
</li>
<li><p><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p></li>
<li><p>Fix UnboundLocalError in socket._sendfile_use_sendfile.</p></li>
<li><p><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isnt properly supported. Patch by
Seth Michael Larson.</p></li>
<li><p><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28325">bpo-28325</a>: Remove vestigial MacOS 9 macurl2path module and its tests.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transports FD is used with add_reader,
add_writer, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
Марк.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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><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.</p></li>
</ul>
</div>
<div class="section" id="id136">
<h3>Documentation<a class="headerlink" href="#id136" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31128">bpo-31128</a>: Allow the pydoc server to bind to arbitrary hostnames.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30803">bpo-30803</a>: Clarify doc on truth value testing. Original patch by Peter
Thomassen.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue26985">bpo-26985</a>: Add missing info of code object in inspect documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19824">bpo-19824</a>: Improve the documentation for, and links to, template strings
by emphasizing their utility for internationalization, and by clarifying
some usage constraints. (See also: <a class="reference external" href="https://bugs.python.org/issue20314">bpo-20314</a>, <a class="reference external" href="https://bugs.python.org/issue12518">bpo-12518</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28929">bpo-28929</a>: Link the documentation to its source file on GitHub.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29349">bpo-29349</a>: Fix Python 2 syntax in code for building the documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The data model reference and the porting section in the 3.6
Whats 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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</p></li>
</ul>
</div>
<div class="section" id="id137">
<h3>Tests<a class="headerlink" href="#id137" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29639">bpo-29639</a>: test.support.HOST is now “localhost”, a new HOSTv4 constant has
been added for your <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code> needs, similar to the existing HOSTv6
constant.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31320">bpo-31320</a>: Silence traceback in test_ssl</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31346">bpo-31346</a>: Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols
for SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25674">bpo-25674</a>: Remove sha256.tbs-internet.com ssl test</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 doesnt exist) now will be assigned to the target of the “as”
clause, if there is one.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24932">bpo-24932</a>: Use proper command line parsing in _testembed</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26936">bpo-26936</a>: Fix the test_socket failures on Android - getservbyname(),
getservbyport() and getaddrinfo() are broken on some Android API levels.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28217">bpo-28217</a>: Adds _testconsole module to test console input.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id138">
<h3>Build<a class="headerlink" href="#id138" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31354">bpo-31354</a>: Allow with-lto to be used on all builds, not just <code class="xref py py-obj docutils literal notranslate"><span class="pre">make</span>
<span class="pre">profile-opt</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31370">bpo-31370</a>: Remove support for building without-threads.</p>
<p>This option is not really useful anymore in the 21st century. Removing
lots of conditional paths allows us to simplify the code base, including
in difficult to maintain low-level internal code.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31341">bpo-31341</a>: Per PEP 11, support for the IRIX operating system was removed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30854">bpo-30854</a>: Fix compile error when compiling without-threads. Patch by
Masayuki Yamamoto.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30687">bpo-30687</a>: Locate msbuild.exe on Windows when building rather than
vcvarsall.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20210">bpo-20210</a>: Support the <em>disabled</em> marker in Setup files. Extension modules
listed after this marker are not built at all, neither by the Makefile nor
by setup.py.</p></li>
<li><p><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>.</p></li>
<li><p><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>.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23404">bpo-23404</a>: Dont 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>.</p></li>
<li><p><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> didnt work.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27659">bpo-27659</a>: Prohibit implicit C function declarations: use
<code class="docutils literal notranslate"><span class="pre">-Werror=implicit-function-declaration</span></code> when possible (GCC and Clang,
but it depends on the compiler version). Patch written by Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29384">bpo-29384</a>: Remove old Be OS helper scripts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26851">bpo-26851</a>: Set Android compilation and link flags.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28768">bpo-28768</a>: Fix implicit declaration of function _setmode. Patch by
Masayuki Yamamoto</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28849">bpo-28849</a>: Do not define sys.implementation._multiarch on Android.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename with-optimiations to enable-optimizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21124">bpo-21124</a>: Fix building the _struct module on Cygwin by passing <code class="docutils literal notranslate"><span class="pre">NULL</span></code>
instead of <code class="docutils literal notranslate"><span class="pre">&amp;PyType_Type</span></code> to PyVarObject_HEAD_INIT. Patch by Masayuki
Yamamoto.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13756">bpo-13756</a>: Fix building extensions modules on Cygwin. Patch by Roumen
Petrov, based on original patch by Jason Tishler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21085">bpo-21085</a>: Add configure check for siginfo_t.si_band, which Cygwin does
not provide. Patch by Masayuki Yamamoto with review and rebase by Erik
Bray.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27979">bpo-27979</a>: A full copy of libffi is no longer bundled for use when
building _ctypes on non-OSX UNIX platforms. An installed copy of libffi
is now required when building _ctypes on such platforms.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing getentropy declaration warning on macOS.
Patch by Gareth Rees.</p></li>
</ul>
</div>
<div class="section" id="id139">
<h3>Windows<a class="headerlink" href="#id139" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31392">bpo-31392</a>: Update Windows build to use OpenSSL 1.1.0f</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30389">bpo-30389</a>: Adds detection of Visual Studio 2017 to distutils on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31358">bpo-31358</a>: zlib is no longer bundled in the CPython source, instead it is
downloaded on demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31340">bpo-31340</a>: Change to building with MSVC v141 (included with Visual Studio
2017)</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30916">bpo-30916</a>: Pre-build OpenSSL, Tcl and Tk and include the binaries in the
build.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30291">bpo-30291</a>: Allow requiring 64-bit interpreters from py.exe using -64
suffix. Contributed by Steve (Gadget) Barnes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30362">bpo-30362</a>: Adds list options (-0, -0p) to py.exe launcher. Contributed by
Steve Barnes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23451">bpo-23451</a>: Fix socket deprecation warnings in socketmodule.c. Patch by
Segev Finer.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29579">bpo-29579</a>: Removes readme.txt from the installer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25778">bpo-25778</a>: winreg does not truncate string correctly (Patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder and disable it by default</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28522">bpo-28522</a>: Fixes mishandled buffer reallocation in getpathp.c</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28402">bpo-28402</a>: Adds signed catalog files for stdlib on Windows.</p></li>
<li><p><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)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28161">bpo-28161</a>: Opening CON for write access fails</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28162">bpo-28162</a>: WindowsConsoleIO readall() fails if first line starts with
Ctrl+Z</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28163">bpo-28163</a>: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: _PyIO_get_console_type fails for various paths</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28137">bpo-28137</a>: Renames Windows path file to ._pth</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28138">bpo-28138</a>: Windows ._pth file should allow import site</p></li>
</ul>
</div>
<div class="section" id="id140">
<h3>IDLE<a class="headerlink" href="#id140" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27099">bpo-27099</a>: Convert IDLEs 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 &lt;&lt;force-open-completions&gt;&gt;, &lt;&lt;expand-word&gt;&gt;,
&lt;&lt;force-open-calltip&gt;&gt;, &lt;&lt;flash-paren&gt;&gt;, &lt;&lt;format-paragraph&gt;&gt;,
&lt;&lt;run-module&gt;&gt;, &lt;&lt;check-module&gt;&gt;, and &lt;&lt;zoom-height&gt;&gt;. Any (global)
customizations made before 3.6.3 will not affect their keyset-specific
customization after 3.6.3. and vice versa.</p>
<p>Initial patch by Charles Wohlganger.</p>
</li>
<li><p><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><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31003">bpo-31003</a>: IDLE: Add more tests for General tab.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30981">bpo-30981</a>: IDLE Add more configdialog font page tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28523">bpo-28523</a>: IDLE: replace colour with color in configdialog.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30934">bpo-30934</a>: Document coverage details for idlelib tests.</p>
<ul class="simple">
<li><p>Add section to idlelib/idle-test/README.txt.</p></li>
<li><p>Include check that branches are taken both ways.</p></li>
<li><p>Exclude IDLE-specific code that does not run during unit tests.</p></li>
</ul>
</li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue8231">bpo-8231</a>: IDLE: call config.IdleConf.GetUserCfgDir only once.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue21519">bpo-21519</a>: IDLEs basic custom key entry dialog now detects duplicates
properly. Original patch by Saimadhav Heblikar.</p></li>
<li><p><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><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><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>
<li><p><a class="reference external" href="https://bugs.python.org/issue15786">bpo-15786</a>: Fix several problems with IDLEs 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29071">bpo-29071</a>: IDLE colors f-string prefixes (but not invalid ur prefixes).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28572">bpo-28572</a>: Add 10% to coverage of IDLEs test_configdialog. Update and
augment description of the configuration system.</p></li>
</ul>
</div>
<div class="section" id="id141">
<h3>Tools/Demos<a class="headerlink" href="#id141" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29748">bpo-29748</a>: Added the slice index converter in Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24037">bpo-24037</a>: Argument Clinic now uses the converter <code class="xref py py-obj docutils literal notranslate"><span class="pre">bool(accept={int})</span></code>
rather than <a class="reference internal" href="../library/functions.html#int" title="int"><code class="xref py py-obj docutils literal notranslate"><span class="pre">int</span></code></a> for semantical booleans. This avoids repeating the
default value for Python and C and will help in converting to <a class="reference internal" href="../library/functions.html#bool" title="bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bool</span></code></a> in
future.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28023">bpo-28023</a>: Fix python-gdb.py didnt support new dict implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15369">bpo-15369</a>: The pybench and pystone microbenchmark have been removed from
Tools. Please use the new Python benchmark suite
<a class="reference external" href="https://github.com/python/performance">https://github.com/python/performance</a> which is more reliable and includes
a portable version of pybench working on Python 2 and Python 3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28102">bpo-28102</a>: The zipfile module CLI now prints usage to stderr. Patch by
Stephen J. Turnbull.</p></li>
</ul>
</div>
<div class="section" id="id142">
<h3>C API<a class="headerlink" href="#id142" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31338">bpo-31338</a>: Added the <code class="docutils literal notranslate"><span class="pre">Py_UNREACHABLE()</span></code> macro for code paths which are
never expected to be reached. This and a few other useful macros are now
documented in the C API manual.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30832">bpo-30832</a>: Remove own implementation for thread-local storage.</p>
<p>CPython has provided the own implementation for thread-local storage (TLS)
on Python/thread.c, its used in the case which a platform has not
supplied native TLS. However, currently all supported platforms (Windows
and pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS
macro with unconditional in any case.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30708">bpo-30708</a>: PyUnicode_AsWideCharString() now raises a ValueError if the
second argument is NULL and the wchar_t* string contains null characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16500">bpo-16500</a>: Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(),
PyOS_AfterFork_Parent() and PyOS_AfterFork_Child().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6532">bpo-6532</a>: The type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), and the id parameter of
PyThreadState_SetAsyncExc() changed from “long” to “unsigned long”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27867">bpo-27867</a>: Function PySlice_GetIndicesEx() is deprecated and 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. Added
functions PySlice_Unpack() and PySlice_AdjustIndices().</p></li>
<li><p><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 &lt; 3.3 when
PY_SSIZE_T_CLEAN is defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28769">bpo-28769</a>: The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8()
is now of type <code class="docutils literal notranslate"><span class="pre">const</span> <span class="pre">char</span> <span class="pre">*</span></code> rather of <code class="docutils literal notranslate"><span class="pre">char</span> <span class="pre">*</span></code>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28822">bpo-28822</a>: The index parameters <em>start</em> and <em>end</em> of PyUnicode_FindChar()
are now adjusted to behave like <code class="docutils literal notranslate"><span class="pre">str[start:end]</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28761">bpo-28761</a>: The fields name and doc of structures PyMemberDef, PyGetSetDef,
PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of
type <code class="docutils literal notranslate"><span class="pre">const</span> <span class="pre">char</span> <span class="pre">*</span></code> rather of <code class="docutils literal notranslate"><span class="pre">char</span> <span class="pre">*</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28748">bpo-28748</a>: Private variable _Py_PackageContext is now of type <code class="docutils literal notranslate"><span class="pre">const</span> <span class="pre">char</span>
<span class="pre">*</span></code> rather of <code class="docutils literal notranslate"><span class="pre">char</span> <span class="pre">*</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19569">bpo-19569</a>: Compiler warnings are now emitted if use most of deprecated
functions.</p></li>
<li><p><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().</p></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="id143">
<h3>Core and Builtins<a class="headerlink" href="#id143" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33786">bpo-33786</a>: Fix asynchronous generators to handle GeneratorExit in athrow()
correctly</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31849">bpo-31849</a>: Fix signed/unsigned comparison warning in pyhash.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33391">bpo-33391</a>: Fix a leak in set_symmetric_difference().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28055">bpo-28055</a>: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30805">bpo-30805</a>: Avoid race condition with debug logging</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32684">bpo-32684</a>: Fix gather to propagate cancellation of itself even with
return_exceptions.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31647">bpo-31647</a>: Fixed bug where calling write_eof() on a
_SelectorSocketTransport after its already closed raises AttributeError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33672">bpo-33672</a>: Fix Task.__repr__ crash with Cythons bogus coroutines</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33469">bpo-33469</a>: Fix RuntimeError after closing loop that used run_in_executor</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33548">bpo-33548</a>: tempfile._candidate_tempdir_list should consider common TEMP
locations</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20087">bpo-20087</a>: Updated alias mapping with glibc 2.27 supported locales.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 &quot;database&quot; 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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33329">bpo-33329</a>: Fix multiprocessing regression on newer glibcs</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33131">bpo-33131</a>: Upgrade bundled version of pip to 10.0.1.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33256">bpo-33256</a>: Fix display of <code class="docutils literal notranslate"><span class="pre">&lt;module&gt;</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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32861">bpo-32861</a>: The urllib.robotparsers <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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33127">bpo-33127</a>: The ssl module now compiles with LibreSSL 2.7.1.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue16865">bpo-16865</a>: Support arrays &gt;=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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id145">
<h3>Documentation<a class="headerlink" href="#id145" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33503">bpo-33503</a>: Fix broken pypi link</p></li>
<li><p><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>.</p></li>
<li><p><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></p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33201">bpo-33201</a>: Modernize documentation for writing C extension types.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33126">bpo-33126</a>: Document PyBuffer_ToContiguous().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18802">bpo-18802</a>: Documentation changes for ipaddress. Patch by Jon Foster and
Berker Peksag.</p></li>
<li><p><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)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id146">
<h3>Tests<a class="headerlink" href="#id146" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19417">bpo-19417</a>: Add test_bdb.py.</p></li>
</ul>
</div>
<div class="section" id="id147">
<h3>Build<a class="headerlink" href="#id147" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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++.</p></li>
<li><p><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.</p></li>
<li><p><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></p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id148">
<h3>Windows<a class="headerlink" href="#id148" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update Windows installer to OpenSSL 1.0.2o.</p></li>
</ul>
</div>
<div class="section" id="id149">
<h3>macOS<a class="headerlink" href="#id149" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update macOS installer build to use OpenSSL 1.0.2o.</p></li>
</ul>
</div>
<div class="section" id="id150">
<h3>IDLE<a class="headerlink" href="#id150" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33628">bpo-33628</a>: IDLE: Cleanup codecontext.py and its test.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33564">bpo-33564</a>: IDLEs code context now recognizes async as a block opener.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32831">bpo-32831</a>: Add docstrings and tests for codecontext.</p></li>
</ul>
</div>
<div class="section" id="id151">
<h3>Tools/Demos<a class="headerlink" href="#id151" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29673">bpo-29673</a>: Fix pystackv and pystack gdbinit macros.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id152">
<h3>C API<a class="headerlink" href="#id152" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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</p></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="id153">
<h3>Tests<a class="headerlink" href="#id153" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32872">bpo-32872</a>: Avoid regrtest compatibility issue with namespace packages.</p></li>
</ul>
</div>
<div class="section" id="id154">
<h3>Build<a class="headerlink" href="#id154" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id155">
<h3>Security<a class="headerlink" href="#id155" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33001">bpo-33001</a>: Minimal fix to prevent buffer overrun in os.symlink on Windows</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id156">
<h3>Core and Builtins<a class="headerlink" href="#id156" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33026">bpo-33026</a>: Fixed jumping out of “with” block by setting f_lineno.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17288">bpo-17288</a>: Prevent jumps from return and exception trace events.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id157">
<h3>Library<a class="headerlink" href="#id157" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue33009">bpo-33009</a>: Fix inspect.signature() for single-parameter partialmethods.</p></li>
<li><p><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><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><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><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><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>, dont check every call whether the <code class="docutils literal notranslate"><span class="pre">dup3</span></code>
syscall exists or not.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue32473">bpo-32473</a>: Improve ABCMeta._dump_registry() output readability</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue26133">bpo-26133</a>: Dont unsubscribe signals in asyncio UNIX event loop on
interpreter shutdown.</p></li>
<li><p><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><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><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><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><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><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><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><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><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="id158">
<h3>Documentation<a class="headerlink" href="#id158" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue17232">bpo-17232</a>: Clarify docs for -O and -OO. Patch by Terry Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32800">bpo-32800</a>: Update link to w3c doc for xml default namespaces.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id159">
<h3>Tests<a class="headerlink" href="#id159" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id160">
<h3>Build<a class="headerlink" href="#id160" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id161">
<h3>Windows<a class="headerlink" href="#id161" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33016">bpo-33016</a>: Fix potential use of uninitialized memory in
nt._getfinalpathname</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31966">bpo-31966</a>: Fixed WindowsConsoleIO.write() for writing empty data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32409">bpo-32409</a>: Ensures activate.bat can handle Unicode contents.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32457">bpo-32457</a>: Improves handling of denormalized executable path when
launching Python.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32588">bpo-32588</a>: Create standalone _distutils_findvs module.</p></li>
</ul>
</div>
<div class="section" id="id162">
<h3>macOS<a class="headerlink" href="#id162" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id163">
<h3>IDLE<a class="headerlink" href="#id163" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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-20"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">IDLESTARTUP</span></code> or
<span class="target" id="index-21"></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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32940">bpo-32940</a>: Simplify and rename StringTranslatePseudoMapping in pyparse.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32905">bpo-32905</a>: Remove unused code in pyparse module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32874">bpo-32874</a>: Add tests for pyparse.</p></li>
<li><p><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 IDLEs system and location-independent files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32826">bpo-32826</a>: Add “encoding=utf-8” to open() in IDLEs 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.</p></li>
<li><p><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.</p></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><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id165">
<h3>C API<a class="headerlink" href="#id165" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id166">
<h3>Core and Builtins<a class="headerlink" href="#id166" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31949">bpo-31949</a>: Fixed several issues in printing tracebacks
(PyTraceBack_Print()).</p>
<ul>
<li><p>Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.</p></li>
<li><p>Setting sys.tracebacklimit to None now causes using the default limit.</p></li>
<li><p>Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.</p></li>
<li><p>Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.</p></li>
<li><p>Fixed output errors handling.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30696">bpo-30696</a>: Fix the interactive interpreter looping endlessly when no
memory.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 loaders get_source() has a bad splitlines()
method. Patch by Oren Milman.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id167">
<h3>Library<a class="headerlink" href="#id167" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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 couldnt open or create an MSI file. Initial patch by
William Tisäter.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue32072">bpo-32072</a>: Fixed issues with binary plists:</p>
<ul class="simple">
<li><p>Fixed saving bytearrays.</p></li>
<li><p>Identical objects will be saved only once.</p></li>
<li><p>Equal references will be load as identical objects.</p></li>
<li><p>Added support for saving and loading recursive data structures.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32034">bpo-32034</a>: Make asyncio.IncompleteReadError and LimitOverrunError
pickleable.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue31970">bpo-31970</a>: Reduce performance overhead of asyncio debug mode.</p></li>
<li><p><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><p>Using ifconfig on NetBSD and OpenBSD.</p></li>
<li><p>Using arp on Linux, FreeBSD, NetBSD and OpenBSD.</p></li>
</ul>
<p>Based on patch by Takayuki Shimizukawa.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30057">bpo-30057</a>: Fix potential missed signal in signal.signal().</p></li>
<li><p><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 OConnor.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31891">bpo-31891</a>: Fixed building the curses module on NetBSD.</p></li>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue30058">bpo-30058</a>: Fixed buffer overflow in select.kqueue.control().</p></li>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31620">bpo-31620</a>: an empty asyncio.Queue now doesnt leak memory when queue.get
pollers timeout</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31675">bpo-31675</a>: Fixed memory leaks in Tkinters methods splitlist() and split()
when pass a string larger than 2 GiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31673">bpo-31673</a>: Fixed typo in the name of Tkinters method adderrorinfo().</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue25351">bpo-25351</a>: Avoid venv activate failures with undefined variables</p></li>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31310">bpo-31310</a>: multiprocessings semaphore tracker should be launched again if
crashed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31308">bpo-31308</a>: Make multiprocessings 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="id168">
<h3>Documentation<a class="headerlink" href="#id168" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32105">bpo-32105</a>: Added asyncio.BaseEventLoop.connect_accepted_socket
versionadded marker.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id169">
<h3>Tests<a class="headerlink" href="#id169" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31380">bpo-31380</a>: Skip test_httpservers test_undecodable_file on macOS: fails on
APFS.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id170">
<h3>Build<a class="headerlink" href="#id170" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31957">bpo-31957</a>: Fixes Windows SDK version detection when building for Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31609">bpo-31609</a>: Fixes quotes in PCbuild/clean.bat</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update Windows builds to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update OS X installer to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22140">bpo-22140</a>: Prevent double substitution of prefix in python-config.sh.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id171">
<h3>Windows<a class="headerlink" href="#id171" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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="id172">
<h3>macOS<a class="headerlink" href="#id172" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31392">bpo-31392</a>: Update macOS installer to use OpenSSL 1.0.2m</p></li>
</ul>
</div>
<div class="section" id="id173">
<h3>IDLE<a class="headerlink" href="#id173" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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 IDLEs 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><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><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><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><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><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 &gt;&gt;&gt; if not.
Test_code_module now properly tests both behaviors. Ditto for ps2.</p>
</li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue13802">bpo-13802</a>: Use non-Latin characters in the IDLEs 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 IDLEs 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><a class="reference external" href="https://bugs.python.org/issue31460">bpo-31460</a>: Simplify the API of IDLEs 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><a class="reference external" href="https://bugs.python.org/issue31649">bpo-31649</a>: IDLE - Make _htest, _utest parameters keyword only.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue31459">bpo-31459</a>: Rename IDLEs 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 &lt;&lt;open-class-browser&gt;&gt;, which
appears on the Keys tab of the Settings dialog, is not changed. Patch by
Cheryl Sabella.</p></li>
<li><p><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><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="id174">
<h3>Tools/Demos<a class="headerlink" href="#id174" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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 doesnt work with string
patterns in Python 3.</p>
<p>Patch by Christoph Sarnowski.</p>
</li>
</ul>
</div>
<div class="section" id="id175">
<h3>C API<a class="headerlink" href="#id175" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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()</p></li>
<li><p><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>.</p></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="id176">
<h3>Library<a class="headerlink" href="#id176" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id177">
<h3>Build<a class="headerlink" href="#id177" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31423">bpo-31423</a>: Fix building the PDF documentation with newer versions of
Sphinx.</p></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="id178">
<h3>Security<a class="headerlink" href="#id178" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id179">
<h3>Core and Builtins<a class="headerlink" href="#id179" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><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><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> isnt a
string. Patch by Oren Milman.</p></li>
<li><p><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 doesnt return a bytes object. Patch
by Oren Milman.</p></li>
<li><p><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
decoders state is invalid. Patch by Oren Milman.</p></li>
<li><p><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><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><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
doesnt call <code class="docutils literal notranslate"><span class="pre">PyObject_GC_UnTrack()</span></code>.</p></li>
<li><p><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><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><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><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><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 Im 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><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><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><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><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="id180">
<h3>Library<a class="headerlink" href="#id180" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: LoggerAdapter objects can now be nested.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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 &lt; 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><a class="reference external" href="https://bugs.python.org/issue31185">bpo-31185</a>: Fixed miscellaneous errors in asyncio speedup module.</p></li>
<li><p><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
doesnt 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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue30961">bpo-30961</a>: Fix decrementing a borrowed reference in tracemalloc.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue29854">bpo-29854</a>: Fix segfault in readline when using readlines history-size
option. Patch by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30319">bpo-30319</a>: socket.close() now ignores ECONNRESET error.</p></li>
<li><p><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><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><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><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><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><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><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="id181">
<h3>Documentation<a class="headerlink" href="#id181" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30803">bpo-30803</a>: Clarify doc on truth value testing. Original patch by Peter
Thomassen.</p></li>
</ul>
</div>
<div class="section" id="id182">
<h3>Tests<a class="headerlink" href="#id182" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31320">bpo-31320</a>: Silence traceback in test_ssl</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25674">bpo-25674</a>: Remove sha256.tbs-internet.com ssl test</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id183">
<h3>Build<a class="headerlink" href="#id183" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30854">bpo-30854</a>: Fix compile error when compiling without-threads. Patch by
Masayuki Yamamoto.</p></li>
</ul>
</div>
<div class="section" id="id184">
<h3>Windows<a class="headerlink" href="#id184" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30389">bpo-30389</a>: Adds detection of Visual Studio 2017 to distutils on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31340">bpo-31340</a>: Change to building with MSVC v141 (included with Visual Studio
2017)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id185">
<h3>IDLE<a class="headerlink" href="#id185" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27099">bpo-27099</a>: Convert IDLEs 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 &lt;&lt;force-open-completions&gt;&gt;, &lt;&lt;expand-word&gt;&gt;,
&lt;&lt;force-open-calltip&gt;&gt;, &lt;&lt;flash-paren&gt;&gt;, &lt;&lt;format-paragraph&gt;&gt;,
&lt;&lt;run-module&gt;&gt;, &lt;&lt;check-module&gt;&gt;, and &lt;&lt;zoom-height&gt;&gt;. 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><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><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue31003">bpo-31003</a>: IDLE: Add more tests for General tab.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30981">bpo-30981</a>: IDLE Add more configdialog font page tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28523">bpo-28523</a>: IDLE: replace colour with color in configdialog.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30934">bpo-30934</a>: Document coverage details for idlelib tests.</p>
<ul class="simple">
<li><p>Add section to idlelib/idle-test/README.txt.</p></li>
<li><p>Include check that branches are taken both ways.</p></li>
<li><p>Exclude IDLE-specific code that does not run during unit tests.</p></li>
</ul>
</li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue8231">bpo-8231</a>: IDLE: call config.IdleConf.GetUserCfgDir only once.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue21519">bpo-21519</a>: IDLEs basic custom key entry dialog now detects duplicates
properly. Original patch by Saimadhav Heblikar.</p></li>
<li><p><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><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><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="id186">
<h3>Tools/Demos<a class="headerlink" href="#id186" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id187">
<h3>Security<a class="headerlink" href="#id187" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.0s 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) doesnt
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>.</p></li>
<li><p><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#&#64;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">&#64;evil.com</span></code> as the host in an
authentication (<code class="docutils literal notranslate"><span class="pre">login&#64;host</span></code>).</p></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="id188">
<h3>Core and Builtins<a class="headerlink" href="#id188" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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”).</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29104">bpo-29104</a>: Fixed parsing backslashes in f-strings.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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, its
now correctly delivered to the innermost frame.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29949">bpo-29949</a>: Fix memory usage regression of set and frozenset object.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29600">bpo-29600</a>: Fix wrapping coroutine return values in StopIteration.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id189">
<h3>Library<a class="headerlink" href="#id189" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id190">
<h3>Security<a class="headerlink" href="#id190" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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><p><a class="reference external" href="https://bugs.python.org/issue24484">bpo-24484</a>: Avoid race condition in multiprocessing cleanup (#2159)</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30508">bpo-30508</a>: Dont log exceptions if Task/Future “cancel()” method was
called.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27585">bpo-27585</a>: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
Sornay.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29822">bpo-29822</a>: inspect.isabstract() now works during __init_subclass__. Patch
by Nate Soares.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30557">bpo-30557</a>: faulthandler now correctly filters and displays exception codes
on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30378">bpo-30378</a>: Fix the problem that logging.handlers.SysLogHandler cannot
handle IPv6 addresses.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29990">bpo-29990</a>: Fix range checking in GB18030 decoder. Original patch by Ma
Lin.</p></li>
<li><p><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>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30243">bpo-30243</a>: Removed the __init__ methods of _jsons scanner and encoder.
Misusing them could cause memory leaks or crashes. Now scanner and
encoder objects are completely initialized in the __new__ methods.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30205">bpo-30205</a>: Fix getsockname() for unbound AF_UNIX sockets on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30070">bpo-30070</a>: Fixed leaks and crashes in errors handling in the parser
module.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30068">bpo-30068</a>: _io._IOBase.readlines will check if its closed first when hint
is present.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29998">bpo-29998</a>: Pickling and copying ImportError now preserves name and path
attributes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29884">bpo-29884</a>: faulthandler: Restore the old sigaltstack during teardown.
Patch by Christophe Zeitouny.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive buffered file-like objects.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28231">bpo-28231</a>: The zipfile module now accepts path-like objects for external
paths.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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><p><a class="reference external" href="https://bugs.python.org/issue15786">bpo-15786</a>: Fix several problems with IDLEs 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id193">
<h3>C API<a class="headerlink" href="#id193" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id194">
<h3>Build<a class="headerlink" href="#id194" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>.</p></li>
<li><p><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>.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23404">bpo-23404</a>: Dont 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>.</p></li>
<li><p><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> didnt work.</p></li>
</ul>
</div>
<div class="section" id="id195">
<h3>Documentation<a class="headerlink" href="#id195" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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="id196">
<h3>Tools/Demos<a class="headerlink" href="#id196" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id197">
<h3>Tests<a class="headerlink" href="#id197" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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 doesnt exist) now will be assigned to the target of the “as”
clause, if there is one.</p></li>
</ul>
</div>
<div class="section" id="id198">
<h3>Windows<a class="headerlink" href="#id198" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30687">bpo-30687</a>: Locate msbuild.exe on Windows when building rather than
vcvarsall.bat</p></li>
<li><p><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.</p></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="id199">
<h3>Core and Builtins<a class="headerlink" href="#id199" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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
locations 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.</p></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><p><a class="reference external" href="https://bugs.python.org/issue27593">bpo-27593</a>: fix format of git information used in sys.version</p></li>
<li><p>Fix incompatible comment in python.h</p></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="id201">
<h3>Core and Builtins<a class="headerlink" href="#id201" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29683">bpo-29683</a>: Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian
Coleman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29347">bpo-29347</a>: Fixed possibly dereferencing undefined pointers when creating
weakref objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29438">bpo-29438</a>: Fixed use-after-free problem in key sharing dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29319">bpo-29319</a>: Prevent RunMainFromImporter overwriting sys.path[0].</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29327">bpo-29327</a>: Fixed a crash when pass the iterable keyword argument to
sorted().</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29159">bpo-29159</a>: Fix regression in bytes(x) when x.__index__() raises Exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include &lt;sys/random.h&gt; if it does not exist.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate
form.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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%.</p></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><p><a class="reference external" href="https://bugs.python.org/issue29169">bpo-29169</a>: Update zlib to 1.2.11.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29704">bpo-29704</a>: asyncio.subprocess.SubprocessStreamProtocol no longer closes
before all pipes are closed.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29376">bpo-29376</a>: Fix assertion error in threading._DummyThread.is_alive().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29416">bpo-29416</a>: Prevent infinite loop in pathlib.Path.mkdir</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28735">bpo-28735</a>: Fixed the comparison of mock.MagickMock with mock.ANY.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29219">bpo-29219</a>: Fixed infinite recursion in the repr of uninitialized
ctypes.CDLL instances.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29011">bpo-29011</a>: Fix an important omission by adding Deque to the typing module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28961">bpo-28961</a>: Fix unittest.mock._Call helper: dont ignore the name parameter
anymore. Patch written by Jiajun Huang.</p></li>
<li><p><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.</p></li>
<li><p><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><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><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29079">bpo-29079</a>: Prevent infinite loop in pathlib.resolve() on Windows</p></li>
<li><p><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when passing a sequence
that doesnt own its elements as limits.</p></li>
<li><p><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><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><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.</p></li>
</ul>
</div>
<div class="section" id="id203">
<h3>IDLE<a class="headerlink" href="#id203" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29071">bpo-29071</a>: IDLE colors f-string prefixes (but not invalid ur prefixes).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28572">bpo-28572</a>: Add 10% to coverage of IDLEs test_configdialog. Update and
augment description of the configuration system.</p></li>
</ul>
</div>
<div class="section" id="id204">
<h3>Windows<a class="headerlink" href="#id204" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29579">bpo-29579</a>: Removes readme.txt from the installer</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29326">bpo-29326</a>: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: Correctly handle special console filenames (patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29409">bpo-29409</a>: Implement PEP 529 for io.FileIO (Patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29392">bpo-29392</a>: Prevent crash when passing invalid arguments into msvcrt
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25778">bpo-25778</a>: winreg does not truncate string correctly (Patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder and disable it by default.</p></li>
</ul>
</div>
<div class="section" id="id205">
<h3>C API<a class="headerlink" href="#id205" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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 &lt; 3.3 when
PY_SSIZE_T_CLEAN is defined.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id206">
<h3>Documentation<a class="headerlink" href="#id206" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28929">bpo-28929</a>: Link the documentation to its source file on GitHub.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29349">bpo-29349</a>: Fix Python 2 syntax in code for building the documentation.</p></li>
</ul>
</div>
<div class="section" id="id207">
<h3>Tests<a class="headerlink" href="#id207" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id208">
<h3>Build<a class="headerlink" href="#id208" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26851">bpo-26851</a>: Set Android compilation and link flags.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28768">bpo-28768</a>: Fix implicit declaration of function _setmode. Patch by
Masayuki Yamamoto</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28849">bpo-28849</a>: Do not define sys.implementation._multiarch on Android.</p></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="id209">
<h3>Core and Builtins<a class="headerlink" href="#id209" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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)</p></li>
</ul>
</div>
<div class="section" id="id210">
<h3>Tools/Demos<a class="headerlink" href="#id210" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28770">bpo-28770</a>: Fix python-gdb.py for fastcalls.</p></li>
</ul>
</div>
<div class="section" id="id211">
<h3>Windows<a class="headerlink" href="#id211" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder.</p></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><p><a class="reference external" href="https://bugs.python.org/issue28898">bpo-28898</a>: Prevent gdb build errors due to HAVE_LONG_LONG redefinition.</p></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="id213">
<h3>Core and Builtins<a class="headerlink" href="#id213" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: Rather than silently producing a class that doesnt 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>.</p></li>
<li><p><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.</p></li>
<li><p><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>).</p></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><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28843">bpo-28843</a>: Fix asyncio C Task to handle exceptions __traceback__.</p></li>
</ul>
</div>
<div class="section" id="id215">
<h3>C API<a class="headerlink" href="#id215" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</p></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><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The data model reference and the porting section in the Whats
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>.</p></li>
</ul>
</div>
<div class="section" id="id217">
<h3>Tools/Demos<a class="headerlink" href="#id217" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28023">bpo-28023</a>: Fix python-gdb.py didnt support new dict implementation.</p></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="id218">
<h3>Core and Builtins<a class="headerlink" href="#id218" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28532">bpo-28532</a>: Show sys.version when -V option is supplied twice.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26920">bpo-26920</a>: Fix not getting the locales charset upon initializing the
interpreter, on platforms that do not have langinfo.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28665">bpo-28665</a>: Improve speed of the STORE_DEREF opcode by 40%.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28583">bpo-28583</a>: PyDict_SetDefault didnt combine split table when needed. Patch
by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Change PendingDeprecationWarning -&gt; 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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Fix a refleak in code that raises DeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28721">bpo-28721</a>: Fix asynchronous generators aclose() and athrow() to handle
StopAsyncIteration propagation properly.</p></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><p><a class="reference external" href="https://bugs.python.org/issue28752">bpo-28752</a>: Restored the __reduce__() methods of datetime objects.</p></li>
<li><p><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>: dont duplicate warning filters when
the warnings module is reloaded (thing usually only done in unit tests).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20572">bpo-20572</a>: The subprocess.Popen.wait methods undocumented endtime
parameter now raises a DeprecationWarning.</p></li>
<li><p><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><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</p></li>
<li><p><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28634">bpo-28634</a>: Fix asyncio.isfuture() to support unittest.Mock.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Fix refleak in _asyncio.Future.__iter__().throw.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin
Mayfield.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28704">bpo-28704</a>: Fix create_unix_server to support Path-like objects (PEP 519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28720">bpo-28720</a>: Add collections.abc.AsyncGenerator.</p></li>
</ul>
</div>
<div class="section" id="id220">
<h3>Documentation<a class="headerlink" href="#id220" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</p></li>
</ul>
</div>
<div class="section" id="id221">
<h3>Tests<a class="headerlink" href="#id221" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</p></li>
</ul>
</div>
<div class="section" id="id222">
<h3>Build<a class="headerlink" href="#id222" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename with-optimiations to enable-optimizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing getentropy declaration warning on macOS.
Patch by Gareth Rees.</p></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="id223">
<h3>Core and Builtins<a class="headerlink" href="#id223" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28509">bpo-28509</a>: dict.update() no longer allocate unnecessary large memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
build.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Improved exception reporting for problematic __set_name__
attributes.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id224">
<h3>Library<a class="headerlink" href="#id224" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in cursess addch() with ncurses6.</p></li>
<li><p><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><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><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><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.</p></li>
<li><p><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 months calendar. Patch by Xiang
Zhang.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28430">bpo-28430</a>: Fix iterator of C implemented asyncio.Future doesnt accept
non-None value is passed to it.send(val).</p></li>
<li><p><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer adds entry “./” to ZIP archive.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28448">bpo-28448</a>: Fix C implemented asyncio.Future didnt work on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28480">bpo-28480</a>: Fix error building socket module when multithreading is
disabled.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28492">bpo-28492</a>: Fix how StopIteration exception is raised in _asyncio.Future.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28500">bpo-28500</a>: Fix asyncio to handle async gens GC from another thread.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Dont configure the number of workers for default threadpool
executor. Initial patch by Hans Lawrenz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28544">bpo-28544</a>: Implement asyncio.Task in C.</p></li>
</ul>
</div>
<div class="section" id="id225">
<h3>Windows<a class="headerlink" href="#id225" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28522">bpo-28522</a>: Fixes mishandled buffer reallocation in getpathp.c</p></li>
</ul>
</div>
<div class="section" id="id226">
<h3>Build<a class="headerlink" href="#id226" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id227">
<h3>Tests<a class="headerlink" href="#id227" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</p></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="id228">
<h3>Core and Builtins<a class="headerlink" href="#id228" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28183">bpo-28183</a>: Optimize and cleanup dict iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Added C implementation of asyncio.Future. Original patch by
Yury Selivanov.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and
frozensets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with
invalid keyword args.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28192">bpo-28192</a>: Dont import readline in isolated mode.</p></li>
<li><p>Upgrade internal unicode databases to Unicode version 9.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimports compile_source(). zipimport
should use the same optimization level as the interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28126">bpo-28126</a>: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
optimize memcpy().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id229">
<h3>Library<a class="headerlink" href="#id229" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28317">bpo-28317</a>: The disassembler now decodes FORMAT_VALUE argument.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue28229">bpo-28229</a>: lzma module now supports pathlib.</p></li>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28228">bpo-28228</a>: imghdr now supports pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28226">bpo-28226</a>: compileall now supports pathlib.</p></li>
<li><p><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><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><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 dont call itermonthdates() which can cause datetime.date
under/overflow.</p>
</li>
<li><p><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p></li>
<li><p>Fix UnboundLocalError in socket._sendfile_use_sendfile.</p></li>
<li><p><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isnt properly supported. Patch by
Seth Michael Larson.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transports FD is used with add_reader,
add_writer, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
Марк.</p></li>
<li><p><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><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><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><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="id230">
<h3>Windows<a class="headerlink" href="#id230" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28402">bpo-28402</a>: Adds signed catalog files for stdlib on Windows.</p></li>
<li><p><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)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28161">bpo-28161</a>: Opening CON for write access fails</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28162">bpo-28162</a>: WindowsConsoleIO readall() fails if first line starts with
Ctrl+Z</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28163">bpo-28163</a>: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: _PyIO_get_console_type fails for various paths</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28137">bpo-28137</a>: Renames Windows path file to ._pth</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28138">bpo-28138</a>: Windows ._pth file should allow import site</p></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><p><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().</p></li>
</ul>
</div>
<div class="section" id="id232">
<h3>Build<a class="headerlink" href="#id232" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id233">
<h3>Tests<a class="headerlink" href="#id233" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28217">bpo-28217</a>: Adds _testconsole module to test console input.</p></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="id234">
<h3>Core and Builtins<a class="headerlink" href="#id234" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27080">bpo-27080</a>: Implement formatting support for PEP 515. Initial patch by
Chris Angelico.</p></li>
<li><p><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.</p></li>
<li><p><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&quot;hi&quot;\x7d'</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28046">bpo-28046</a>: Remove platform-specific directories from sys.path.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28071">bpo-28071</a>: Add early-out for differencing from an empty set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename
(patch by Eryk Sun)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26331">bpo-26331</a>: Implement tokenizing support for PEP 515. Patch by Georg
Brandl.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28003">bpo-28003</a>: Implement PEP 525 Asynchronous Generators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27985">bpo-27985</a>: Implement PEP 526 Syntax for Variable Annotations. Patch by
Ivan Levkivskyi.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.)</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27078">bpo-27078</a>: Added BUILD_STRING opcode. Optimized f-strings evaluation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17884">bpo-17884</a>: Python now requires systems with inttypes.h and stdint.h</p></li>
<li><p><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 hasnt
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.</p></li>
<li><p><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.</p></li>
<li><p>Implement PEP 523.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27506">bpo-27506</a>: Support passing the bytes/bytearray.translate() “delete”
argument by keyword.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generators frames backreference to the
generator to prevent crashes in frame.clear().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26984">bpo-26984</a>: int() now always returns an instance of exact int.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24254">bpo-24254</a>: Make class definition namespace ordered by default.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28008">bpo-28008</a>: Implement PEP 530 asynchronous comprehensions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</p></li>
</ul>
</div>
<div class="section" id="id235">
<h3>Library<a class="headerlink" href="#id235" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28037">bpo-28037</a>: Use sqlite3_get_autocommit() instead of setting
Connection-&gt;inTransaction manually.</p></li>
<li><p><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().</p></li>
<li><p><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)”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10740">bpo-10740</a>: sqlite3 no longer implicitly commit an open transaction before
DDL statements.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17941">bpo-17941</a>: Add a <em>module</em> parameter to collections.namedtuple().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28070">bpo-28070</a>: Fixed parsing inline verbose flag in regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19500">bpo-19500</a>: Add client-side SSL session resumption to the ssl module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24693">bpo-24693</a>: Changed some RuntimeErrors in the zipfile module to more
appropriate types. Improved some error messages and debugging output.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>Fix possible integer overflows and crashes in the mmap module with unusual
usage patterns.</p></li>
<li><p><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><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><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.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue28082">bpo-28082</a>: Convert re flag constants to IntFlag.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23591">bpo-23591</a>: Add Flag, IntFlag, and auto() to enum module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue433028">bpo-433028</a>: Added support of modifier spans in regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue27576">bpo-27576</a>: Fix call order in OrderedDict.__init__().</p></li>
<li><p>email.generator.DecodedGenerator now supports the policy keyword.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Dont pass str(_charset) to MIMEText.set_payload(). Patch by
Claude Paroz.</p></li>
<li><p><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.</p></li>
<li><p><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>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><a class="reference external" href="https://bugs.python.org/issue28005">bpo-28005</a>: Allow ImportErrors in encoding implementation to propagate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26667">bpo-26667</a>: Support path-like objects in importlib.util.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue27331">bpo-27331</a>: The email.mime classes now all accept an optional policy
keyword.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue16113">bpo-16113</a>: Add SHA-3 and SHAKE support to hashlib module.</p></li>
<li><p>Eliminate a tautological-pointer-compare warning in _scproxy.c.</p></li>
<li><p><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-22"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</p></li>
<li><p><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-23"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl modules parsing of GEN_RID subject alternative name
fields in X.509 certs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: Add random.choices().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26798">bpo-26798</a>: Add BLAKE2 (blake2b and blake2s) to hashlib.</p></li>
<li><p><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.54 times faster.</p></li>
<li><p><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 36 times faster.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl modules default cipher list to counter
measure sweet32 attack (CVE-2016-2183).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl modules default cipher list.
(Required OpenSSL 1.1.0 or LibreSSL).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25387">bpo-25387</a>: Check return value of winsound.MessageBeep.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27744">bpo-27744</a>: Add AF_ALG (Linux Kernel crypto) to socket module.</p></li>
<li><p><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><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.)</p></li>
<li><p>Remove support for passing a file descriptor to os.access. It never worked
but previously didnt raise.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</p></li>
<li><p><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><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><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><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><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><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.</p></li>
<li><p>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><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>.</p></li>
<li><p><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><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><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.</p></li>
<li><p><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><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: exit message for code.interact is now configurable.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>asyncio: Add set_protocol / get_protocol to Transports.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</p></li>
</ul>
</div>
<div class="section" id="id236">
<h3>IDLE<a class="headerlink" href="#id236" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from flashing gui widgets on the screen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27891">bpo-27891</a>: Consistently group and sort imports within idlelib modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17642">bpo-17642</a>: add larger font sizes for classroom projection.</p></li>
<li><p>Add version to title of IDLE help window.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id237">
<h3>C API<a class="headerlink" href="#id237" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26900">bpo-26900</a>: Excluded underscored names and other private API from limited
API.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26027">bpo-26027</a>: Add support for path-like objects in PyUnicode_FSConverter() &amp;
PyUnicode_FSDecoder().</p></li>
</ul>
</div>
<div class="section" id="id238">
<h3>Tests<a class="headerlink" href="#id238" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27427">bpo-27427</a>: Additional tests for the math module. Patch by Francisco Couzo.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</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><p><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21590">bpo-21590</a>: Support for DTrace and SystemTap probes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27917">bpo-27917</a>: Set platform triplets for Android builds.</p></li>
<li><p><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.</p></li>
<li><p>Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21122">bpo-21122</a>: Fix LTO builds on OS X.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id240">
<h3>Tools/Demos<a class="headerlink" href="#id240" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1602">bpo-1602</a>: Windows console doesnt input or print Unicode (PEP 528)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27781">bpo-27781</a>: Change file system encoding on Windows to UTF-8 (PEP 529)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27731">bpo-27731</a>: Opt-out of MAX_PATH on Windows 10</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6135">bpo-6135</a>: Adds encoding and errors parameters to subprocess.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27982">bpo-27982</a>: The functions of the winsound module now accept keyword
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20366">bpo-20366</a>: Build full text search support into SQLite on Windows.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27883">bpo-27883</a>: Update sqlite to 3.14.1.0 on Windows.</p></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="id242">
<h3>Core and Builtins<a class="headerlink" href="#id242" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17596">bpo-17596</a>: Include &lt;wincrypt.h&gt; to help with Min GW building.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend(). Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Dont rely on wrapping for overflow check in
PySequence_Tuple(). Patch by Xiang Zhang.</p></li>
<li><p><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.</p></li>
<li><p><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__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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><p><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>)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16764">bpo-16764</a>: Support keyword arguments to zlib.decompress(). Patch by Xiang
Zhang.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27181">bpo-27181</a>: Add geometric_mean and harmonic_mean to statistics module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: code.interact now prints an message when exiting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6422">bpo-6422</a>: Add autorange method to timeit.Timer objects.</p></li>
<li><p><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><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27661">bpo-27661</a>: Added tzinfo keyword argument to datetime.combine.</p></li>
<li><p>In the curses module, raise an error if window.getstr() or window.instr()
is passed a negative value.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue7063">bpo-7063</a>: Remove dead code from the “array” modules slice handling. Patch
by Chuck.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue24773">bpo-24773</a>: Implemented PEP 495 (Local Time Disambiguation).</p></li>
<li><p>Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27567">bpo-27567</a>: Expose the EPOLLRDHUP and POLLRDHUP constants in the select
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Avoid signed int negation overflow in the “audioop” module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</p></li>
<li><p><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><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><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.</p></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><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27620">bpo-27620</a>: Escape key now closes Query box as cancelled.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
</ul>
</div>
<div class="section" id="id245">
<h3>Tests<a class="headerlink" href="#id245" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25805">bpo-25805</a>: Skip a test in test_pkgutil as needed that doesnt 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id246">
<h3>Windows<a class="headerlink" href="#id246" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27647">bpo-27647</a>: Update bundled Tcl/Tk to 8.6.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27610">bpo-27610</a>: Adds PEP 514 metadata to Windows installer</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enables proper Windows styles in python[w].exe manifest.</p></li>
</ul>
</div>
<div class="section" id="id247">
<h3>Build<a class="headerlink" href="#id247" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlibs
bootstrap files. Patch by Xiang Zhang</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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="id248">
<h3>Core and Builtins<a class="headerlink" href="#id248" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id249">
<h3>Library<a class="headerlink" href="#id249" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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><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><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><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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><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.</p></li>
<li><p><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.</p></li>
<li><p><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><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.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</p></li>
<li><p><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><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="id250">
<h3>Security<a class="headerlink" href="#id250" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id251">
<h3>Library<a class="headerlink" href="#id251" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item ids
containing spaces.</p></li>
<li><p><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).</p></li>
</ul>
</div>
<div class="section" id="id252">
<h3>Security<a class="headerlink" href="#id252" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</p></li>
</ul>
</div>
<div class="section" id="id253">
<h3>Library<a class="headerlink" href="#id253" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</p></li>
</ul>
</div>
<div class="section" id="id254">
<h3>IDLE<a class="headerlink" href="#id254" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27477">bpo-27477</a>: IDLE search dialogs now use ttk widgets.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: make command line “idle-test&gt; python test_help.py” work.
__file__ is relative when python is started in the files directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
<li><p><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 =&gt;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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27372">bpo-27372</a>: Test_idle no longer changes the locale.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id255">
<h3>C API<a class="headerlink" href="#id255" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id256">
<h3>Build<a class="headerlink" href="#id256" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</p></li>
<li><p><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.</p></li>
<li><p>Dont use largefile support for GNU/Hurd.</p></li>
</ul>
</div>
<div class="section" id="id257">
<h3>Tools/Demos<a class="headerlink" href="#id257" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</p></li>
</ul>
</div>
<div class="section" id="id258">
<h3>Documentation<a class="headerlink" href="#id258" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id259">
<h3>Tests<a class="headerlink" href="#id259" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id260">
<h3>Core and Builtins<a class="headerlink" href="#id260" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27140">bpo-27140</a>: Added BUILD_CONST_KEY_MAP opcode.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23275">bpo-23275</a>: Allow assigning to an empty target list in round brackets: () =
iterable.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id261">
<h3>Library<a class="headerlink" href="#id261" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27025">bpo-27025</a>: Generated names for Tkinter widgets are now more meaningful and
recognizable.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27294">bpo-27294</a>: Improved repr for Tkinter event objects.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id262">
<h3>Security<a class="headerlink" href="#id262" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</p></li>
<li><p>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
Team Oststrom.</p></li>
</ul>
</div>
<div class="section" id="id263">
<h3>Library<a class="headerlink" href="#id263" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27029">bpo-27029</a>: Removed deprecated support of universal newlines mode from
ZipFile.open().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Introduce os.PathLike and os.fspath() (part of PEP 519).</p></li>
<li><p>A new version of typing.py provides several new classes and features:
&#64;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).</p></li>
<li><p><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, dont send Content
header fields in responses that dont have a body. Patch by Susumu
Koshiba.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id264">
<h3>Security<a class="headerlink" href="#id264" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id265">
<h3>Library<a class="headerlink" href="#id265" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue21272">bpo-21272</a>: Use _sysconfigdata.py to initialize distutils.sysconfig.</p></li>
<li><p><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.</p></li>
<li><p><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><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>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 interpreters hash randomization seed.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25931">bpo-25931</a>: Dont define socketserver.Forking* names on platforms such as
Windows that do not support os.fork().</p></li>
<li><p><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><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.</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue23026">bpo-23026</a>: winreg.QueryValueEx() now return an integer for REG_QWORD type.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21271">bpo-21271</a>: New keyword only parameters in reset_mock call.</p></li>
</ul>
</div>
<div class="section" id="id266">
<h3>IDLE<a class="headerlink" href="#id266" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27239">bpo-27239</a>: idlelib.macosx.isXyzTk functions initialize as needed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27262">bpo-27262</a>: move Aqua unbinding code, which enable context menus, to
macosx.</p></li>
<li><p><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.</p></li>
<li><p><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
Storchakas update_idletasks solution to four test files. Record this
additional advice in idle_test/README.txt</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24225">bpo-24225</a>: Update idlelib/README.txt with new file names and event
handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27156">bpo-27156</a>: Remove obsolete code not used by IDLE.</p></li>
<li><p><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.</p></li>
<li><p><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 Whats New in 3.6 for more.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLEs percolator. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLEs replace dialog. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLEs search dialog. Original patch by Westley
Martínez.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for undo delegator. Patch mostly by Saimadhav
Heblikar .</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</p></li>
</ul>
</div>
<div class="section" id="id267">
<h3>Documentation<a class="headerlink" href="#id267" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id268">
<h3>Tests<a class="headerlink" href="#id268" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id269">
<h3>Windows<a class="headerlink" href="#id269" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id270">
<h3>Build<a class="headerlink" href="#id270" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id271">
<h3>Windows<a class="headerlink" href="#id271" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>)</p></li>
</ul>
</div>
<div class="section" id="id272">
<h3>C API<a class="headerlink" href="#id272" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add the PyOS_FSPath() function (part of PEP 519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26282">bpo-26282</a>: PyArg_ParseTupleAndKeywords() now supports positional-only
parameters.</p></li>
</ul>
</div>
<div class="section" id="id273">
<h3>Tools/Demos<a class="headerlink" href="#id273" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id274">
<h3>Core and Builtins<a class="headerlink" href="#id274" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for
subclasses.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</p></li>
<li><p><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!</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19711">bpo-19711</a>: Add tests for reloading namespace packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21099">bpo-21099</a>: Switch applicable importlib tests to use PEP 451 API.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: Add <span class="target" id="index-24"></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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: The <span class="target" id="index-25"></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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23601">bpo-23601</a>: Sped-up allocation of dict key objects by using Pythons small
object allocator. (Contributed by Julian Taylor.)</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, dont 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.</p></li>
<li><p><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.</p></li>
<li><p><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 dont 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that arent
subclasses of list or dict and havent implemented any pickle-related
methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or
__getstate__), can no longer be pickled. Including memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25485">bpo-25485</a>: telnetlib.Telnet is now a context manager.</p></li>
<li><p><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__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were
garbage collected.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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() doesnt
need such high-quality entropy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9232">bpo-9232</a>: Modify Pythons 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.</p></li>
<li><p><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 fvalue={x} == value=3. Patch by
Eric V. Smith.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in
zipimporter.get_data().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26288">bpo-26288</a>: Optimize PyLong_AsDouble.</p></li>
<li><p><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>)</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id275">
<h3>Library<a class="headerlink" href="#id275" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27034">bpo-27034</a>: Removed deprecated class asynchat.fifo.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfiles 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="id276">
<h3>Security<a class="headerlink" href="#id276" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id277">
<h3>Library<a class="headerlink" href="#id277" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26782">bpo-26782</a>: Add STARTUPINFO to subprocess.__all__ on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26404">bpo-26404</a>: Add context manager to socketserver. Patch by Aviv Palivoda.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26685">bpo-26685</a>: Raise OSError if closing a socket fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25609">bpo-25609</a>: Introduce contextlib.AbstractContextManager and
typing.ContextManager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26676">bpo-26676</a>: Added missing XMLPullParser to ElementTree.__all__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable()
to always return False.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</p></li>
<li><p><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>).</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18787">bpo-18787</a>: spwd.getspnam() now raises a PermissionError if the user
doesnt have privileges.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id278">
<h3>Security<a class="headerlink" href="#id278" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id279">
<h3>Library<a class="headerlink" href="#id279" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total
is None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x)
flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26482">bpo-26482</a>: Allowed pickling recursive dequeues.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre">&lt;~</span></code> is optional now in base64.a85decode() with
adobe=True. Patch by Swati Jaiswal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id280">
<h3>Security<a class="headerlink" href="#id280" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in
ssl.enum_certificates.</p></li>
</ul>
</div>
<div class="section" id="id281">
<h3>Library<a class="headerlink" href="#id281" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23992">bpo-23992</a>: multiprocessing: make MapResult not fail-fast upon exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26243">bpo-26243</a>: Support keyword arguments to zlib.compress(). Patch by Aviv
Palivoda.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25949">bpo-25949</a>: __dict__ for an OrderedDict instance is now created only when
needed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopeners redirect counter even if there is an
exception. Based on patches by Brian Brazil and Daniel Rocco.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with
non-atomic attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if its called with an
invalid pattern. Patch by Thomas Nyberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26129">bpo-26129</a>: Deprecated accepting non-integers in grp.getgrgid().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing
before $() vars.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26069">bpo-26069</a>: Remove the deprecated apis in the trace module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Dont traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in
pathlib.Path.[r]glob().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25928">bpo-25928</a>: Add Decimal.as_integer_ratio().</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25869">bpo-25869</a>: Optimized deepcopying ElementTree; it is now 20 times faster.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25761">bpo-25761</a>: Improved detecting errors in broken pickle data.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25771">bpo-25771</a>: Tweak the exception message for importlib.util.resolve_name()
when package isnt specified but necessary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptimes regexp cache now is reset after changing timezone
with time.tzset().</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplibs AUTH LOGIN support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web servers module search function to handle
exceptions from importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Dont crash on Union[str, Pattern].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of
OrderedDict.</p></li>
<li><p><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.</p></li>
<li><p>Move the imp module from a PendingDeprecationWarning to
DeprecationWarning.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25382">bpo-25382</a>: pickletools.dis() now outputs implicit memo index for the
MEMOIZE opcode.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpds SMTPChannel now correctly raises a ValueError if both
decode_data and enable_SMTPUTF8 are set to true.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when
MSVC is not installed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in
pickletools.opcodes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25287">bpo-25287</a>: Dont add crypt.METHOD_CRYPT to crypt.methods if its not
supported. Check if it is supported, it may not be supported on OpenBSD
for example.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22241">bpo-22241</a>: timezone.utc name is now plain UTC, not UTC-00:00.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24633">bpo-24633</a>: site-packages/README -&gt; README.txt.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24874">bpo-24874</a>: Improve speed of itertools.cycle() and make its pickle more
compact.</p></li>
<li><p>Fix crash in itertools.cycle.__setstate__() when the first argument wasnt
a list.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23426">bpo-23426</a>: run_setup was broken in distutils. Patch from Alexander
Belopolsky.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13938">bpo-13938</a>: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.</p></li>
<li><p><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 OConnor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8585">bpo-8585</a>: improved tests for zipimporter2. Patch from Mark Lawrence.</p></li>
<li><p><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.</p></li>
<li><p><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 cant be disabled at compile time.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: Remove deprecated inspect.getmoduleinfo function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating
ssl.SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldnt appear to be
nonblocking.</p></li>
<li><p><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.</p></li>
<li><p>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк
Коренберг.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input.
Patch by Jack OConnor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</p></li>
</ul>
</div>
<div class="section" id="id282">
<h3>IDLE<a class="headerlink" href="#id282" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
Heblikar.</p></li>
<li><p>In the IDLE-console differences section of the IDLE doc, clarify how
running with IDLE affects sys.modules and the standard streams.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 &amp; .quit). 2. In gui.run, allow
any existing interaction to terminate first.</p></li>
<li><p>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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -&gt; Custom
Highlighting. Original patch by Mark Roseman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</p></li>
<li><p><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.</p></li>
<li><p><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__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 &amp; 3 conflicts).</p></li>
</ul>
</div>
<div class="section" id="id283">
<h3>Documentation<a class="headerlink" href="#id283" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
</ul>
</div>
<div class="section" id="id284">
<h3>Tests<a class="headerlink" href="#id284" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26295">bpo-26295</a>: When using “python3 -m test testdir=TESTDIR”, regrtest
doesnt add “test.” prefix to test module names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool)
was untested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id285">
<h3>Build<a class="headerlink" href="#id285" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21277">bpo-21277</a>: Dont try to link _ctypes with a ffi_convenience library.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7s new textual SDK stub libraries.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id286">
<h3>Windows<a class="headerlink" href="#id286" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases
that dont include the contents of the include directory (that is, 1.0.2e
and later).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit
Python</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</p></li>
</ul>
</div>
<div class="section" id="id287">
<h3>Tools/Demos<a class="headerlink" href="#id287" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: dont 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config extension-suffix.</p></li>
<li><p><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>.</p></li>
</ul>
</div>
<div class="section" id="id288">
<h3>C API<a class="headerlink" href="#id288" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-5-final">
<h2>Python 3.5.5 final<a class="headerlink" href="#python-3-5-5-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-02-04</em></p>
<p>There were no new changes in version 3.5.5.</p>
</div>
<div class="section" id="python-3-5-5-release-candidate-1">
<h2>Python 3.5.5 release candidate 1<a class="headerlink" href="#python-3-5-5-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-01-23</em></p>
<div class="section" id="id289">
<h3>Security<a class="headerlink" href="#id289" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue32551">bpo-32551</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. This is considered a potential security issue, as it may lead to
privileged processes unexpectedly loading code from user controlled
directories in situations where that was not previously the case.</p>
<p>The interpreter now consistently avoids ever adding the import locations
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. (Originally reported as <a class="reference external" href="https://bugs.python.org/issue29723">bpo-29723</a> against
Python 3.6rc1, but it was missed at the time that the then upcoming Python
3.5.4 release would also be affected)</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30657">bpo-30657</a>: Fixed possible integer overflow in PyBytes_DecodeEscape,
CVE-2017-1000158. Original patch by Jay Bosamiya; rebased to Python 3 by
Miro Hrončok.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id290">
<h3>Core and Builtins<a class="headerlink" href="#id290" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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
doesnt call <code class="docutils literal notranslate"><span class="pre">PyObject_GC_UnTrack()</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id291">
<h3>Library<a class="headerlink" href="#id291" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32072">bpo-32072</a>: Fixed issues with binary plists:</p>
<ul>
<li><p>Fixed saving bytearrays.</p></li>
<li><p>Identical objects will be saved only once.</p></li>
<li><p>Equal references will be load as identical objects.</p></li>
<li><p>Added support for saving and loading recursive data structures.</p></li>
</ul>
</li>
<li><p><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>
</ul>
</div>
</div>
<div class="section" id="python-3-5-4-final">
<h2>Python 3.5.4 final<a class="headerlink" href="#python-3-5-4-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-08-07</em></p>
<div class="section" id="id292">
<h3>Library<a class="headerlink" href="#id292" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>
</ul>
</div>
</div>
<div class="section" id="python-3-5-4-release-candidate-1">
<h2>Python 3.5.4 release candidate 1<a class="headerlink" href="#python-3-5-4-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-07-23</em></p>
<div class="section" id="id293">
<h3>Security<a class="headerlink" href="#id293" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.0s 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) doesnt
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>.</p></li>
<li><p><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#&#64;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">&#64;evil.com</span></code> as the host in an
authentication (<code class="docutils literal notranslate"><span class="pre">login&#64;host</span></code>).</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id294">
<h3>Core and Builtins<a class="headerlink" href="#id294" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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><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><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29600">bpo-29600</a>: Fix wrapping coroutine return values in StopIteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29537">bpo-29537</a>: Restore runtime compatibility with bytecode files generated by
CPython 3.5.0 to 3.5.2, and adjust the eval loop to avoid the problems
that could be caused by the malformed variant of the
BUILD_MAP_UNPACK_WITH_CALL opcode that they may contain. Patch by Petr
Viktorin, Serhiy Storchaka, and Nick Coghlan.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29347">bpo-29347</a>: Fixed possibly dereferencing undefined pointers when creating
weakref objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29438">bpo-29438</a>: Fixed use-after-free problem in key sharing dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29319">bpo-29319</a>: Prevent RunMainFromImporter overwriting sys.path[0].</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id295">
<h3>Library<a class="headerlink" href="#id295" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue30961">bpo-30961</a>: Fix decrementing a borrowed reference in tracemalloc.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue29854">bpo-29854</a>: Fix segfault in readline when using readlines history-size
option. Patch by Nir Soffer.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue29169">bpo-29169</a>: Update zlib to 1.2.11.</p></li>
<li><p><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><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><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>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24484">bpo-24484</a>: Avoid race condition in multiprocessing cleanup.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30508">bpo-30508</a>: Dont log exceptions if Task/Future “cancel()” method was
called.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27585">bpo-27585</a>: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
Sornay.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30378">bpo-30378</a>: Fix the problem that logging.handlers.SysLogHandler cannot
handle IPv6 addresses.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29990">bpo-29990</a>: Fix range checking in GB18030 decoder. Original patch by Ma
Lin.</p></li>
<li><p><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>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30243">bpo-30243</a>: Removed the __init__ methods of _jsons scanner and encoder.
Misusing them could cause memory leaks or crashes. Now scanner and
encoder objects are completely initialized in the __new__ methods.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30205">bpo-30205</a>: Fix getsockname() for unbound AF_UNIX sockets on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30070">bpo-30070</a>: Fixed leaks and crashes in errors handling in the parser
module.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30068">bpo-30068</a>: _io._IOBase.readlines will check if its closed first when hint
is present.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29998">bpo-29998</a>: Pickling and copying ImportError now preserves name and path
attributes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29884">bpo-29884</a>: faulthandler: Restore the old sigaltstack during teardown.
Patch by Christophe Zeitouny.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive buffered file-like objects.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29704">bpo-29704</a>: asyncio.subprocess.SubprocessStreamProtocol no longer closes
before all pipes are closed.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29376">bpo-29376</a>: Fix assertion error in threading._DummyThread.is_alive().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28961">bpo-28961</a>: Fix unittest.mock._Call helper: dont ignore the name parameter
anymore. Patch written by Jiajun Huang.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29416">bpo-29416</a>: Prevent infinite loop in pathlib.Path.mkdir</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28735">bpo-28735</a>: Fixed the comparison of mock.MagickMock with mock.ANY.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29011">bpo-29011</a>: Fix an important omission by adding Deque to the typing module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29219">bpo-29219</a>: Fixed infinite recursion in the repr of uninitialized
ctypes.CDLL instances.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id296">
<h3>Documentation<a class="headerlink" href="#id296" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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><a class="reference external" href="https://bugs.python.org/issue26985">bpo-26985</a>: Add missing info of code object in inspect documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28929">bpo-28929</a>: Link the documentation to its source file on GitHub.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29349">bpo-29349</a>: Fix Python 2 syntax in code for building the documentation.</p></li>
</ul>
</div>
<div class="section" id="id297">
<h3>Tests<a class="headerlink" href="#id297" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue30822">bpo-30822</a>: Fix regrtest command line parser to allow passing -u
extralargefile to run test_zipfile64.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30383">bpo-30383</a>: regrtest: Enhance regrtest and backport features from the
master branch.</p>
<p>Add options: coverage, testdir, list-tests (list test files, dont
run them), list-cases (list test identifiers, dont run them,
<a class="reference external" href="https://bugs.python.org/issue30523">bpo-30523</a>), matchfile (load a list of test filters from a text
file, <a class="reference external" href="https://bugs.python.org/issue30540">bpo-30540</a>), slowest (alias to slow).</p>
<p>Enhance output: add timestamp, test result, currently running tests,
“Tests result: xxx” summary with total duration, etc.</p>
<p>Fix reference leak hunting in regrtest, huntrleaks: regrtest now warms
up caches, create explicitly all internal singletons which are created on
demand to prevent false positives when checking for reference leaks.
(<a class="reference external" href="https://bugs.python.org/issue30675">bpo-30675</a>).</p>
</li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 doesnt exist) now will be assigned to the target of the “as”
clause, if there is one.</p></li>
<li><p><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)</p></li>
</ul>
</div>
<div class="section" id="id298">
<h3>Build<a class="headerlink" href="#id298" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23404">bpo-23404</a>: Dont 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>.</p></li>
<li><p><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> didnt work.</p></li>
</ul>
</div>
<div class="section" id="id299">
<h3>Windows<a class="headerlink" href="#id299" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30687">bpo-30687</a>: Locate msbuild.exe on Windows when building rather than
vcvarsall.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29392">bpo-29392</a>: Prevent crash when passing invalid arguments into msvcrt
module.</p></li>
</ul>
</div>
<div class="section" id="id300">
<h3>C API<a class="headerlink" href="#id300" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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 set to the value between 0x03050400 and 0x03060000 (not
including) or 0x03060100 or higher.</p></li>
<li><p><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 &lt; 3.3 when
PY_SSIZE_T_CLEAN is defined.</p></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="id301">
<h3>Core and Builtins<a class="headerlink" href="#id301" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29073">bpo-29073</a>: bytearray formatting no longer truncates on first null byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include &lt;sys/random.h&gt; if it does not exist.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate
form.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
build.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and
frozensets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with
invalid keyword args.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimports compile_source(). zipimport
should use the same optimization level as the interpreter.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename
(patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28189">bpo-28189</a>: dictitems_contains no longer swallows compare errors. (Patch by
Xiang Zhang)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generators frames backreference to the
generator to prevent crashes in frame.clear().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26020">bpo-26020</a>: set literal evaluation order did not match documented
behaviour.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend(). Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Dont rely on wrapping for overflow check in
PySequence_Tuple(). Patch by Xiang Zhang.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</p></li>
</ul>
</div>
<div class="section" id="id302">
<h3>Library<a class="headerlink" href="#id302" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when pass a sequence that
doesnt own its elements as limits.</p></li>
<li><p><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in cursess addch() with ncurses6.</p></li>
<li><p><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><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><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><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 months calendar. Patch by Xiang
Zhang.</p></li>
<li><p><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><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><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><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><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><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><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><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><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>Fix possible integer overflows and crashes in the mmap module with unusual
usage patterns.</p></li>
<li><p><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><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 dont call itermonthdates() which can cause datetime.date
under/overflow.</p>
</li>
<li><p><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p></li>
<li><p>Fix UnboundLocalError in socket._sendfile_use_sendfile.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</p></li>
<li><p><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><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><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Dont pass str(_charset) to MIMEText.set_payload(). Patch by
Claude Paroz.</p></li>
<li><p><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>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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl modules parsing of GEN_RID subject alternative name
fields in X.509 certs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl modules default cipher list to counter
measure sweet32 attack (CVE-2016-2183).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl modules default cipher list.
(Required OpenSSL 1.1.0 or LibreSSL).</p></li>
<li><p><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>Remove support for passing a file descriptor to os.access. It never worked
but previously didnt raise.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</p></li>
<li><p><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><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><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><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><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>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><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><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><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><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><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>In the curses module, raise an error if window.getstr() or window.instr()
is passed a negative value.</p></li>
<li><p><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</p></li>
<li><p><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><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><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><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><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><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><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>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><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><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><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><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</p></li>
<li><p><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><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="id303">
<h3>Security<a class="headerlink" href="#id303" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id304">
<h3>Library<a class="headerlink" href="#id304" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item ids
containing spaces.</p></li>
</ul>
</div>
<div class="section" id="id305">
<h3>Security<a class="headerlink" href="#id305" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</p></li>
</ul>
</div>
<div class="section" id="id306">
<h3>Library<a class="headerlink" href="#id306" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</p></li>
<li><p><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><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isnt properly supported. Patch by
Seth Michael Larson.</p></li>
<li><p><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transports FD is used with add_reader,
add_writer, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
Марк.</p></li>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Dont configure the number of workers for default threadpool
executor. Initial patch by Hans Lawrenz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin
Mayfield.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</p></li>
<li><p><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.</p></li>
<li><p><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)</p></li>
</ul>
</div>
<div class="section" id="id307">
<h3>IDLE<a class="headerlink" href="#id307" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from flashing gui widgets on the screen.</p></li>
<li><p>Add version to title of IDLE help window.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id308">
<h3>C API<a class="headerlink" href="#id308" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id309">
<h3>Documentation<a class="headerlink" href="#id309" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</p></li>
</ul>
</div>
<div class="section" id="id310">
<h3>Tests<a class="headerlink" href="#id310" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id311">
<h3>Tools/Demos<a class="headerlink" href="#id311" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</p></li>
</ul>
</div>
<div class="section" id="id312">
<h3>Windows<a class="headerlink" href="#id312" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enabled proper Windows styles in python[w].exe manifest.</p></li>
</ul>
</div>
<div class="section" id="id313">
<h3>Build<a class="headerlink" href="#id313" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename with-optimiations to enable-optimizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</p></li>
<li><p><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
with-optimizations is enabled. Also improve our ability to find the
llvm-profdata tool on MacOS and some Linuxes.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Add the with-optimizations configure flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlibs
bootstrap files. Patch by Xiang Zhang</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing getentropy declaration warning on macOS.
Patch by Gareth Rees.</p></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="id314">
<h3>Core and Builtins<a class="headerlink" href="#id314" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</p></li>
</ul>
</div>
<div class="section" id="id315">
<h3>Tests<a class="headerlink" href="#id315" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26867">bpo-26867</a>: Ubuntus openssl OP_NO_SSLv3 is forced on by default; fix test.</p></li>
</ul>
</div>
<div class="section" id="id316">
<h3>IDLE<a class="headerlink" href="#id316" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id317">
<h3>Core and Builtins<a class="headerlink" href="#id317" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for
subclasses.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</p></li>
<li><p><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!</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</p></li>
<li><p><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 dont 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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, dont 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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that arent
subclasses of list or dict and havent implemented any pickle-related
methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or
__getstate__), can no longer be pickled. Including memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</p></li>
<li><p><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__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in
zipimporter.get_data().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id318">
<h3>Security<a class="headerlink" href="#id318" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</p></li>
<li><p>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
Team Oststrom</p></li>
</ul>
</div>
<div class="section" id="id319">
<h3>Library<a class="headerlink" href="#id319" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>A new version of typing.py provides several new classes and features:
&#64;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).</p></li>
<li><p><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, dont send Content
header fields in responses that dont have a body. Patch by Susumu
Koshiba.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id320">
<h3>Security<a class="headerlink" href="#id320" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id321">
<h3>Library<a class="headerlink" href="#id321" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfiles 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="id322">
<h3>Security<a class="headerlink" href="#id322" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id323">
<h3>Library<a class="headerlink" href="#id323" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable()
to always return False.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id324">
<h3>Security<a class="headerlink" href="#id324" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id325">
<h3>Library<a class="headerlink" href="#id325" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total
is None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x)
flag.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre">&lt;~</span></code> is optional now in base64.a85decode() with
adobe=True. Patch by Swati Jaiswal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id326">
<h3>Security<a class="headerlink" href="#id326" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in
ssl.enum_certificates.</p></li>
</ul>
</div>
<div class="section" id="id327">
<h3>Library<a class="headerlink" href="#id327" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopeners redirect counter even if there is an
exception. Based on patches by Brian Brazil and Daniel Rocco.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with
non-atomic attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if its called with an
invalid pattern. Patch by Thomas Nyberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17633">bpo-17633</a>: Improve zipimports support for namespace packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing
before $() vars.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Dont traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in
pathlib.Path.[r]glob().</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptimes regexp cache now is reset after changing timezone
with time.tzset().</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</p></li>
<li><p><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.</p></li>
<li><p>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк
Коренберг.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input.
Patch by Jack OConnor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22970">bpo-22970</a>: asyncio: Fix inconsistency cancelling Condition.wait. Patch by
David Coles.</p></li>
</ul>
</div>
<div class="section" id="id328">
<h3>IDLE<a class="headerlink" href="#id328" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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
Storchakas update_idletasks solution to four test files. Record this
additional advice in idle_test/README.txt</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLEs percolator. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLEs replace dialog. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLEs search dialog. Original patch by Westley
Martínez.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for IDLEs undo delegator. Original patch by Saimadhav
Heblikar .</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
Heblikar.</p></li>
<li><p>In the IDLE-console differences section of the IDLE doc, clarify how
running with IDLE affects sys.modules and the standard streams.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id329">
<h3>Documentation<a class="headerlink" href="#id329" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
</ul>
</div>
<div class="section" id="id330">
<h3>Tests<a class="headerlink" href="#id330" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool)
was untested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id331">
<h3>Build<a class="headerlink" href="#id331" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7s new textual SDK stub libraries.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id332">
<h3>Windows<a class="headerlink" href="#id332" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases
that dont include the contents of the include directory (that is, 1.0.2e
and later).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit
Python</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</p></li>
</ul>
</div>
<div class="section" id="id333">
<h3>Tools/Demos<a class="headerlink" href="#id333" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: dont 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</p></li>
</ul>
</div>
<div class="section" id="id334">
<h3>Windows<a class="headerlink" href="#id334" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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>)</p></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="id335">
<h3>Core and Builtins<a class="headerlink" href="#id335" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
</ul>
</div>
<div class="section" id="id336">
<h3>Windows<a class="headerlink" href="#id336" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id337">
<h3>Core and Builtins<a class="headerlink" href="#id337" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were
garbage collected.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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() doesnt
need such high-quality entropy.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id338">
<h3>Library<a class="headerlink" href="#id338" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25590">bpo-25590</a>: In the Readline completer, only call getattr() once per
attribute.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</p></li>
<li><p><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>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplibs AUTH LOGIN support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web servers module search function to handle
exceptions from importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Dont crash on Union[str, Pattern].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of
OrderedDict.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpds SMTPChannel now correctly raises a ValueError if both
decode_data and enable_SMTPUTF8 are set to true.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when
MSVC is not installed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in
pickletools.opcodes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24483">bpo-24483</a>: C implementation of functools.lru_cache() now calculates keys
hash only once.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22609">bpo-22609</a>: Constructor of collections.UserDict now accepts the self
keyword argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25111">bpo-25111</a>: Fixed comparison of traceback.FrameSummary.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>Prevent overflow in _Unpickler_Read.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25092">bpo-25092</a>: Fix datetime.strftime() failure when errno was already set to
EINVAL.</p></li>
<li><p><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). Its 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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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
doesnt return a byte string. The encoder of the IDNA codec is now called
directly instead of calling the encode() method of the string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25060">bpo-25060</a>: Correctly compute stack usage of the BUILD_MAP opcode.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating
ssl.SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldnt appear to be
nonblocking.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21112">bpo-21112</a>: Fix regression in unittest.expectedFailure on subclasses. Patch
from Berker Peksag.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24774">bpo-24774</a>: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21159">bpo-21159</a>: Improve message in
configparser.InterpolationMissingOptionError. Patch from Łukasz Langa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20362">bpo-20362</a>: Honour TestCase.longMessage correctly in assertRegex. Patch
from Ilia Kurenkov.</p></li>
<li><p><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.</p></li>
<li><p>asyncio: ensure_future() now accepts awaitable objects.</p></li>
</ul>
</div>
<div class="section" id="id339">
<h3>IDLE<a class="headerlink" href="#id339" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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 &amp; .quit). 2. In gui.run, allow
any existing interaction to terminate first.</p></li>
<li><p>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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -&gt; Custom
Highlighting. Original patch by Mark Roseman.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</p></li>
<li><p><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.</p></li>
<li><p><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__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 &amp; 3 conflicts).</p></li>
</ul>
</div>
<div class="section" id="id340">
<h3>Documentation<a class="headerlink" href="#id340" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24808">bpo-24808</a>: Update the types of some PyTypeObject fields. Patch by Joseph
Weston.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22812">bpo-22812</a>: Fix unittest discovery examples. Patch from Pam McANulty.</p></li>
</ul>
</div>
<div class="section" id="id341">
<h3>Tests<a class="headerlink" href="#id341" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23919">bpo-23919</a>: Prevents assert dialogs appearing in the test suite.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id342">
<h3>Build<a class="headerlink" href="#id342" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24910">bpo-24910</a>: Windows MSIs now have unique display names.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id343">
<h3>Windows<a class="headerlink" href="#id343" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25450">bpo-25450</a>: Updates shortcuts to start Python in installation directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25164">bpo-25164</a>: Changes default all-users install directory to match per-user
directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25143">bpo-25143</a>: Improves installer error messages for unsupported platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25163">bpo-25163</a>: Display correct directory in installer when using non-default
settings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25361">bpo-25361</a>: Disables use of SSE2 instructions in Windows 32-bit build</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25165">bpo-25165</a>: Windows uninstallation should not remove launcher if other
versions remain</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25112">bpo-25112</a>: py.exe launcher is missing icons</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25102">bpo-25102</a>: Windows installer does not precompile for -O or -OO.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25091">bpo-25091</a>: Increases font size of the installer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25126">bpo-25126</a>: Clarifies that the non-web installer will download some
components.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25213">bpo-25213</a>: Restores requestedExecutionLevel to manifest to disable UAC
virtualization.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</p></li>
</ul>
</div>
<div class="section" id="id344">
<h3>Tools/Demos<a class="headerlink" href="#id344" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config extension-suffix.</p></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="id345">
<h3>Build<a class="headerlink" href="#id345" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25071">bpo-25071</a>: Windows installer should not require TargetDir parameter when
installing quietly.</p></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="id346">
<h3>Library<a class="headerlink" href="#id346" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25029">bpo-25029</a>: Fixes MemoryError in test_strptime.</p></li>
</ul>
</div>
<div class="section" id="id347">
<h3>Build<a class="headerlink" href="#id347" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id348">
<h3>Core and Builtins<a class="headerlink" href="#id348" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24912">bpo-24912</a>: Prevent __class__ assignment to immutable built-in objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24975">bpo-24975</a>: Fix AST compilation for PEP 448 syntax.</p></li>
</ul>
</div>
<div class="section" id="id349">
<h3>Library<a class="headerlink" href="#id349" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24917">bpo-24917</a>: time_strftime() buffer over-read.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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="id350">
<h3>Core and Builtins<a class="headerlink" href="#id350" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id351">
<h3>Library<a class="headerlink" href="#id351" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24847">bpo-24847</a>: Removes vcruntime140.dll dependency from Tcl/Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24839">bpo-24839</a>: platform._syscmd_ver raises DeprecationWarning</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24867">bpo-24867</a>: Fix Task.get_stack() for async def coroutines</p></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="id352">
<h3>Core and Builtins<a class="headerlink" href="#id352" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24667">bpo-24667</a>: Resize odict in all cases that the underlying dict resizes.</p></li>
</ul>
</div>
<div class="section" id="id353">
<h3>Library<a class="headerlink" href="#id353" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24634">bpo-24634</a>: Importing uuid should not try to load libc on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24798">bpo-24798</a>: _msvccompiler.py doesnt properly support manifests</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4395">bpo-4395</a>: Better testing and documentation of binary operators. Patch by
Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: Update typing.py from GitHub repo.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23888">bpo-23888</a>: Handle fractional time in cookie expiry. Patch by ssh.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22932">bpo-22932</a>: Fix timezones in email.utils.formatdate. Patch from Dmitry
Shachnev.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23319">bpo-23319</a>: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
written by Matthieu Gautier.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17527">bpo-17527</a>: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24791">bpo-24791</a>: Fix grammar regression for call syntax: g(*a or b).</p></li>
</ul>
</div>
<div class="section" id="id354">
<h3>IDLE<a class="headerlink" href="#id354" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13884">bpo-13884</a>: Idle menus. Remove tearoff lines. Patch by Roger Serwy.</p></li>
</ul>
</div>
<div class="section" id="id355">
<h3>Documentation<a class="headerlink" href="#id355" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20769">bpo-20769</a>: Improve reload() docs. Patch by Dorian Pula.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23589">bpo-23589</a>: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id356">
<h3>Tests<a class="headerlink" href="#id356" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id357">
<h3>Core and Builtins<a class="headerlink" href="#id357" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24569">bpo-24569</a>: Make PEP 448 dictionary evaluation more consistent.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24583">bpo-24583</a>: Fix crash when set is mutated while being updated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24407">bpo-24407</a>: Fix crash when dict is mutated while being updated.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24687">bpo-24687</a>: Plug refleak on SyntaxError in function parameters annotations.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id358">
<h3>Library<a class="headerlink" href="#id358" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24683">bpo-24683</a>: Fixed crashes in _json functions called with arguments of
inappropriate type.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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 shouldnt print a traceback header like described
in the documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24620">bpo-24620</a>: Random.setstate() now validates the value of state last
element.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22153">bpo-22153</a>: Improve unittest docs. Patch from Martin Panter and evilzero.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24206">bpo-24206</a>: Fixed __eq__ and __ne__ methods of inspect classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24631">bpo-24631</a>: Fixed regression in the timeit module with multiline setup.</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24608">bpo-24608</a>: chunk.Chunk.read() now always returns bytes, not str.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18684">bpo-18684</a>: Fixed reading out of the buffer in the re module.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15014">bpo-15014</a>: SMTP.auth() and SMTP.login() now support RFC 4954s optional
initial-response argument to the SMTP AUTH command.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24669">bpo-24669</a>: Fix inspect.getsource() for async def functions. Patch by Kai
Groner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24688">bpo-24688</a>: ast.get_docstring() for async def functions.</p></li>
</ul>
</div>
<div class="section" id="id359">
<h3>Build<a class="headerlink" href="#id359" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id360">
<h3>Core and Builtins<a class="headerlink" href="#id360" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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 its buffer
now is always null-terminated.</p></li>
<li><p>Upgrade to Unicode 8.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24345">bpo-24345</a>: Add Py_tp_finalize slot for the stable ABI.</p></li>
<li><p><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, its
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
coroutinesuse inspect.isawaitable instead.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19235">bpo-19235</a>: Add new RecursionError exception. Patch by Georg Brandl.</p></li>
</ul>
</div>
<div class="section" id="id361">
<h3>Library<a class="headerlink" href="#id361" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24514">bpo-24514</a>: tarfile now tolerates number fields consisting of only
whitespace.</p></li>
<li><p><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. Parsers doctype() now is not called if targets doctype() is
called. Based on patch by Martin Panter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24522">bpo-24522</a>: Fix possible integer overflow in json accelerator module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24489">bpo-24489</a>: ensure a previously set C errno doesnt disturb cmath.polar().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24408">bpo-24408</a>: Fixed AttributeError in measure() and metrics() methods of
tkinter.Font.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24347">bpo-24347</a>: Set KeyError if PyDict_GetItemWithError returns NULL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24348">bpo-24348</a>: Drop superfluous incref/decref.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24359">bpo-24359</a>: Check for changed OrderedDict size during iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24368">bpo-24368</a>: Support keyword arguments in OrderedDict methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24362">bpo-24362</a>: Simplify the C OrderedDict fast nodes resize logic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24377">bpo-24377</a>: Fix a ref leak in OrderedDict.__repr__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24369">bpo-24369</a>: Defend against key-changes during iteration.</p></li>
</ul>
</div>
<div class="section" id="id362">
<h3>Tests<a class="headerlink" href="#id362" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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)</p></li>
</ul>
</div>
<div class="section" id="id363">
<h3>Documentation<a class="headerlink" href="#id363" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id364">
<h3>Build<a class="headerlink" href="#id364" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></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="id365">
<h3>Core and Builtins<a class="headerlink" href="#id365" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24328">bpo-24328</a>: Fix importing one character extension modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11205">bpo-11205</a>: In dictionary displays, evaluate the key before the value.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id366">
<h3>Library<a class="headerlink" href="#id366" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23247">bpo-23247</a>: Fix a crash in the StreamWriter.reset() of CJK codecs.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16991">bpo-16991</a>: Add a C implementation of OrderedDict.</p></li>
<li><p><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.</p></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="id367">
<h3>Core and Builtins<a class="headerlink" href="#id367" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24276">bpo-24276</a>: Fixed optimization of property descriptor getter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24268">bpo-24268</a>: PEP 489: Multi-phase extension module initialization. Patch by
Petr Viktorin.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed system error in the comparison of faked
types.SimpleNamespace.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22939">bpo-22939</a>: Fixed integer overflow in iterator object. Patch by Clement
Rouault.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24102">bpo-24102</a>: Fixed exception type checking in standard error handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15027">bpo-15027</a>: The UTF-32 encoder is now 3x to 7x faster.</p></li>
<li><p><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.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2292">bpo-2292</a>: PEP 448: Additional Unpacking Generalizations.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23910">bpo-23910</a>: Optimize property() getter calls. Patch by Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23911">bpo-23911</a>: Move path-based importlib bootstrap code to a separate frozen
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24192">bpo-24192</a>: Fix namespace package imports.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24022">bpo-24022</a>: Fix tokenizer crash when processing undecodable source code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9951">bpo-9951</a>: Added a hex() method to bytes, bytearray, and memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22906">bpo-22906</a>: PEP 479: Change StopIteration handling inside generators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24017">bpo-24017</a>: PEP 492: Coroutines with async and await syntax.</p></li>
</ul>
</div>
<div class="section" id="id368">
<h3>Library<a class="headerlink" href="#id368" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: PEP 484: Add the typing module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed segmentation fault in sqlite3.Row constructor with faked
cursor type.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9858">bpo-9858</a>: Add missing method stubs to _io.RawIOBase. Patch by Laura
Rupprecht.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23780">bpo-23780</a>: Improved error message in os.path.join() with single argument.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24091">bpo-24091</a>: Fixed various crashes in corner cases in C implementation of
ElementTree.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13866">bpo-13866</a>: <em>quote_via</em> argument added to urllib.parse.urlencode.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16314">bpo-16314</a>: Added support for the LZMA compression in distutils.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21804">bpo-21804</a>: poplib now supports RFC 6856 (UTF8).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18682">bpo-18682</a>: Optimized pprint functions for builtin scalar types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22027">bpo-22027</a>: smtplib now supports RFC 6531 (SMTPUTF8).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23488">bpo-23488</a>: Random generator objects now consume 2x less memory on 64-bit.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24064">bpo-24064</a>: Property() docstrings are now writeable. (Patch by Berker
Peksag.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22681">bpo-22681</a>: Added support for the koi8_t encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22682">bpo-22682</a>: Added support for the kz1048 encoding.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24155">bpo-24155</a>: optimize heapq.heapify() for better cache performance when
heapifying large lists.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23880">bpo-23880</a>: Tkinters getint() and getdouble() now support Tcl_Obj.
Tkinters getdouble() now supports any numbers (in particular int).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24094">bpo-24094</a>: Fix possible crash in json.encode with poorly behaved dict
subclasses.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23917">bpo-23917</a>: Fall back to sequential compilation when ProcessPoolExecutor
doesnt exist. Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23008">bpo-23008</a>: Fixed resolving attributes with boolean value is False in
pydoc.</p></li>
<li><p>Fix asyncio issue 235: LifoQueue and PriorityQueues put didnt increment
unfinished tasks (this bug was introduced when JoinableQueue was merged
with Queue).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>asyncio: New event loop APIs: set_task_factory() and get_task_factory().</p></li>
<li><p>asyncio: async() function is deprecated in favour of ensure_future().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24179">bpo-24179</a>: Support async for for asyncio.StreamReader. Contributed by
Yury Selivanov.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22547">bpo-22547</a>: Implement informative __repr__ for inspect.BoundArguments.
Contributed by Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24190">bpo-24190</a>: Implement inspect.BoundArgument.apply_defaults() method.
Contributed by Yury Selivanov.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24248">bpo-24248</a>: Deprecate inspect.Signature.from_function() and
inspect.Signature.from_builtin().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24298">bpo-24298</a>: Fix inspect.signature() to correctly unwrap wrappers around
bound methods.</p></li>
</ul>
</div>
<div class="section" id="id369">
<h3>IDLE<a class="headerlink" href="#id369" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id370">
<h3>Tests<a class="headerlink" href="#id370" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9517">bpo-9517</a>: Move script_helper into the support package. Patch by Christie
Wilson.</p></li>
</ul>
</div>
<div class="section" id="id371">
<h3>Documentation<a class="headerlink" href="#id371" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24029">bpo-24029</a>: Document the name binding behavior for submodule imports.</p></li>
<li><p><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</p></li>
</ul>
</div>
<div class="section" id="id372">
<h3>Tools/Demos<a class="headerlink" href="#id372" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24000">bpo-24000</a>: Improved Argument Clinics mapping of converters to legacy
“format units”. Updated the documentation to match.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23330">bpo-23330</a>: h2py now supports arbitrary filenames in #include.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24031">bpo-24031</a>: make patchcheck now supports git checkouts, too.</p></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="id373">
<h3>Core and Builtins<a class="headerlink" href="#id373" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23731">bpo-23731</a>: Implement PEP 488: removal of .pyo files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23726">bpo-23726</a>: Dont enable GC for user subclasses of non-GC types that dont
add any new fields. Patch by Eugene Toder.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22977">bpo-22977</a>: Fixed formatting Windows error messages on Wine. Patch by
Martin Panter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21354">bpo-21354</a>: PyCFunction_New function is exposed by python DLL again.</p></li>
</ul>
</div>
<div class="section" id="id374">
<h3>Library<a class="headerlink" href="#id374" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16914">bpo-16914</a>: new debuglevel 2 in smtplib adds timestamps to debug output.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4254">bpo-4254</a>: Adds _curses.update_lines_cols(). Patch by Arnon Yaari</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19933">bpo-19933</a>: Provide default argument for ndigits in round. Patch by
Vajrasky Kok.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24521">bpo-24521</a>: Fix possible integer overflows in the pickle module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22931">bpo-22931</a>: Allow [ and ] in cookie values.</p></li>
<li><p>The keywords attribute of functools.partial is now always a dictionary.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21116">bpo-21116</a>: Avoid blowing memory when allocating a multiprocessing shared
array thats larger than 50% of the available RAM. Patch by Médéric
Boquien.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23464">bpo-23464</a>: Removed deprecated asyncio JoinableQueue.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21859">bpo-21859</a>: Added Python implementation of io.FileIO.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10590">bpo-10590</a>: xml.sax.parseString() now supports string argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23338">bpo-23338</a>: Fixed formatting ctypes error messages on Cygwin. Patch by
Makoto Kato.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15582">bpo-15582</a>: inspect.getdoc() now follows inheritance chains.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2175">bpo-2175</a>: SAX parsers now support a character stream of InputSource
object.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 dont 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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21526">bpo-21526</a>: Tkinter now supports new boolean type in Tcl 8.5.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 &lt; 4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13583">bpo-13583</a>: sqlite3.Row now supports slice indexing.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23704">bpo-23704</a>: collections.deque() objects now support __add__, __mul__, and
__imul__().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23171">bpo-23171</a>: csv.Writer.writerow() now supports arbitrary iterables.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23310">bpo-23310</a>: Fix MagicMocks initializer to work with __methods__, just like
configure_mock(). Patch by Kasia Jachim.</p></li>
</ul>
</div>
<div class="section" id="id375">
<h3>Build<a class="headerlink" href="#id375" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23501">bpo-23501</a>: Argument Clinic now generates code into separate files by
default.</p></li>
</ul>
</div>
<div class="section" id="id376">
<h3>Tests<a class="headerlink" href="#id376" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id377">
<h3>Tools/Demos<a class="headerlink" href="#id377" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23935">bpo-23935</a>: Argument Clinics understanding of format units accepting
bytes, bytearrays, and buffers is now consistent with both the
documentation and the implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23944">bpo-23944</a>: Argument Clinic now wraps long impl prototypes at column 78.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20586">bpo-20586</a>: Argument Clinic now ensures that functions without docstrings
have signatures.</p></li>
<li><p><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.</p></li>
<li><p><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: its only generated once, even
if Argument Clinic processes the same symbol multiple times, and its
emitted at the end of all processing rather than immediately after the
first use.</p></li>
</ul>
</div>
<div class="section" id="id378">
<h3>C API<a class="headerlink" href="#id378" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23998">bpo-23998</a>: PyImport_ReInitLock() now checks for lock allocation error</p></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="id379">
<h3>Core and Builtins<a class="headerlink" href="#id379" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23753">bpo-23753</a>: Python doesnt support anymore platforms without stat() or
fstat(), these functions are always required.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23681">bpo-23681</a>: The -b option now affects comparisons of bytes with int.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23632">bpo-23632</a>: Memoryviews now allow tuple indexing (including for
multi-dimensional memoryviews).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23192">bpo-23192</a>: Fixed generator lambdas. Patch by Bruno Cauet.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23629">bpo-23629</a>: Fix the default __sizeof__ implementation for variable-sized
objects.</p></li>
</ul>
</div>
<div class="section" id="id380">
<h3>Library<a class="headerlink" href="#id380" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23775">bpo-23775</a>: pprint() of OrderedDict now outputs the same representation as
repr().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23765">bpo-23765</a>: Removed IsBadStringPtr calls in ctypes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22364">bpo-22364</a>: Improved some re error messages using regex for hints.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23742">bpo-23742</a>: ntpath.expandvars() no longer loses unbalanced single quotes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21717">bpo-21717</a>: The zipfile.ZipFile.open function now supports x (exclusive
creation) mode.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23502">bpo-23502</a>: The pprint module now supports mapping proxies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17530">bpo-17530</a>: pprint now wraps long bytes objects and bytearrays.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23252">bpo-23252</a>: Added support for writing ZIP files to unseekable streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23647">bpo-23647</a>: Increase imaplibs MAXLINE to accommodate modern mailbox sizes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18983">bpo-18983</a>: Allow selection of output units in timeit. Patch by Julian
Gindi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23631">bpo-23631</a>: Fix traceback.format_list when a traceback has been mutated.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2052">bpo-2052</a>: Add charset parameter to HtmlDiff.make_file().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23668">bpo-23668</a>: Support os.truncate and os.ftruncate on Windows.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23581">bpo-23581</a>: Add matmul support to MagicMock. Patch by Håkan Lövdahl.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id381">
<h3>Build<a class="headerlink" href="#id381" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23585">bpo-23585</a>: make patchcheck will ensure the interpreter is built.</p></li>
</ul>
</div>
<div class="section" id="id382">
<h3>Tests<a class="headerlink" href="#id382" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23583">bpo-23583</a>: Added tests for standard IO streams in IDLE.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22289">bpo-22289</a>: Prevent test_urllib2net failures due to ftp connection timeout.</p></li>
</ul>
</div>
<div class="section" id="id383">
<h3>Tools/Demos<a class="headerlink" href="#id383" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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).</p></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="id384">
<h3>Core and Builtins<a class="headerlink" href="#id384" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id385">
<h3>Library<a class="headerlink" href="#id385" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><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><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><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><a class="reference external" href="https://bugs.python.org/issue23476">bpo-23476</a>: In the ssl module, enable OpenSSLs X509_V_FLAG_TRUSTED_FIRST
flag on certificate stores when it is available.</p></li>
<li><p><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 hasnt been closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23504">bpo-23504</a>: Added an __all__ to the types module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23563">bpo-23563</a>: Optimized utility functions in urllib.parse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7830">bpo-7830</a>: Flatten nested functools.partial.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20204">bpo-20204</a>: Added the __module__ attribute to _tkinter classes.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue23481">bpo-23481</a>: Remove RC4 from the SSL modules default cipher list.</p></li>
<li><p><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><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><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><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><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><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><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><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><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><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><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><a class="reference external" href="https://bugs.python.org/issue23367">bpo-23367</a>: Fix possible overflows in the unicodedata module.</p></li>
<li><p><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>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><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><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="id386">
<h3>Build<a class="headerlink" href="#id386" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id387">
<h3>C API<a class="headerlink" href="#id387" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id388">
<h3>Windows<a class="headerlink" href="#id388" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23437">bpo-23437</a>: Make user scripts directory versioned on Windows. Patch by Paul
Moore.</p></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="id389">
<h3>Core and Builtins<a class="headerlink" href="#id389" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23285">bpo-23285</a>: PEP 475 - EINTR handling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22735">bpo-22735</a>: Fix many edge cases (including crashes) involving custom mro()
implementations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22896">bpo-22896</a>: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
and PyObject_AsWriteBuffer().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22986">bpo-22986</a>: Allow changing an objects __class__ between a dynamic type and
static type in some cases.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22286">bpo-22286</a>: The “backslashreplace” error handlers now works with decoding
and translating.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20284">bpo-20284</a>: %-interpolation (aka printf) formatting added for bytes and
bytearray.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23048">bpo-23048</a>: Fix jumping out of an infinite while loop in the pdb.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22869">bpo-22869</a>: Move the interpreter startup &amp; shutdown code to a new dedicated
pylifecycle.c module</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22847">bpo-22847</a>: Improve method cache efficiency.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17636">bpo-17636</a>: Circular imports involving relative imports are now supported.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22470">bpo-22470</a>: Fixed integer overflow issues in “backslashreplace”,
“xmlcharrefreplace”, and “surrogatepass” error handlers.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22520">bpo-22520</a>: Fix overflow checking when generating the repr of a unicode
object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22519">bpo-22519</a>: Fix overflow checking in PyBytes_Repr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22518">bpo-22518</a>: Fix integer overflow issues in latin-1 encoding.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1764286">bpo-1764286</a>: Fix inspect.getsource() to support decorated functions. Patch
by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18554">bpo-18554</a>: os.__all__ includes posix functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21391">bpo-21391</a>: Use os.path.abspath in the shutil module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 weakrefed. Patch by Wei Wu.</p></li>
<li><p><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 &lt;typename&gt; for bytearrays.
Original patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20179">bpo-20179</a>: Apply Argument Clinic to bytes and bytearray. Patch by Tal
Einat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22082">bpo-22082</a>: Clear interned strings in slotdefs.</p></li>
<li><p>Upgrade Unicode database to Unicode 7.0.0.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21425">bpo-21425</a>: Fix flushing of standard streams in the interactive
interpreter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21274">bpo-21274</a>: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20904">bpo-20904</a>: Support setting FPU precision on m68k.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21176">bpo-21176</a>: PEP 465: Add the &#64; operator for matrix multiplication.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19537">bpo-19537</a>: Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas
Schwab.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20929">bpo-20929</a>: Add a type cast to avoid shifting a negative number.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20480">bpo-20480</a>: Add ipaddress.reverse_pointer. Patch by Leon Weber.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23165">bpo-23165</a>: Perform overflow checks before allocating memory in the
_Py_char2wchar function.</p></li>
</ul>
</div>
<div class="section" id="id390">
<h3>Library<a class="headerlink" href="#id390" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23399">bpo-23399</a>: pyvenv creates relative symlinks where possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20289">bpo-20289</a>: cgi.FieldStorage() now supports the context management
protocol.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13128">bpo-13128</a>: Print response headers for CONNECT requests when debuglevel &gt;
0. Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized io.BytesIO to make less allocations and copyings.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23363">bpo-23363</a>: Fix possible overflow in itertools.permutations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23364">bpo-23364</a>: Fix possible overflow in itertools.product.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23366">bpo-23366</a>: Fixed possible integer overflow in itertools.combinations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23369">bpo-23369</a>: Fixed possible integer overflow in
_json.encode_basestring_ascii.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: Writing to ZipFile and reading multiple ZipExtFiles is
threadsafe now.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19361">bpo-19361</a>: JSON decoder now raises JSONDecodeError instead of ValueError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18518">bpo-18518</a>: timeit now rejects statements which cant be compiled outside a
function or a loop (e.g. “return” or “break”).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23094">bpo-23094</a>: Fixed readline with frames in Python implementation of pickle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23268">bpo-23268</a>: Fixed bugs in the comparison of ipaddress classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a>: Removed incorrect implementations of __ne__() which didnt
returned NotImplemented if __eq__() returned NotImplemented. The default
__ne__() now works correctly.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20188">bpo-20188</a>: Support Application-Layer Protocol Negotiation (ALPN) in the
ssl module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23133">bpo-23133</a>: Pickling of ipaddress objects now produces more compact and
portable representation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23248">bpo-23248</a>: Update ssl error codes from latest OpenSSL git master.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23098">bpo-23098</a>: 64-bit dev_t is now supported in the os module.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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>)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23185">bpo-23185</a>: Add math.inf and math.nan constants.</p></li>
<li><p><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 clients list ciphers sent at
handshake.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23143">bpo-23143</a>: Remove compatibility with OpenSSLs older than 0.9.8.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19776">bpo-19776</a>: Add an expanduser() method on Path objects.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23111">bpo-23111</a>: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol
version.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19104">bpo-19104</a>: pprint now produces evaluable output for wrapped strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23071">bpo-23071</a>: Added missing names to codecs.__all__. Patch by Martin Panter.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15513">bpo-15513</a>: Added a __sizeof__ implementation for pickle classes.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21740">bpo-21740</a>: Support wrapped callables in doctest. Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23009">bpo-23009</a>: Make sure selectors.EpollSelecrtor.select() works when no FD is
registered.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22959">bpo-22959</a>: In the constructor of http.client.HTTPSConnection, prefer the
contexts check_hostname attribute over the <em>check_hostname</em> parameter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21971">bpo-21971</a>: Update turtledemo doc and add module to the index.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22960">bpo-22960</a>: Add a context argument to xmlrpclib.ServerProxy constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22389">bpo-22389</a>: Add contextlib.redirect_stderr().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22940">bpo-22940</a>: Add readline.append_history_file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19676">bpo-19676</a>: Added the “namereplace” error handler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22788">bpo-22788</a>: Add <em>context</em> parameter to logging.handlers.HTTPHandler.</p></li>
<li><p><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 doesnt support SNI.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22370">bpo-22370</a>: Windows detection in pathlib is now more robust.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22841">bpo-22841</a>: Reject coroutines in asyncio add_signal_handler(). Patch by
Ludovic.Gasc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19494">bpo-19494</a>: Added urllib.request.HTTPBasicPriorAuthHandler. Patch by Matej
Cepl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22578">bpo-22578</a>: Added attributes to the re.error class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22849">bpo-22849</a>: Fix possible double free in the io.TextIOWrapper constructor.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22821">bpo-22821</a>: Fixed fcntl() with integer argument on 64-bit big-endian
platforms.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22769">bpo-22769</a>: Fixed ttk.Treeview.tag_has() when called without arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22417">bpo-22417</a>: Verify certificates by default in httplib (PEP 476).</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22665">bpo-22665</a>: Add missing get_terminal_size and SameFileError to
shutil.__all__.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17381">bpo-17381</a>: Fixed handling of case-insensitive ranges in regular
expressions.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8876">bpo-8876</a>: distutils now falls back to copying files when hard linking
doesnt work. This allows use with special filesystems such as VirtualBox
shared folders.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22217">bpo-22217</a>: Implemented reprs of classes in the zipfile module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22457">bpo-22457</a>: Honour load_tests in the start_dir of discovery.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22676">bpo-22676</a>: Make the pickling of global objects which dont have a
__module__ attribute less slow.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18853">bpo-18853</a>: Fixed ResourceWarning in shlex.__nain__.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21991">bpo-21991</a>: Make email.headerregistrys header params attributes be
read-only (MappingProxyType). Previously the dictionary was modifiable
but a new one was created on each access of the attribute.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17401">bpo-17401</a>: Include closefd in io.FileIO repr.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20152">bpo-20152</a>: Convert the array and cmath modules to Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18643">bpo-18643</a>: Add socket.socketpair() on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22435">bpo-22435</a>: Fix a file descriptor leak when socketserver bind fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13096">bpo-13096</a>: Fixed segfault in CTypes POINTER handling of large values.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19380">bpo-19380</a>: Optimized parsing of regular expressions.</p></li>
<li><p><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().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18615">bpo-18615</a>: sndhdr.what/whathdr now return a namedtuple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22462">bpo-22462</a>: Fix pyexpats creation of a dummy frame to make it appear in
exception tracebacks.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11866">bpo-11866</a>: Eliminated race condition in the computation of names for new
threads.</p></li>
<li><p><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.</p></li>
<li><p><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 OReilly.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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__ hasnt
been updated in several releases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: Added non derived UTF-8 aliases to locale aliases table.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20079">bpo-20079</a>: Added locales supported in glibc 2.18 to locale alias table.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22396">bpo-22396</a>: On 32-bit AIX platform, dont expose os.posix_fadvise() nor
os.posix_fallocate() because their prototypes in system headers are wrong.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22517">bpo-22517</a>: When an io.BufferedRWPair object is deallocated, clear its
weakrefs.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23392">bpo-23392</a>: Added tests for marshal C API that works with FILE*.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9850">bpo-9850</a>: Fixed macpath.join() for empty first component. Patch by Oleg
Oshmyan.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22247">bpo-22247</a>: Add NNTPError to nntplib.__all__.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4180">bpo-4180</a>: The warnings registries are now reset when the filters are
modified.</p></li>
<li><p><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.</p></li>
<li><p>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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22168">bpo-22168</a>: Prevent turtle AttributeError with non-default Canvas on OS X.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22338">bpo-22338</a>: Fix a crash in the json module on memory allocation failure.</p></li>
<li><p><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é.</p></li>
<li><p><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.</p></li>
<li><p><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
packages __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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 dont always get an instance dict.
Patch by Claudiu Popa.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p>The webbrowser module now uses subprocesss start_new_session=True rather
than a potentially risky preexec_fn=os.setsid call.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Fixed Tkinter images copying operations in NoDefaultRoot mode.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21549">bpo-21549</a>: Added the “members” parameter to TarFile.list().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19628">bpo-19628</a>: Allow compileall recursion depth to be specified with a -r
option.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15696">bpo-15696</a>: Add a __sizeof__ implementation for mmap objects on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22068">bpo-22068</a>: Avoided reference loops with Variables and Fonts in Tkinter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22165">bpo-22165</a>: SimpleHTTPRequestHandler now supports undecodable file names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized line reading in io.BytesIO.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21725">bpo-21725</a>: Added support for RFC 6531 (SMTPUTF8) in smtpd.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22176">bpo-22176</a>: Update the ctypes modules libffi to v3.1. This release adds
support for the Linux AArch64 and POWERPC ELF ABIv2 little endian
architectures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5411">bpo-5411</a>: Added support for the “xztar” format in the shutil module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21121">bpo-21121</a>: Dont force 3rd party C extensions to be built with
-Werror=declaration-after-statement.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20170">bpo-20170</a>: Convert posixmodule to use Argument Clinic.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p>Add an __all__ to html.entities.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22085">bpo-22085</a>: Dropped support of Tk 8.3 in Tkinter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p>Fix repr(_socket.socket) on Windows 64-bit: dont fail with OverflowError
on closed socket. repr(socket.socket) already works fine.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16133">bpo-16133</a>: The asynchat.async_chat.handle_read() method now ignores
BlockingIOError exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22044">bpo-22044</a>: Fixed premature DECREF in call_tzinfo_method. Patch by Tom
Flanagan.</p></li>
<li><p><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">&quot;\033[1034h&quot;</span></code> into stdout. This
sequence is used on some terminal (ex: TERM=xterm-256color”) to enable
support of 8 bit characters.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15275">bpo-15275</a>: Clean up and speed up the ntpath module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21888">bpo-21888</a>: plistlibs load() and loads() now work if the fmt parameter is
specified.</p></li>
<li><p><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.</p></li>
<li><p><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…”.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21966">bpo-21966</a>: Respect -q command-line option when code module is ran.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19076">bpo-19076</a>: Dont pass the redundant file argument to self.error().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21942">bpo-21942</a>: Fixed source file viewing in pydocs server mode on Windows.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12523">bpo-12523</a>: asynchat.async_chat.push() now raises a TypeError if it doesnt
get a bytes string</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21707">bpo-21707</a>: Add missing kwonlyargcount argument to
ModuleFinder.replace_paths_in_code().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21781">bpo-21781</a>: ssl.RAND_add() now supports strings longer than 2 GB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21679">bpo-21679</a>: Prevent extraneous fstat() calls during open(). Patch by
Bohuslav Kabrda.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21858">bpo-21858</a>: Better handling of Python exceptions in the sqlite3 module.</p></li>
<li><p><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 isnt unexpectedly closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20295">bpo-20295</a>: imghdr now recognizes OpenEXR format images.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21491">bpo-21491</a>: socketserver: Fix a race condition in child processes reaping.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21832">bpo-21832</a>: Require named tuple inputs to be exact strings.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21310">bpo-21310</a>: Fixed possible resource leak in failed open().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21677">bpo-21677</a>: Fixed chaining nonnormalized exceptions in io close() methods.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21515">bpo-21515</a>: tempfile.TemporaryFile now uses os.O_TMPFILE flag is available.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21463">bpo-21463</a>: In urllib.request, fix pruning of the FTP cache.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21402">bpo-21402</a>: tkinter.ttk now works when default root window is not set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue3015">bpo-3015</a>: _tkinter.create() now creates tkapp object with wantobject=1 by
default.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21455">bpo-21455</a>: Add a default backlog to socket.listen().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21525">bpo-21525</a>: Most Tkinter methods which accepted tuples now accept lists
too.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Tkinter tests now dont reuse default root window. New root
window is created for every test class.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20826">bpo-20826</a>: Optimize ipaddress.collapse_addresses().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21487">bpo-21487</a>: Optimize ipaddress.summarize_address_range() and
ipaddress.{IPv4Network,IPv6Network}.subnets().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21486">bpo-21486</a>: Optimize parsing of netmasks in ipaddress.IPv4Network and
ipaddress.IPv6Network.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13916">bpo-13916</a>: Disallowed the surrogatepass error handler for non UTF-*
encodings.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21226">bpo-21226</a>: Set up modules properly in PyImport_ExecCodeModuleObject (and
friends).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21156">bpo-21156</a>: importlib.abc.InspectLoader.source_to_code() is now a
staticmethod.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18314">bpo-18314</a>: Unlink now removes junctions on Windows. Patch by Kim Gräsman</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21407">bpo-21407</a>: _decimal: The module now supports function signatures.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21421">bpo-21421</a>: Add __slots__ to the MappingViews ABC. Patch by Josh Rosenberg.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21057">bpo-21057</a>: TextIOWrapper now allows the underlying binary streams read()
or read1() method to return an arbitrary bytes-like object (such as a
memoryview). Patch by Nikolaus Rath.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: removed previously deprecated asyncore.dispatcher __getattr__
cheap inheritance hack.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9815">bpo-9815</a>: assertRaises now tries to clear references to local variables in
the exceptions traceback.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21291">bpo-21291</a>: subprocesss 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.</p></li>
<li><p><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>).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12220">bpo-12220</a>: mindom now raises a custom ValueError indicating it doesnt
support spaces in URIs instead of letting a split ValueError bubble up.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21068">bpo-21068</a>: The ssl.PROTOCOL* constants are now enum members.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21276">bpo-21276</a>: posixmodule: Dont define USE_XATTRS on KFreeBSD and the Hurd.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21239">bpo-21239</a>: patch.stopall() didnt work deterministically when the same
name was patched more than once.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21222">bpo-21222</a>: Passing name keyword argument to mock.create_autospec now
works.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21197">bpo-21197</a>: Add lib64 -&gt; lib symlink in venvs on 64-bit non-OS X POSIX.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20968">bpo-20968</a>: unittest.mock.MagicMock now supports division. Patch by
Johannes Baiter.</p></li>
<li><p><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)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 -&gt; ValueError) for large
negative inputs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21172">bpo-21172</a>: isinstance check relaxed from dict to collections.Mapping.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17621">bpo-17621</a>: Introduce importlib.util.LazyLoader.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21076">bpo-21076</a>: signal module constants were turned into enums. Patch by
Giampaolo Rodola.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20636">bpo-20636</a>: Improved the repr of Tkinter widgets.</p></li>
<li><p><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().</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21200">bpo-21200</a>: Return None from pkgutil.get_loader() when __spec__ is missing.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20633">bpo-20633</a>: Replace relative import by absolute import.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20980">bpo-20980</a>: Stop wrapping exception when using ThreadPool.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20990">bpo-20990</a>: Fix issues found by pyflakes for multiprocessing.</p></li>
<li><p><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”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21000">bpo-21000</a>: Improve the command-line interface of json.tool.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20884">bpo-20884</a>: Dont assume that __file__ is defined on importlib.__init__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21499">bpo-21499</a>: Ignore __builtins__ in several test_importlib.test_api tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20627">bpo-20627</a>: xmlrpc.client.ServerProxy is now a context manager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19165">bpo-19165</a>: The formatter module now raises DeprecationWarning instead of
PendingDeprecationWarning.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20778">bpo-20778</a>: Fix modulefinder to work with bytecode-only modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20791">bpo-20791</a>: copy.copy() now doesnt make a copy when the input is a bytes
object. Initial patch by Peter Otten.</p></li>
<li><p><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].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19573">bpo-19573</a>: inspect.signature: Use enum for parameter kind constants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20726">bpo-20726</a>: inspect.signature: Make Signature and Parameter picklable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17373">bpo-17373</a>: Add inspect.Signature.from_callable method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20378">bpo-20378</a>: Improve repr of inspect.Signature and inspect.Parameter.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 dArc, with suggested
wording by David Gutteridge)</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p>asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream
<a class="reference external" href="https://bugs.python.org/issue163">bpo-163</a>).</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21801">bpo-21801</a>: Validate that __signature__ is None or an instance of
Signature.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 its an optimization thats no longer
needed with Nagle disabled.</p></li>
</ul>
</div>
<div class="section" id="id391">
<h3>IDLE<a class="headerlink" href="#id391" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17390">bpo-17390</a>: Adjust Editor window title; remove Python, move version to
end.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14105">bpo-14105</a>: Idle debugger breakpoints no longer disappear when inserting or
deleting lines.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21765">bpo-21765</a>: Add support for non-ascii identifiers to HyperParser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21940">bpo-21940</a>: Add unittest for WidgetRedirector. Initial patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18592">bpo-18592</a>: Add unittest for SearchDialogBase. Patch by Phil Webster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21694">bpo-21694</a>: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21686">bpo-21686</a>: add unittest for HyperParser. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18910">bpo-18910</a>: Add unittest for textView. Patch by Phil Webster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18292">bpo-18292</a>: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18409">bpo-18409</a>: Add unittest for AutoComplete. Patch by Phil Webster.</p></li>
<li><p><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</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21139">bpo-21139</a>: Change default paragraph width to 72, the PEP 8 recommendation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21284">bpo-21284</a>: Paragraph reformat test passes after user changes reformat
width.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23180">bpo-23180</a>: Rename IDLE “Windows” menu item to “Window”. Patch by Al
Sweigart.</p></li>
</ul>
</div>
<div class="section" id="id392">
<h3>Build<a class="headerlink" href="#id392" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22935">bpo-22935</a>: Allow the ssl module to be compiled if openssl doesnt support
SSL 3.</p></li>
<li><p><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.</p></li>
<li><p><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).</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Remove incorrect uses of recursive make. Patch by Jonas
Wagner.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21037">bpo-21037</a>: Add a build option to enable AddressSanitizer support.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 arent already being searched. This avoids an
explicit runtime library dependency.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20022">bpo-20022</a>: Eliminate use of deprecated bundlebuilder in OS X builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15968">bpo-15968</a>: Incorporated Tcl, Tk, and Tix builds into the Windows build
solution.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17095">bpo-17095</a>: Fix Modules/Setup <em>shared</em> support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21811">bpo-21811</a>: Anticipated fixes to support OS X versions &gt; 10.9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21166">bpo-21166</a>: Prevent possible segfaults and other random failures of python
generate-posix-vars in pybuilddir.txt build target.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18096">bpo-18096</a>: Fix library order returned by python-config.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17219">bpo-17219</a>: Add library build dir for Python extension cross-builds.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21236">bpo-21236</a>: Build _msi.pyd with cabinet.lib instead of fci.lib</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17128">bpo-17128</a>: Use private version of OpenSSL for OS X 10.5+ installer.</p></li>
</ul>
</div>
<div class="section" id="id393">
<h3>C API<a class="headerlink" href="#id393" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22445">bpo-22445</a>: PyBuffer_IsContiguous() now implements precise contiguity
tests, compatible with NumPys NPY_RELAXED_STRIDES_CHECKING compilation
flag. Previously the function reported false negatives for corner cases.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22453">bpo-22453</a>: Removed non-documented macro PyObject_REPR().</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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().</p></li>
</ul>
</div>
<div class="section" id="id394">
<h3>Documentation<a class="headerlink" href="#id394" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><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.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6916">bpo-6916</a>: undocument deprecated asynchat.fifo class.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20765">bpo-20765</a>: Add missing documentation for PurePath.with_name() and
PurePath.with_suffix().</p></li>
<li><p><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 isnt recorded anywhere else.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19697">bpo-19697</a>: Document cases where __main__.__spec__ is None.</p></li>
</ul>
</div>
<div class="section" id="id395">
<h3>Tests<a class="headerlink" href="#id395" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue18982">bpo-18982</a>: Add tests for CLI of the calendar module.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22838">bpo-22838</a>: All test_re tests now work with unittest test discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22173">bpo-22173</a>: Update lib2to3 tests to use unittest test discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16000">bpo-16000</a>: Convert test_curses to use unittest.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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 dont define test_main().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22111">bpo-22111</a>: Assorted cleanups in test_imaplib. Patch by Milan Oberkirch.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21605">bpo-21605</a>: Added tests for Tkinter images.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21493">bpo-21493</a>: Added test for ntpath.expanduser(). Original patch by Claudiu
Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19925">bpo-19925</a>: Added tests for the spwd module. Original patch by Vajrasky
Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21522">bpo-21522</a>: Added Tkinter tests for Listbox.itemconfigure(),
PanedWindow.paneconfigure(), and Menu.entryconfigure().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17756">bpo-17756</a>: Fix test_code test when run from the installed location.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17752">bpo-17752</a>: Fix distutils tests when run from the installed location.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21275">bpo-21275</a>: Fix a socket test on KFreeBSD.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20635">bpo-20635</a>: Added tests for Tk geometry managers.</p></li>
<li><p>Add test case for freeze.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20743">bpo-20743</a>: Fix a reference leak in test_tcl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21097">bpo-21097</a>: Move test_namespace_pkgs into test_importlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21503">bpo-21503</a>: Use test_both() consistently in test_importlib.</p></li>
<li><p><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.</p></li>
<li><p><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)</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22770">bpo-22770</a>: Prevent some Tk segfaults on OS X when running gui tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23211">bpo-23211</a>: Workaround test_logging failure on some OS X 10.6 systems.</p></li>
<li><p><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).</p></li>
</ul>
</div>
<div class="section" id="id396">
<h3>Tools/Demos<a class="headerlink" href="#id396" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22314">bpo-22314</a>: pydoc now works when the LINES environment variable is set.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: The makelocalealias.py script no longer ignores UTF-8 mapping.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18974">bpo-18974</a>: Tools/scripts/diff.py now uses argparse instead of optparse.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21629">bpo-21629</a>: Fix Argument Clinics “converters” feature.</p></li>
<li><p>Add support for <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span></code> to 2to3.</p></li>
<li><p>Add support for the PEP 465 matrix multiplication operator to 2to3.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11824">bpo-11824</a>: Consider ABI tags in freeze. Patch by Meador Inge.</p></li>
<li><p><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.</p></li>
</ul>
</div>
<div class="section" id="id397">
<h3>Windows<a class="headerlink" href="#id397" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23260">bpo-23260</a>: Update Windows installer</p></li>
<li><p>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/Tks TIP 432 for more
information. Also, this version of Tcl/Tk includes support for Windows
10.</p></li>
<li><p><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>.</p></li>
<li><p><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.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21907">bpo-21907</a>: Improved the batch scripts provided for building Python.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></li>
<li><p><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.</p></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-next">Python next</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="#windows">Windows</a></li>
<li><a class="reference internal" href="#idle">IDLE</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-4-final">Python 3.7.4 final</a><ul>
<li><a class="reference internal" href="#id2">Core and Builtins</a></li>
<li><a class="reference internal" href="#id3">Documentation</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-4-release-candidate-2">Python 3.7.4 release candidate 2</a><ul>
<li><a class="reference internal" href="#security">Security</a></li>
<li><a class="reference internal" href="#id4">Core and Builtins</a></li>
<li><a class="reference internal" href="#id5">Library</a></li>
<li><a class="reference internal" href="#id6">Windows</a></li>
<li><a class="reference internal" href="#macos">macOS</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-4-release-candidate-1">Python 3.7.4 release candidate 1</a><ul>
<li><a class="reference internal" href="#id7">Security</a></li>
<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="#build">Build</a></li>
<li><a class="reference internal" href="#id12">Windows</a></li>
<li><a class="reference internal" href="#id13">macOS</a></li>
<li><a class="reference internal" href="#id14">IDLE</a></li>
<li><a class="reference internal" href="#tools-demos">Tools/Demos</a></li>
<li><a class="reference internal" href="#c-api">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-3-final">Python 3.7.3 final</a></li>
<li><a class="reference internal" href="#python-3-7-3-release-candidate-1">Python 3.7.3 release candidate 1</a><ul>
<li><a class="reference internal" href="#id15">Security</a></li>
<li><a class="reference internal" href="#id16">Core and Builtins</a></li>
<li><a class="reference internal" href="#id17">Library</a></li>
<li><a class="reference internal" href="#id18">Documentation</a></li>
<li><a class="reference internal" href="#id19">Tests</a></li>
<li><a class="reference internal" href="#id20">Build</a></li>
<li><a class="reference internal" href="#id21">Windows</a></li>
<li><a class="reference internal" href="#id22">IDLE</a></li>
<li><a class="reference internal" href="#id23">Tools/Demos</a></li>
<li><a class="reference internal" href="#id24">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-2-final">Python 3.7.2 final</a><ul>
<li><a class="reference internal" href="#id25">Library</a></li>
<li><a class="reference internal" href="#id26">Build</a></li>
<li><a class="reference internal" href="#id27">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-2-release-candidate-1">Python 3.7.2 release candidate 1</a><ul>
<li><a class="reference internal" href="#id28">Security</a></li>
<li><a class="reference internal" href="#id29">Core and Builtins</a></li>
<li><a class="reference internal" href="#id30">Library</a></li>
<li><a class="reference internal" href="#id31">Documentation</a></li>
<li><a class="reference internal" href="#id32">Tests</a></li>
<li><a class="reference internal" href="#id33">Build</a></li>
<li><a class="reference internal" href="#id34">Windows</a></li>
<li><a class="reference internal" href="#id35">macOS</a></li>
<li><a class="reference internal" href="#id36">IDLE</a></li>
<li><a class="reference internal" href="#id37">Tools/Demos</a></li>
<li><a class="reference internal" href="#id38">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-1-final">Python 3.7.1 final</a><ul>
<li><a class="reference internal" href="#id39">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-1-release-candidate-2">Python 3.7.1 release candidate 2</a><ul>
<li><a class="reference internal" href="#id40">Core and Builtins</a></li>
<li><a class="reference internal" href="#id41">Library</a></li>
<li><a class="reference internal" href="#id42">Documentation</a></li>
<li><a class="reference internal" href="#id43">Tests</a></li>
<li><a class="reference internal" href="#id44">macOS</a></li>
<li><a class="reference internal" href="#id45">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-1-release-candidate-1">Python 3.7.1 release candidate 1</a><ul>
<li><a class="reference internal" href="#id46">Security</a></li>
<li><a class="reference internal" href="#id47">Core and Builtins</a></li>
<li><a class="reference internal" href="#id48">Library</a></li>
<li><a class="reference internal" href="#id49">Documentation</a></li>
<li><a class="reference internal" href="#id50">Tests</a></li>
<li><a class="reference internal" href="#id51">Build</a></li>
<li><a class="reference internal" href="#id52">Windows</a></li>
<li><a class="reference internal" href="#id53">macOS</a></li>
<li><a class="reference internal" href="#id54">IDLE</a></li>
<li><a class="reference internal" href="#id55">Tools/Demos</a></li>
<li><a class="reference internal" href="#id56">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-final">Python 3.7.0 final</a><ul>
<li><a class="reference internal" href="#id57">Library</a></li>
<li><a class="reference internal" href="#id58">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-release-candidate-1">Python 3.7.0 release candidate 1</a><ul>
<li><a class="reference internal" href="#id59">Core and Builtins</a></li>
<li><a class="reference internal" href="#id60">Library</a></li>
<li><a class="reference internal" href="#id61">Documentation</a></li>
<li><a class="reference internal" href="#id62">Build</a></li>
<li><a class="reference internal" href="#id63">Windows</a></li>
<li><a class="reference internal" href="#id64">IDLE</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-beta-5">Python 3.7.0 beta 5</a><ul>
<li><a class="reference internal" href="#id65">Core and Builtins</a></li>
<li><a class="reference internal" href="#id66">Library</a></li>
<li><a class="reference internal" href="#id67">Documentation</a></li>
<li><a class="reference internal" href="#id68">Tests</a></li>
<li><a class="reference internal" href="#id69">Build</a></li>
<li><a class="reference internal" href="#id70">macOS</a></li>
<li><a class="reference internal" href="#id71">IDLE</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-beta-4">Python 3.7.0 beta 4</a><ul>
<li><a class="reference internal" href="#id72">Core and Builtins</a></li>
<li><a class="reference internal" href="#id73">Library</a></li>
<li><a class="reference internal" href="#id74">Documentation</a></li>
<li><a class="reference internal" href="#id75">Tests</a></li>
<li><a class="reference internal" href="#id76">Build</a></li>
<li><a class="reference internal" href="#id77">Windows</a></li>
<li><a class="reference internal" href="#id78">macOS</a></li>
<li><a class="reference internal" href="#id79">IDLE</a></li>
<li><a class="reference internal" href="#id80">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-beta-3">Python 3.7.0 beta 3</a><ul>
<li><a class="reference internal" href="#id81">Security</a></li>
<li><a class="reference internal" href="#id82">Core and Builtins</a></li>
<li><a class="reference internal" href="#id83">Library</a></li>
<li><a class="reference internal" href="#id84">Documentation</a></li>
<li><a class="reference internal" href="#id85">Tests</a></li>
<li><a class="reference internal" href="#id86">Build</a></li>
<li><a class="reference internal" href="#id87">Windows</a></li>
<li><a class="reference internal" href="#id88">macOS</a></li>
<li><a class="reference internal" href="#id89">IDLE</a></li>
<li><a class="reference internal" href="#id90">Tools/Demos</a></li>
<li><a class="reference internal" href="#id91">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-beta-2">Python 3.7.0 beta 2</a><ul>
<li><a class="reference internal" href="#id92">Security</a></li>
<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">Documentation</a></li>
<li><a class="reference internal" href="#id96">Tests</a></li>
<li><a class="reference internal" href="#id97">Build</a></li>
<li><a class="reference internal" href="#id98">Windows</a></li>
<li><a class="reference internal" href="#id99">macOS</a></li>
<li><a class="reference internal" href="#id100">IDLE</a></li>
<li><a class="reference internal" href="#id101">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-beta-1">Python 3.7.0 beta 1</a><ul>
<li><a class="reference internal" href="#id102">Core and Builtins</a></li>
<li><a class="reference internal" href="#id103">Library</a></li>
<li><a class="reference internal" href="#id104">Documentation</a></li>
<li><a class="reference internal" href="#id105">Tests</a></li>
<li><a class="reference internal" href="#id106">Build</a></li>
<li><a class="reference internal" href="#id107">Windows</a></li>
<li><a class="reference internal" href="#id108">macOS</a></li>
<li><a class="reference internal" href="#id109">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-alpha-4">Python 3.7.0 alpha 4</a><ul>
<li><a class="reference internal" href="#id110">Core and Builtins</a></li>
<li><a class="reference internal" href="#id111">Library</a></li>
<li><a class="reference internal" href="#id112">Documentation</a></li>
<li><a class="reference internal" href="#id113">Tests</a></li>
<li><a class="reference internal" href="#id114">Windows</a></li>
<li><a class="reference internal" href="#id115">Tools/Demos</a></li>
<li><a class="reference internal" href="#id116">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-alpha-3">Python 3.7.0 alpha 3</a><ul>
<li><a class="reference internal" href="#id117">Core and Builtins</a></li>
<li><a class="reference internal" href="#id118">Library</a></li>
<li><a class="reference internal" href="#id119">Documentation</a></li>
<li><a class="reference internal" href="#id120">Tests</a></li>
<li><a class="reference internal" href="#id121">Build</a></li>
<li><a class="reference internal" href="#id122">Windows</a></li>
<li><a class="reference internal" href="#id123">macOS</a></li>
<li><a class="reference internal" href="#id124">IDLE</a></li>
<li><a class="reference internal" href="#id125">Tools/Demos</a></li>
<li><a class="reference internal" href="#id126">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-alpha-2">Python 3.7.0 alpha 2</a><ul>
<li><a class="reference internal" href="#id127">Core and Builtins</a></li>
<li><a class="reference internal" href="#id128">Library</a></li>
<li><a class="reference internal" href="#id129">Documentation</a></li>
<li><a class="reference internal" href="#id130">Build</a></li>
<li><a class="reference internal" href="#id131">IDLE</a></li>
<li><a class="reference internal" href="#id132">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-7-0-alpha-1">Python 3.7.0 alpha 1</a><ul>
<li><a class="reference internal" href="#id133">Security</a></li>
<li><a class="reference internal" href="#id134">Core and Builtins</a></li>
<li><a class="reference internal" href="#id135">Library</a></li>
<li><a class="reference internal" href="#id136">Documentation</a></li>
<li><a class="reference internal" href="#id137">Tests</a></li>
<li><a class="reference internal" href="#id138">Build</a></li>
<li><a class="reference internal" href="#id139">Windows</a></li>
<li><a class="reference internal" href="#id140">IDLE</a></li>
<li><a class="reference internal" href="#id141">Tools/Demos</a></li>
<li><a class="reference internal" href="#id142">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="#id143">Core and Builtins</a></li>
<li><a class="reference internal" href="#id144">Library</a></li>
<li><a class="reference internal" href="#id145">Documentation</a></li>
<li><a class="reference internal" href="#id146">Tests</a></li>
<li><a class="reference internal" href="#id147">Build</a></li>
<li><a class="reference internal" href="#id148">Windows</a></li>
<li><a class="reference internal" href="#id149">macOS</a></li>
<li><a class="reference internal" href="#id150">IDLE</a></li>
<li><a class="reference internal" href="#id151">Tools/Demos</a></li>
<li><a class="reference internal" href="#id152">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="#id153">Tests</a></li>
<li><a class="reference internal" href="#id154">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="#id155">Security</a></li>
<li><a class="reference internal" href="#id156">Core and Builtins</a></li>
<li><a class="reference internal" href="#id157">Library</a></li>
<li><a class="reference internal" href="#id158">Documentation</a></li>
<li><a class="reference internal" href="#id159">Tests</a></li>
<li><a class="reference internal" href="#id160">Build</a></li>
<li><a class="reference internal" href="#id161">Windows</a></li>
<li><a class="reference internal" href="#id162">macOS</a></li>
<li><a class="reference internal" href="#id163">IDLE</a></li>
<li><a class="reference internal" href="#id164">Tools/Demos</a></li>
<li><a class="reference internal" href="#id165">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="#id166">Core and Builtins</a></li>
<li><a class="reference internal" href="#id167">Library</a></li>
<li><a class="reference internal" href="#id168">Documentation</a></li>
<li><a class="reference internal" href="#id169">Tests</a></li>
<li><a class="reference internal" href="#id170">Build</a></li>
<li><a class="reference internal" href="#id171">Windows</a></li>
<li><a class="reference internal" href="#id172">macOS</a></li>
<li><a class="reference internal" href="#id173">IDLE</a></li>
<li><a class="reference internal" href="#id174">Tools/Demos</a></li>
<li><a class="reference internal" href="#id175">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="#id176">Library</a></li>
<li><a class="reference internal" href="#id177">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="#id178">Security</a></li>
<li><a class="reference internal" href="#id179">Core and Builtins</a></li>
<li><a class="reference internal" href="#id180">Library</a></li>
<li><a class="reference internal" href="#id181">Documentation</a></li>
<li><a class="reference internal" href="#id182">Tests</a></li>
<li><a class="reference internal" href="#id183">Build</a></li>
<li><a class="reference internal" href="#id184">Windows</a></li>
<li><a class="reference internal" href="#id185">IDLE</a></li>
<li><a class="reference internal" href="#id186">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="#id187">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="#id188">Core and Builtins</a></li>
<li><a class="reference internal" href="#id189">Library</a></li>
<li><a class="reference internal" href="#id190">Security</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">C API</a></li>
<li><a class="reference internal" href="#id194">Build</a></li>
<li><a class="reference internal" href="#id195">Documentation</a></li>
<li><a class="reference internal" href="#id196">Tools/Demos</a></li>
<li><a class="reference internal" href="#id197">Tests</a></li>
<li><a class="reference internal" href="#id198">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="#id199">Core and Builtins</a></li>
<li><a class="reference internal" href="#id200">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="#id201">Core and Builtins</a></li>
<li><a class="reference internal" href="#id202">Library</a></li>
<li><a class="reference internal" href="#id203">IDLE</a></li>
<li><a class="reference internal" href="#id204">Windows</a></li>
<li><a class="reference internal" href="#id205">C API</a></li>
<li><a class="reference internal" href="#id206">Documentation</a></li>
<li><a class="reference internal" href="#id207">Tests</a></li>
<li><a class="reference internal" href="#id208">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="#id209">Core and Builtins</a></li>
<li><a class="reference internal" href="#id210">Tools/Demos</a></li>
<li><a class="reference internal" href="#id211">Windows</a></li>
<li><a class="reference internal" href="#id212">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="#id213">Core and Builtins</a></li>
<li><a class="reference internal" href="#id214">Library</a></li>
<li><a class="reference internal" href="#id215">C API</a></li>
<li><a class="reference internal" href="#id216">Documentation</a></li>
<li><a class="reference internal" href="#id217">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="#id218">Core and Builtins</a></li>
<li><a class="reference internal" href="#id219">Library</a></li>
<li><a class="reference internal" href="#id220">Documentation</a></li>
<li><a class="reference internal" href="#id221">Tests</a></li>
<li><a class="reference internal" href="#id222">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="#id223">Core and Builtins</a></li>
<li><a class="reference internal" href="#id224">Library</a></li>
<li><a class="reference internal" href="#id225">Windows</a></li>
<li><a class="reference internal" href="#id226">Build</a></li>
<li><a class="reference internal" href="#id227">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="#id228">Core and Builtins</a></li>
<li><a class="reference internal" href="#id229">Library</a></li>
<li><a class="reference internal" href="#id230">Windows</a></li>
<li><a class="reference internal" href="#id231">C API</a></li>
<li><a class="reference internal" href="#id232">Build</a></li>
<li><a class="reference internal" href="#id233">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="#id234">Core and Builtins</a></li>
<li><a class="reference internal" href="#id235">Library</a></li>
<li><a class="reference internal" href="#id236">IDLE</a></li>
<li><a class="reference internal" href="#id237">C API</a></li>
<li><a class="reference internal" href="#id238">Tests</a></li>
<li><a class="reference internal" href="#id239">Build</a></li>
<li><a class="reference internal" href="#id240">Tools/Demos</a></li>
<li><a class="reference internal" href="#id241">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="#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">Tests</a></li>
<li><a class="reference internal" href="#id246">Windows</a></li>
<li><a class="reference internal" href="#id247">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="#id248">Core and Builtins</a></li>
<li><a class="reference internal" href="#id249">Library</a></li>
<li><a class="reference internal" href="#id250">Security</a></li>
<li><a class="reference internal" href="#id251">Library</a></li>
<li><a class="reference internal" href="#id252">Security</a></li>
<li><a class="reference internal" href="#id253">Library</a></li>
<li><a class="reference internal" href="#id254">IDLE</a></li>
<li><a class="reference internal" href="#id255">C API</a></li>
<li><a class="reference internal" href="#id256">Build</a></li>
<li><a class="reference internal" href="#id257">Tools/Demos</a></li>
<li><a class="reference internal" href="#id258">Documentation</a></li>
<li><a class="reference internal" href="#id259">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="#id260">Core and Builtins</a></li>
<li><a class="reference internal" href="#id261">Library</a></li>
<li><a class="reference internal" href="#id262">Security</a></li>
<li><a class="reference internal" href="#id263">Library</a></li>
<li><a class="reference internal" href="#id264">Security</a></li>
<li><a class="reference internal" href="#id265">Library</a></li>
<li><a class="reference internal" href="#id266">IDLE</a></li>
<li><a class="reference internal" href="#id267">Documentation</a></li>
<li><a class="reference internal" href="#id268">Tests</a></li>
<li><a class="reference internal" href="#id269">Windows</a></li>
<li><a class="reference internal" href="#id270">Build</a></li>
<li><a class="reference internal" href="#id271">Windows</a></li>
<li><a class="reference internal" href="#id272">C API</a></li>
<li><a class="reference internal" href="#id273">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="#id274">Core and Builtins</a></li>
<li><a class="reference internal" href="#id275">Library</a></li>
<li><a class="reference internal" href="#id276">Security</a></li>
<li><a class="reference internal" href="#id277">Library</a></li>
<li><a class="reference internal" href="#id278">Security</a></li>
<li><a class="reference internal" href="#id279">Library</a></li>
<li><a class="reference internal" href="#id280">Security</a></li>
<li><a class="reference internal" href="#id281">Library</a></li>
<li><a class="reference internal" href="#id282">IDLE</a></li>
<li><a class="reference internal" href="#id283">Documentation</a></li>
<li><a class="reference internal" href="#id284">Tests</a></li>
<li><a class="reference internal" href="#id285">Build</a></li>
<li><a class="reference internal" href="#id286">Windows</a></li>
<li><a class="reference internal" href="#id287">Tools/Demos</a></li>
<li><a class="reference internal" href="#id288">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-5-final">Python 3.5.5 final</a></li>
<li><a class="reference internal" href="#python-3-5-5-release-candidate-1">Python 3.5.5 release candidate 1</a><ul>
<li><a class="reference internal" href="#id289">Security</a></li>
<li><a class="reference internal" href="#id290">Core and Builtins</a></li>
<li><a class="reference internal" href="#id291">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-4-final">Python 3.5.4 final</a><ul>
<li><a class="reference internal" href="#id292">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-4-release-candidate-1">Python 3.5.4 release candidate 1</a><ul>
<li><a class="reference internal" href="#id293">Security</a></li>
<li><a class="reference internal" href="#id294">Core and Builtins</a></li>
<li><a class="reference internal" href="#id295">Library</a></li>
<li><a class="reference internal" href="#id296">Documentation</a></li>
<li><a class="reference internal" href="#id297">Tests</a></li>
<li><a class="reference internal" href="#id298">Build</a></li>
<li><a class="reference internal" href="#id299">Windows</a></li>
<li><a class="reference internal" href="#id300">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="#id301">Core and Builtins</a></li>
<li><a class="reference internal" href="#id302">Library</a></li>
<li><a class="reference internal" href="#id303">Security</a></li>
<li><a class="reference internal" href="#id304">Library</a></li>
<li><a class="reference internal" href="#id305">Security</a></li>
<li><a class="reference internal" href="#id306">Library</a></li>
<li><a class="reference internal" href="#id307">IDLE</a></li>
<li><a class="reference internal" href="#id308">C API</a></li>
<li><a class="reference internal" href="#id309">Documentation</a></li>
<li><a class="reference internal" href="#id310">Tests</a></li>
<li><a class="reference internal" href="#id311">Tools/Demos</a></li>
<li><a class="reference internal" href="#id312">Windows</a></li>
<li><a class="reference internal" href="#id313">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="#id314">Core and Builtins</a></li>
<li><a class="reference internal" href="#id315">Tests</a></li>
<li><a class="reference internal" href="#id316">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="#id317">Core and Builtins</a></li>
<li><a class="reference internal" href="#id318">Security</a></li>
<li><a class="reference internal" href="#id319">Library</a></li>
<li><a class="reference internal" href="#id320">Security</a></li>
<li><a class="reference internal" href="#id321">Library</a></li>
<li><a class="reference internal" href="#id322">Security</a></li>
<li><a class="reference internal" href="#id323">Library</a></li>
<li><a class="reference internal" href="#id324">Security</a></li>
<li><a class="reference internal" href="#id325">Library</a></li>
<li><a class="reference internal" href="#id326">Security</a></li>
<li><a class="reference internal" href="#id327">Library</a></li>
<li><a class="reference internal" href="#id328">IDLE</a></li>
<li><a class="reference internal" href="#id329">Documentation</a></li>
<li><a class="reference internal" href="#id330">Tests</a></li>
<li><a class="reference internal" href="#id331">Build</a></li>
<li><a class="reference internal" href="#id332">Windows</a></li>
<li><a class="reference internal" href="#id333">Tools/Demos</a></li>
<li><a class="reference internal" href="#id334">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="#id335">Core and Builtins</a></li>
<li><a class="reference internal" href="#id336">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="#id337">Core and Builtins</a></li>
<li><a class="reference internal" href="#id338">Library</a></li>
<li><a class="reference internal" href="#id339">IDLE</a></li>
<li><a class="reference internal" href="#id340">Documentation</a></li>
<li><a class="reference internal" href="#id341">Tests</a></li>
<li><a class="reference internal" href="#id342">Build</a></li>
<li><a class="reference internal" href="#id343">Windows</a></li>
<li><a class="reference internal" href="#id344">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="#id345">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="#id346">Library</a></li>
<li><a class="reference internal" href="#id347">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="#id348">Core and Builtins</a></li>
<li><a class="reference internal" href="#id349">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="#id350">Core and Builtins</a></li>
<li><a class="reference internal" href="#id351">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="#id352">Core and Builtins</a></li>
<li><a class="reference internal" href="#id353">Library</a></li>
<li><a class="reference internal" href="#id354">IDLE</a></li>
<li><a class="reference internal" href="#id355">Documentation</a></li>
<li><a class="reference internal" href="#id356">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="#id357">Core and Builtins</a></li>
<li><a class="reference internal" href="#id358">Library</a></li>
<li><a class="reference internal" href="#id359">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="#id360">Core and Builtins</a></li>
<li><a class="reference internal" href="#id361">Library</a></li>
<li><a class="reference internal" href="#id362">Tests</a></li>
<li><a class="reference internal" href="#id363">Documentation</a></li>
<li><a class="reference internal" href="#id364">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="#id365">Core and Builtins</a></li>
<li><a class="reference internal" href="#id366">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="#id367">Core and Builtins</a></li>
<li><a class="reference internal" href="#id368">Library</a></li>
<li><a class="reference internal" href="#id369">IDLE</a></li>
<li><a class="reference internal" href="#id370">Tests</a></li>
<li><a class="reference internal" href="#id371">Documentation</a></li>
<li><a class="reference internal" href="#id372">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="#id373">Core and Builtins</a></li>
<li><a class="reference internal" href="#id374">Library</a></li>
<li><a class="reference internal" href="#id375">Build</a></li>
<li><a class="reference internal" href="#id376">Tests</a></li>
<li><a class="reference internal" href="#id377">Tools/Demos</a></li>
<li><a class="reference internal" href="#id378">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="#id379">Core and Builtins</a></li>
<li><a class="reference internal" href="#id380">Library</a></li>
<li><a class="reference internal" href="#id381">Build</a></li>
<li><a class="reference internal" href="#id382">Tests</a></li>
<li><a class="reference internal" href="#id383">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="#id384">Core and Builtins</a></li>
<li><a class="reference internal" href="#id385">Library</a></li>
<li><a class="reference internal" href="#id386">Build</a></li>
<li><a class="reference internal" href="#id387">C API</a></li>
<li><a class="reference internal" href="#id388">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="#id389">Core and Builtins</a></li>
<li><a class="reference internal" href="#id390">Library</a></li>
<li><a class="reference internal" href="#id391">IDLE</a></li>
<li><a class="reference internal" href="#id392">Build</a></li>
<li><a class="reference internal" href="#id393">C API</a></li>
<li><a class="reference internal" href="#id394">Documentation</a></li>
<li><a class="reference internal" href="#id395">Tests</a></li>
<li><a class="reference internal" href="#id396">Tools/Demos</a></li>
<li><a class="reference internal" href="#id397">Windows</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="2.0.html"
title="previous chapter">Whats 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.7/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="Whats 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> &#187;</li>
<li>
<span class="language_switcher_placeholder">en</span>
<span class="version_switcher_placeholder">3.7.4</span>
<a href="../index.html">Documentation </a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Whats New in Python</a> &#187;</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">
&copy; <a href="../copyright.html">Copyright</a> 2001-2019, 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 Jul 13, 2019.
<a href="../bugs.html">Found a bug</a>?
<br />
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.0.1.
</div>
</body>
</html>