This file is indexed.

/usr/share/doc/python-gevent-doc/html/whatsnew_1_2.html is in python-gevent-doc 1.2.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">

<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    
    <title>What’s new in gevent 1.2 &mdash; gevent 1.2.2 documentation</title>
    <link rel="stylesheet" href="_static/basic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />

    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="top" title="gevent 1.2.2 documentation" href="index.html" />
    <link rel="next" title="API reference" href="reference.html" />
    <link rel="prev" title="Introduction" href="intro.html" /> 
  </head>

<body>

<div id="site-wrapper">
	<div id="header">
		<div id="top">
			<div class="left" id="logo">
                <h1><a id="title" href="index.html">gevent</a></h1>
			</div>
			<div class="left navigation" id="main-nav">
				<ul class="tabbed">
                    <li><a href="http://blog.gevent.org">Blog</a></li>
                    <li><a href="https://github.com/gevent/gevent">Code</a></li>
                    <li class="current-tab"><a href="contents.html">Docs</a></li>
                    <li><a href="http://pypi.python.org/pypi/gevent#downloads">Download</a></li>
					<li><a href="community.html">Mailing list</a></li>
                    <li><a href="https://github.com/gevent/gevent/issues">Issues</a></li>
					<li><a href="http://webchat.freenode.net/?channels=gevent" rel="nofollow">IRC</a></li>
                    <li><a href="sfc.html">Donate</a></li>
                </ul>
				<div class="clearer">&nbsp;</div>
			</div>
			<div class="clearer">&nbsp;</div>
        </div>
    </div>

	<div id="splash">

        <div class="col3big left">

            <div class="document">
                <div class="documentwrapper">
                    <div class="bodywrapper">
                        <div class="body">


                            
  <div class="section" id="what-s-new-in-gevent-1-2">
<h1>What’s new in gevent 1.2<a class="headerlink" href="#what-s-new-in-gevent-1-2" title="Permalink to this headline"></a></h1>
<p>Detailed information on what has changed is available in the
<span class="xref std std-doc">changelog</span>. This document summarizes the most important changes
since <a class="reference internal" href="whatsnew_1_1.html"><span class="doc">gevent 1.1</span></a>.</p>
<p>In general, gevent 1.2 is a smaller update than gevent 1.1, focusing
on platform support, standard library compatibility, security, bug
fixes and consistency.</p>
<div class="section" id="platform-support">
<h2>Platform Support<a class="headerlink" href="#platform-support" title="Permalink to this headline"></a></h2>
<p>gevent 1.2 supports Python 2.7, 3.4, 3.5 and 3.6 on the CPython
(<a class="reference external" href="http://www.python.org/downloads/">python.org</a>) interpreter. It also supports <a class="reference external" href="http://pypy.org">PyPy2</a> 4.0.1 and above
(PyPy2 5.4 or higher is recommended) and PyPy3 5.5.0.</p>
<div class="admonition caution">
<p class="first admonition-title">Caution</p>
<p class="last">Support for Python 2.6 was removed. Support for Python 3.3 is only
tested on PyPy3.</p>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">PyPy is not supported on Windows. (gevent’s CFFI backend is not
available on Windows.)</p>
</div>
<p>Python 3.6 was released recently and is supported at the same level as 3.5.</p>
<p>For ease of installation on Windows and OS X, gevent 1.2 is
distributed as pre-compiled binary wheels, in addition to source code.</p>
</div>
<div class="section" id="bug-fixes">
<h2>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline"></a></h2>
<p>Since 1.1.2, gevent 1.2 contains over 240 commits from nine different
dozen contributors. About two dozen pull requests were merged.</p>
</div>
<div class="section" id="improved-subprocess-support">
<h2>Improved subprocess support<a class="headerlink" href="#improved-subprocess-support" title="Permalink to this headline"></a></h2>
<p>In gevent 1.1, subprocess monkey-patching was on by default for the
first time. Over time this led to discovery of a few issues and corner
cases that have been fixed in 1.2.</p>
<ul class="simple">
<li>Setting SIGCHLD to SIG_IGN or SIG_DFL after <a class="reference internal" href="gevent.subprocess.html#module-gevent.subprocess" title="gevent.subprocess"><code class="xref py py-mod docutils literal"><span class="pre">gevent.subprocess</span></code></a>
had been used previously could not be reversed, causing
<code class="docutils literal"><span class="pre">Popen.wait</span></code> and other calls to hang. Now, if SIGCHLD has been
ignored, the next time <a class="reference internal" href="gevent.subprocess.html#module-gevent.subprocess" title="gevent.subprocess"><code class="xref py py-mod docutils literal"><span class="pre">gevent.subprocess</span></code></a> is used this will be
detected and corrected automatically. (This potentially leads to
issues with <a class="reference external" href="http://docs.python.org/library/os.html#os.popen" title="(in Python v2.7)"><code class="xref py py-func docutils literal"><span class="pre">os.popen()</span></code></a> on Python 2, but the signal can always
be reset again. Mixing the low-level process handling calls,
low-level signal management and high-level use of
<a class="reference internal" href="gevent.subprocess.html#module-gevent.subprocess" title="gevent.subprocess"><code class="xref py py-mod docutils literal"><span class="pre">gevent.subprocess</span></code></a> is tricky.) Reported in <a class="reference external" href="https://github.com/gevent/gevent/issues/857">issue #857</a> by
Chris Utz.</li>
<li><code class="docutils literal"><span class="pre">Popen.kill</span></code> and <code class="docutils literal"><span class="pre">send_signal</span></code> no longer attempt to send signals
to processes that are known to be exited.</li>
<li>The <code class="xref py py-func docutils literal"><span class="pre">gevent.os.waitpid()</span></code> function is cooperative in more
circumstances. Reported in <a class="reference external" href="https://github.com/gevent/gevent/issues/878">issue #878</a> by Heungsub Lee.</li>
</ul>
</div>
<div class="section" id="api-additions">
<h2>API Additions<a class="headerlink" href="#api-additions" title="Permalink to this headline"></a></h2>
<p>Numerous APIs offer slightly expanded functionality in this version.
Look for “changed in version 1.2” or “added in version 1.2” throughout
the documentation for specifics.</p>
<p>Of particular note, several backwards compatible updates to the
subprocess module have been backported from Python 3 to Python 2,
making <a class="reference internal" href="gevent.subprocess.html#module-gevent.subprocess" title="gevent.subprocess"><code class="xref py py-mod docutils literal"><span class="pre">gevent.subprocess</span></code></a> smaller, easier to maintain and in
some cases safer, while letting gevent clients use the updated APIs
even on older versions of Python.</p>
<p>If <code class="docutils literal"><span class="pre">concurrent.futures</span></code> is available (Python 3, or if the Python 2
backport has been installed), then the class
<code class="xref py py-class docutils literal"><span class="pre">gevent.threadpool.ThreadPoolExecutor</span></code> is defined to create an
executor that always uses native threads, even when the system is
monkey-patched.</p>
</div>
<div class="section" id="library-updates">
<h2>Library Updates<a class="headerlink" href="#library-updates" title="Permalink to this headline"></a></h2>
<p>The two C libraries that are bundled with gevent have been updated.
libev has been updated from 4.20 to 4.23 (<a class="reference external" href="https://github.com/gevent/gevent/blob/master/deps/libev/Changes">libev release notes</a>) and
c-ares has been updated from 1.10.0 to 1.12.0 (<a class="reference external" href="https://c-ares.haxx.se/changelog.html">c-ares release notes</a>).</p>
</div>
<div class="section" id="compatibility">
<h2>Compatibility<a class="headerlink" href="#compatibility" title="Permalink to this headline"></a></h2>
<p>This release is intended to be compatible with 1.1.x with no changes
to client source code, so long as only non-deprecated and supported
interfaces were used (as always, internal, non-documented
implementation details may have changed).</p>
<p>In particular the deprecated <code class="docutils literal"><span class="pre">gevent.coros</span></code> module has been removed
and <code class="docutils literal"><span class="pre">gevent.corecext</span></code> and <code class="docutils literal"><span class="pre">gevent.corecffi</span></code> have also been removed.</p>
<p>For security, <code class="docutils literal"><span class="pre">gevent.pywsgi</span></code> no longer accepts incoming headers
containing an underscore, and header values passed to
<code class="docutils literal"><span class="pre">start_response</span></code> cannot contain a carriage return or newline. See
<a class="reference external" href="https://github.com/gevent/gevent/issues/819">issue #819</a> and <a class="reference external" href="https://github.com/gevent/gevent/issues/775">issue #775</a>, respectively.</p>
</div>
</div>


          <p><strong>Next page: <a href="reference.html" title="next chapter">API reference</a></strong></p>

                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col3 right">
            <div class="body">
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h4 class="label label-blue"><a href="contents.html">Table Of Contents</a></h4>
            <ul>
<li><a class="reference internal" href="#">What’s new in gevent 1.2</a><ul>
<li><a class="reference internal" href="#platform-support">Platform Support</a></li>
<li><a class="reference internal" href="#bug-fixes">Bug Fixes</a></li>
<li><a class="reference internal" href="#improved-subprocess-support">Improved subprocess support</a></li>
<li><a class="reference internal" href="#api-additions">API Additions</a></li>
<li><a class="reference internal" href="#library-updates">Library Updates</a></li>
<li><a class="reference internal" href="#compatibility">Compatibility</a></li>
</ul>
</li>
</ul>

            <ul>
          <li>Next: <a href="reference.html" title="next chapter">API reference</a></li>
          <li>Previous: <a href="intro.html" title="previous chapter">Introduction</a></li>
          </ul>
          <h4 class="label label-orange">Related pages</h4>
          <ul>
          <li><a href="https://github.com/gevent/gevent/tree/master/examples"
              title="Browse gevent/examples in the development repository">Code examples</a></li>
          </ul>

        </div>
      </div>
            </div>
        </div>
 		<div class="clearer">&nbsp;</div>
    </div>

	<div id="footer">

		<div class="left" id="footer-left">

            <p>version 1.2.2 <a href="http://denisbilenko.com" class="quiet-link">&copy; 2009-2015 Denis Bilenko, gevent contributors</a></p>

			<div class="clearer">&nbsp;</div>

		</div>

		<div class="right" id="footer-right">

			<p class="large"><a href="http://blog.gevent.org">Blog</a> <span class="text-separator">|</span> <a href="https://github.com/gevent/gevent">Code</a> <span class="text-separator">|</span> <a href="contents.html">Docs</a> <span class="text-separator">|</span> <a href="http://pypi.python.org/pypi/gevent">Download</a> <span class="text-separator">|</span> <a href="community.html">Mailing list</a> <span class="text-separator">|</span> <a href="https://github.com/gevent/gevent/issues">Issue tracker</a> <span class="text-separator">|</span> <a href="http://webchat.freenode.net/?channels=gevent" rel="nofollow">IRC</a> <span class="text-separator">|</span> <a href="#top" class="quiet">Page Top &uarr;</a></p>

		</div>

		<div class="clearer">&nbsp;</div>

	</div>

</div>

</body>
</html>