Log message:
Updated py-twisted to 16.5.0.
Twisted Core 16.5.0 (2016-10-28)
================================
Features
--------
- Added twisted.internet.defer.Deferred.addTimeout method to enable
timeouts of deferreds. (#5786)
- Perspective Broker (the twisted.spread package) has been ported to
Python 3 (#7598)
- 'yield from' can now be used on Deferreds inside generators, when
the generator is wrapped with
twisted.internet.defer.ensureDeferred. (#8087)
- twisted.internet.asyncioreactor has been added, which is a Twisted
reactor on top of Python 3.4+'s native asyncio reactor. It can be
selected by passing "--reactor=asyncio" to Twisted tools (twistd,
Trial, etc) on platforms that support it (Python 3.4+). (#8367)
- twisted.python.zippath now works on Windows with Python 3. (#8747)
- twisted.internet.cfreactor is ported to Python 3 and supported on
2.7 and 3.5+. (#8838)
Bugfixes
--------
- twisted.internet.test.test_iocp and twisted.internet.test.test_tcp
have been fixed to work under Python 3 with the Windows IOCP
reactor (#8631)
- Arguments to processes on Windows are now passed mbcs-encoded
arguments. This prevents process-related tests from hanging on
Windows with Python 3. (#8735)
- Client and server TLS connections made via the client TLS endpoint
and the server SSL endpoint, as well as any other code that uses
twisted.internet.ssl.CertificateOptions, no longer accept 3DES-
based cipher suites by default, to defend against SWEET32. (#8781)
- twisted.logger.jsonFileLogObserver no longer emits non-JSON
tracebacks into its file; additionally,
twisted.logger.formatEventAsClassicLogText now includes traceback
information for the log event it formats. (#8858)
- twisted.python.version now exports a version of Incremental that is
16.10.1 or higher, making t.p.v.Version package name comparisons
case-insensitive. (#8863)
- twisted.python.reflect.safe_str encodes unicode as ascii with
backslashreplace error handling on Python 2. (#8864)
Improved Documentation
----------------------
- The twisted.internet.interfaces.IProtocol.dataReceived() method
takes one parameter of type bytes. This has been clarified in the
doc string. (#8763)
Deprecations and Removals
-------------------------
- twisted.python.constants is deprecated in preference to constantly
on PyPI, which is the same code rolled into its own package.
(#7351)
- twisted.python.dist3 has been made private API. (#8761)
- When the source code is checked out, bin/trial is no longer in the
tree. Developers working on the Twisted source code itself should
either (1) run all tests under tox, or (2) run 'python setup.py
develop' to install trial before running any tests. (#8765)
- twisted.protocols.gps, deprecated since Twisted 15.2, has been
removed. (#8787)
Other
-----
- #4926, #7868, #8209, #8214, #8271, #8308, #8324, #8348, #8367,
#8377, #8378, #8379, #8380, #8381, #8383, #8385, #8387, #8388,
#8389, #8391, #8392, #8393, #8394, #8397, #8406, #8410, #8412,
#8413, #8414, #8421, #8425, #8426, #8430, #8432, #8434, #8435,
#8437, #8438, #8439, #8444, #8451, #8452, #8453, #8454, #8456,
#8457, #8459, #8462, #8463, #8465, #8468, #8469, #8479, #8482,
#8483, #8486, #8490, #8493, #8494, #8496, #8497, #8498, #8499,
#8501, #8503, #8504, #8507, #8508, #8510, #8513, #8514, #8515,
#8516, #8517, #8520, #8521, #8522, #8523, #8524, #8527, #8528,
#8529, #8531, #8532, #8534, #8536, #8537, #8538, #8543, #8544,
#8548, #8552, #8553, #8554, #8555, #8557, #8560, #8563, #8565,
#8568, #8569, #8572, #8573, #8574, #8580, #8581, #8582, #8586,
#8589, #8590, #8592, #8593, #8598, #8603, #8604, #8606, #8609,
#8615, #8616, #8617, #8618, #8619, #8621, #8622, #8624, #8627,
#8628, #8630, #8632, #8634, #8640, #8644, #8645, #8646, #8647,
#8662, #8664, #8666, #8668, #8671, #8672, #8677, #8678, #8684,
#8691, #8702, #8705, #8706, #8716, #8719, #8724, #8725, #8727,
#8734, #8741, #8749, #8752, #8754, #8755, #8756, #8757, #8758,
#8767, #8773, #8776, #8779, #8780, #8785, #8788, #8789, #8790,
#8792, #8793, #8799, #8808, #8817, #8839, #8845, #8852
Twisted Conch 16.5.0 (2016-10-28)
=================================
Features
--------
- SSH key fingerprints can be generated using base64 encoded SHA256
hashes. (#8701)
Bugfixes
--------
- SSHUserAuthServer does not crash on keyboard interactive
authentication when running on Python 3 (#8771)
- twisted.conch.insults.insults.ServerProtocol no longer corrupts a
client's display when attempting to set the cursor position, and
its ECMA-48 terminal manipulation works on Python 3. (#8803)
Other
-----
- #8495, #8511, #8715, #8851
Twisted Mail 16.5.0 (2016-10-28)
================================
Deprecations and Removals
-------------------------
- twisted.mail.protocols.DomainSMTP and DomainESMTP, deprecated since
2003, have been removed. (#8772)
Other
-----
- #6289, #8525, #8786, #8830
Twisted Names 16.5.0 (2016-10-28)
=================================
No significant changes have been made for this release.
Other
-----
- #8625, #8663
Twisted Pair 16.5.0 (2016-10-28)
================================
Features
--------
- twisted.pair has been ported to Python 3 (#8744)
Twisted Web 16.5.0 (2016-10-28)
===============================
Bugfixes
--------
- twisted.web.client.HTTPConnectionPool and anything that uses it,
like twisted.web.client.Agent, have had their logic for resuming
transports changed so that transports are resumed after state
machine transitions are complete, rather than before. This change
allows the HTTP client infrastructure to work with alternative HTTP
implementations such as HTTP/2 which may be able to deliver a
complete response synchronously when producing is resumed. (#8720)
Other
-----
- #8519, #8530, #8629, #8707, #8777, #8778, #8844
Twisted Words 16.5.0 (2016-10-28)
=================================
No significant changes have been made for this release.
Other
-----
- #8360, #8460
|
Log message:
Updated py-twisted{,-docs} to 16.4.0.
Twisted Core 16.4.0 (2016-08-25)
================================
Features
--------
- Add twisted.application.twist, meant to eventually replace twistd
with a simpler interface. Add twisted.application.runner API,
currently private, which twist is built on. (#5705)
- The new interface IHandshakeListener that can be implemented by any
Protocol provides a callback that is called when the TLS handshake
has been completed, allowing Protocols to make decisions about the
TLS configuration before application data is sent. (#6024)
- twisted.python.syslog has been ported to Python 3. (#7957)
- twisted.internet.defer.ensureDeferred has been added, similar to
asyncio's ensure_future. Wrapping a coroutine (the result of a
function defined using async def, available only on Python 3.5+)
with it allows you to use the "await" keyword with Deferreds inside
the coroutine, similar to "yield" when using inlineCallbacks.
(#8088)
- twisted.internet.inotify have been ported to Python 3 (#8211)
- twisted.enterprise has been ported to Python 3. The third-party
pysqlite2 package has not been ported to Python 3, so any database
connector based on pysqlite2 cannot be used. Instead the sqlite3
module included with Python 3 should be used. (#8303)
- Scripts such as cftp, ckeygen, conch, mailmail, pyhtmlizer,
tkconch, twistd and trial have been updated to be setuptools
console scripts. (#8491)
- twisted.pair.raw and twisted.pair.rawudp have been ported to Python
3 (#8545)
- twisted.internet.baseprocess has been ported to Python 3. (#8546)
- twisted.python.dist has been ported to Python 3 (#8556)
- twisted.internet.interfaces.IOpenSSLContextFactory has been added,
which defines the interface provided both by the old-style
twisted.internet.ssl.ContextFactory class and the newer
twisted.interface.ssl.CertificateOptions class. This is a precursor
to formally deprecating the former class in favour of the latter.
(#8597)
- twisted.python.zipstream has been ported to Python 3 (#8607)
- Zip file entries returned by ChunkingZipFile.readfile() are now
context managers. (#8641)
- twisted.protocols.socks has been ported to Python 3 (#8665)
- twisted.spread.banana has been ported to Python 3 (#8667)
- Trial can now be invoked via "python -m twisted.trial". (#8712)
- twisted.protocols.postfix has been ported to Python 3 (#8713)
- twisted.protocols.wire and twisted.protocols.portforwarding have
been ported to Python 3 (#8717)
- twisted.protocols.stateful has been ported to Python 3 (#8718)
- twisted.protocols.memcache is now compatible with Python 3. (#8726)
- twisted.protocols.dict has been ported to Python 3 (#8732)
Bugfixes
--------
- pip install -e ".[dev]" now works on Python 3, but it will not
install twistedchecker or pydoctor, which have not yet been ported.
(#7807)
- twistd can now properly daemonize on Linux/Unix when run under
Python3 and will not hang indefinitely. (#8155)
- tox can now be used to run Twisted's tests on Windows (#8578)
- twisted.python.filepath.setContent() and
twisted.python.filepath.moveTo() now work on Windows with Python 3
(#8610)
- twisted.internet.win32eventreactor works on Python 3 in Windows
(#8626)
- The TLS payload buffer size was reduced in
twisted.protocols.tls.TLSMemoryBIOProtocol. This fixes writing of
very long strings using the TLSv1_1 method from the OpenSSL
library. (#8693)
- twisted.logger._flatten.flattenEvent() now does not crash if passed
a unicode string. (#8699)
- twisted.application.strports.service (and thus twistd) no longer
swallow asynchronous exceptions from IStreamServerEndpoint.listen.
(#8710)
- _twistd_unix now reports the name and encoded message of an
exception raised during daemonization on Python 2 and 3. (#8731)
- twisted.protocols.amp now handles floats on Python 3. Previously,
sending a float would raise a ValueError. (#8746)
Improved Documentation
----------------------
- Some broken links to xprogramming in the unit test documentation
have been fixed. (#8579)
- The Twisted Tutorial "The Evolution of Finger" has been updated to
use endpoints throughout. (#8588)
- Updated the mail examples to use endpoints and better TLS. (#8595)
- Changed the Twisted Web howto to use endpoints and modern TLS.
(#8596)
- Updated bug report URL in man pages. (#8600)
- In twisted.internet.udp.Port, write() takes a parameter of type
bytes. This is clarified in the docstring. (#8635)
- twisted.internet.interfaces.ITransport.write() and
twisted.internet.interfaces.ITransport.writeSequence() take bytes
parameters. (#8636)
- twisted.python.filepath.AbstractFilePath.getContent() returns
bytes. The docstring was updated to clarify this. (#8637)
- Updated release notes to reflect that 15.4 is the last version that
supported Python 2.6, not 15.5. (#8651)
- A missing space in defer.rst resulted in badly rendered output. The
space was added. (#8723)
Deprecations and Removals
-------------------------
- Dropped support for pyOpenSSL versions less than 16.0.0. (#8441)
Other
-----
- #4926, #7868, #8209, #8271, #8276, #8308, #8324, #8348, #8367,
#8377, #8378, #8379, #8380, #8381, #8383, #8385, #8386, #8387,
#8388, #8389, #8391, #8392, #8393, #8394, #8397, #8406, #8410,
#8412, #8413, #8414, #8421, #8425, #8426, #8428, #8429, #8430,
#8432, #8434, #8435, #8437, #8438, #8439, #8444, #8451, #8452,
#8453, #8454, #8456, #8457, #8459, #8462, #8463, #8465, #8468,
#8469, #8479, #8482, #8483, #8486, #8490, #8493, #8494, #8496,
#8497, #8498, #8499, #8501, #8503, #8504, #8507, #8508, #8510,
#8513, #8514, #8515, #8516, #8517, #8520, #8521, #8522, #8523,
#8524, #8527, #8528, #8529, #8531, #8532, #8534, #8536, #8537,
#8538, #8540, #8541, #8543, #8548, #8552, #8553, #8554, #8555,
#8557, #8560, #8563, #8565, #8568, #8569, #8572, #8573, #8574,
#8577, #8580, #8581, #8582, #8584, #8586, #8589, #8590, #8592,
#8593, #8598, #8603, #8604, #8606, #8609, #8615, #8616, #8617,
#8618, #8619, #8621, #8624, #8627, #8628, #8630, #8632, #8634,
#8640, #8644, #8645, #8646, #8647, #8648, #8662, #8664, #8666,
#8668, #8671, #8672, #8684, #8691, #8702, #8703, #8705, #8706,
#8716, #8719, #8724, #8725, #8727, #8733, #8734, #8741
Twisted Conch 16.4.0 (2016-08-25)
=================================
Features
--------
- twisted.conch.ssh.address is now ported to Python 3. (#8495)
- twisted.conch.ssh.transport is now ported to Python 3. (#8638)
- twisted.conch.ssh.channel is now ported to Python 3. (#8649)
- twisted.conch.ssh.userauth is now ported to Python 3. (#8654)
- twisted.conch.ssh.connection is now ported to Python 3. (#8660)
- twisted.conch.ssh.session is now ported to Python 3. (#8661)
- twisted.conch.ssh.filetransfer is now ported to Python 3. (#8675)
- twisted.conch.ssh.agent is now ported to Python 3. (#8686)
- twisted.conch.ssh is now ported to Python 3. (#8690)
- twisted.conch.openssh_compat.* is now ported to Python 3. (#8694)
- twisted.conch.client.knownhosts is now ported to Python 3. (#8697)
- twisted.conch.insults.insults has been ported to Python 3 (#8698)
- twisted.conch.client.default is now ported to Python 3. (#8700)
- twisted.conch.recvline has been ported to Python 3 (#8709)
- twisted.conch.endpoints is now ported to Python 3. (#8722)
Bugfixes
--------
- The SSHService is now a bytestring (#8653)
- The name field in SShChannel is now a bytestring (#8683)
Improved Documentation
----------------------
- Fixed syntax errors in cftp man page. (#8601)
Other
-----
- #8495, #8511, #8715
Twisted Mail 16.4.0 (2016-08-25)
================================
Deprecations and Removals
-------------------------
- twisted.mail.mail.DomainWithDefaultDict.has_key is now deprecated
in favor of the `in` keyword. (#8361)
- twisted.mail.protocols.SSLContextFactory, deprecated since Twisted
12.0, has been removed. (#8591)
Other
-----
- #8525
Twisted Names 16.4.0 (2016-08-25)
=================================
Features
--------
- twisted.names.srvconnect is now ported to Python 3. (#8262)
- twisted.names.resolve and twisted.names.tap have been ported to
Python 3 (#8550)
Other
-----
- #8625, #8663
Twisted Runner 16.4.0 (2016-08-25)
==================================
Features
--------
- twisted.runner has been ported to Python 3. (#8739)
Twisted Web 16.4.0 (2016-08-25)
===============================
Features
--------
- Twisted web HTTP/2 servers now time out HTTP/2 connections in the
same manner as HTTP/1.1 connections. (#8480)
Bugfixes
--------
- A bug in twisted.web.server.Site.makeSession which may lead to
predictable session IDs was fixed. Session IDs are now generated
securely using `os.urandom`. (#3460)
- twisted.web.server.Request.getSession will now, for a request sent
over HTTPS, set a "Secure" cookie, preventing the secure session
from being sent over plain-text HTTP. (#3461)
- If called multiple times, twisted.web.http.Request.setLastModified
now correctly observes the greatest supplied value. (#3807)
- The HTTP server now correctly times connections out. (broken in
16.2) (#8481)
- Twisted's HTTP/2 support no longer throws priority exceptions when
WINDOW_UDPATE frames are received after a response has been
completed. (#8558)
- twisted.web.twcgi.CGIScript will now not pass the "Proxy" header to
CGI scripts, as a mitigation to CVE-2016-1000111. (#8623)
- Twisted Web's HTTP/2 server can now tolerate streams being reset by
the client midway through a data upload without throwing
exceptions. (#8682)
- twisted.web.http.Request now swallows header writes on reset HTTP/2
streams, rather than erroring out. (#8685)
- twisted.web's HTTP/2 server now tolerates receiving WINDOW_UPDATE
frames for streams for which it has no outstanding data to send.
(#8695)
- twisted.web.http.HTTPChannel now resumes producing on finished,
non-persistent connections. This prevents HTTP/1 servers using TLS
from leaking a CLOSE_WAIT socket per request. (#8766)
Other
-----
- #8519, #8530, #8629, #8707
Twisted Words 16.4.0 (2016-08-25)
=================================
Features
--------
- twisted.words.xish is now ported to Python 3 (#8337)
- twisted.words.protocols.jabber is now ported to Python 3 (#8423)
- twisted.words.protocols.irc.ERR_TOOMANYMATCHES was introduced
according to the RFC 2812 errata. (#8585)
Bugfixes
--------
- twisted.words.protocols.irc.RPL_ADMINLOC was removed and replaced
with twisted.words.protocols.irc.RPL_ADMINLOC1 and
twisted.words.protocols.irc.RPL_ADMINLOC2 to match the admin
commands defined in RFC 2812. (#8585)
- twisted.words.protocols.jabber.sasl_mechanisms has been fixed for
Python 3.3 (#8738)
Improved Documentation
----------------------
- The XMPP client example now works on Python 3. (#8509)
Other
-----
- #8360, #8460
|
Log message:
Updated py-twisted to 16.3.2.
Twisted Web 16.3.2 (2016-08-18)
===============================
Bugfixes
--------
- twisted.web.http.HTTPChannel now resumes producing on finished,
non-persistent connections. This prevents HTTP/1 servers using TLS
from leaking a CLOSE_WAIT socket per request. (#8766)
Twisted Web 16.3.1 (2016-08-15)
===============================
Bugfixes
--------
- A bug in twisted.web.server.Site.makeSession which may lead to
predictable session IDs was fixed. Session IDs are now generated
securely using `os.urandom`. (#3460)
- twisted.web.server.Request.getSession will now, for a request sent
over HTTPS, set a "Secure" cookie, preventing the secure session
from being sent over plain-text HTTP. (#3461)
- Twisted's HTTP/2 support no longer throws priority exceptions when
WINDOW_UDPATE frames are received after a response has been
completed. (#8558)
- twisted.web.twcgi.CGIScript will now not pass the "Proxy" header to
CGI scripts, as a mitigation to CVE-2016-1000111. (#8623)
Twisted Core 16.3.0 (2016-07-05)
================================
Features
--------
- Defined a new interface, IProtocolNegotiationFactory, that can be
implemented by IOpenSSLClientConnectionCreator or
IOpenSSLServerConnectionCreator factories to allow them to offer
protocols for negotiation using ALPN or NPN during the TLS
handshake. (#8188)
- twisted.trial.unittest.SynchronousTestCase.assertRegex is now
available to provide Python 2.7 and Python 3 compatibility. (#8372)
Improved Documentation
----------------------
- Development documentation has been updated to refer to Git instead
of SVN. (#8335)
Deprecations and Removals
-------------------------
- twisted.python.reflect's deprecated functions have been removed.
This includes funcinfo (deprecated since Twisted 2.5), allYourBase
and accumulateBases (deprecated since Twisted 11.0), getcurrent and
isinst (deprecated since Twisted 14.0). (#8293)
- twisted.scripts.tap2deb and twisted.scripts.tap2rpm (along with the
associated executables), deprecated since Twisted 15.2, have now
been removed. (#8326)
- twisted.spread.ui has been removed. (#8329)
- twisted.manhole -- not to be confused with manhole in Conch -- has
been removed. This includes the semi-functional Glade reactor, the
manhole application, and the manhole-old twistd plugin. (#8330)
- twisted.protocols.sip.DigestAuthorizer, BasicAuthorizer, and
related functions have been removed. (#8445)
Other
-----
- #7229, #7826, #8290, #8323, #8331, #8336, #8341, #8344, #8345,
#8347, #8351, #8363, #8365, #8366, #8374, #8382, #8384, #8390,
#8395, #8396, #8398, #8399, #8400, #8401, #8403, #8404, #8405,
#8407, #8408, #8409, #8415, #8416, #8417, #8418, #8419, #8420,
#8427, #8433, #8436, #8461
Twisted Names 16.3.0 (2016-07-05)
=================================
Bugfixes
--------
- twisted.names.client.Resolver as well as all resolvers inheriting
from twisted.names.common.ResolverBase can now understand DNS
answers that come back in a different case than the query. Example:
querying for www.google.com and the answer comes back with an A
record for www.google.COM will now work. (#8343)
Twisted Web 16.3.0 (2016-07-05)
===============================
Features
--------
- twisted.web.http.HTTPChannel now implements ITransport. Along with
this change, twisted.web.http.Request now directs all its writes to
the HTTPChannel, rather than to the backing transport. This change
is required for future HTTP/2 work. (#8191)
- twisted.web.http.HTTPChannel now has a HTTP/2 implementation which
will be used if the transport has negotiated using it through
ALPN/NPN (see #8188). (#8194)
Bugfixes
--------
- twisted.web.client.Agent and twisted.web.client.ProxyAgent now add
brackets to IPv6 literal addresses in the host header they send.
(#8369)
- The HTTP server now correctly times connections out. (broken in
16.2) (#8481)
Deprecations and Removals
-------------------------
- twisted.web would previously dispatch pipelined requests
simultaneously and queue the responses. This behaviour did not
enforce any of the guarantees required by RFC 7230 or make it
possible for users to enforce those requirements. For this reason,
the parallel dispatch of requests has been removed. Pipelined
requests are now processed serially. (#8320)
|
Log message:
Update py-twisted to 16.1.1.
Twisted Web 16.1.1 (2016-04-08)
===============================
Bugfixes
--------
- twisted.web.http.Request once again has a reference to the
HTTPFactory which created it, the absence of which was preventing
log messages from being created. (#8272)
Twisted Core 16.1.0 (2016-04-04)
================================
Features
--------
- twisted.application.internet.ClientService, a service that
maintains a persistent outgoing endpoint-based connection; a
replacement for ReconnectingClientFactory that uses modern APIs.
(#4735)
- Twisted now uses setuptools' sdist to build tarballs. (#7985)
Bugfixes
--------
- Twisted is now compatible with OpenSSL 1.0.2f. (#8189)
Other
-----
- #4543, #8124, #8193, #8210, #8220, #8223, #8226, #8242
Twisted Conch 16.1.0 (2016-04-04)
=================================
Features
--------
- twisted.conch.checkers is now ported to Python 3. (#8225)
- twisted.conch.telnet is now ported to Python 3. (#8228)
- twisted.conch.manhole_ssh.ConchFactory (used by `twistd manhole`)
no longer uses a hardcoded SSH server key, and will generate a
persistent one, saving it in your user appdir. If you use
ConchFactory, you will now need to provide your own SSH server key.
(#8229)
Other
-----
- #8237, #8240
Twisted Web 16.1.0 (2016-04-04)
===============================
Features
--------
- twisted.web.http.Request.addCookie now supports both unicode and
bytes arguments, with unicode arguments being encoded to UTF-8.
(#8067)
Bugfixes
--------
- twisted.web.util.DeferredResource no longer causes spurious
"Unhandled error in Deferred" log messages. (#8192)
- twisted.web.server.site.makeSession now generates an uid of type
bytes on both Python 2 and 3. (#8215)
Other
-----
- #8238
Twisted Core 16.0.0 (2016-03-10)
================================
Features
--------
- todo parameter for IReporter.addExpectedSuccess and
IReporter.addUnexpectedSuccess is no longer required. If not
provided, a sensible default will be used instead. (#4811)
- A new string endpoint type, "tls:", allows for properly-verified
TLS (unlike "ssl:", always matching hostname resolution with
certificate hostname verification) with faster IPv4/IPv6
connections. This comes with an accompanying function,
twisted.internet.endpoints.wrapClientTLS, which can wrap an
arbitrary client endpoint with client TLS. (#5642)
- twisted.python.filepath.makedirs accepts an ignoreExistingDirectory
flag which ignore the OSError raised by os.makedirs if requested
directory already exists. (#5704)
- twisted.protocols.amp has been ported to Python 3. (#6833)
- twisted.internet.ssl.trustRootFromCertificates returns an object
suitable for use as trustRoot= to
twisted.internet.ssl.optionsForClientTLS that trusts multiple
certificates. (#7671)
- twisted.python.roots is now ported to Python 3. (#8131)
- twisted.cred.strports has been ported to Python 3. (#8216)
Bugfixes
--------
- Expected failures from standard library unittest no longer fail
with Trial reporters. (#4811)
- twisted.internet.endpoints.HostnameEndpoint.connect no longer fails
with an AlreadyCalledError when the Deferred it returns is
cancelled after all outgoing connection attempts have been made but
none have yet succeeded or failed. (#8014)
- twisted.internet.task.LoopingCall.withCount when run with internal
of 0, now calls the countCallable with 1, regardless of the time
passed between calls. (#8125)
- twisted.internet.endpoints.serverFromString, when parsing a SSL
strports definition, now gives the correct error message when an
empty chain file is given. (#8222)
Improved Documentation
----------------------
- The Twisted Project has adopted the Contributor Covenant as its
Code of Conduct. (#8173)
Deprecations and Removals
-------------------------
- twisted.internet.task.LoopingCall.deferred is now deprecated. Use
the deferred returned by twisted.internet.task.LoopingCall.start()
(#8116)
- twisted.internet.gtkreactor, the GTK+ 1 reactor deprecated since
Twisted 10.1, has been removed. This does not affect the GTK2,
GLib, GTK3, or GObject-Introspection reactors. (#8145)
- twisted.protocols.mice, containing a Logitech MouseMan serial
driver, has been deprecated. (#8148)
- The __version__ attribute of former subprojects (conch, mail,
names, news, pair, runner, web, and words) is deprecated in
preference to the central twisted.__version__. (#8219)
Other
-----
- #6842, #6978, #7668, #7791, #7881, #7943, #7944, #8050, #8104,
#8115, #8119, #8122, #8139, #8144, #8154, #8162, #8180, #8187,
#8220
Twisted Conch 16.0.0 (2016-03-10)
=================================
Features
--------
- twisted.conch now uses cryptography instead of PyCrypto for its
underlying crypto operations. (#7413)
- twisted.conch.ssh.keys is now ported to Python 3. (#7998)
Bugfixes
--------
- twisted.conch.ssh.channel.SSHChannel's getPeer and getHost methods
now return an object which provides IAddress instead of an old-
style tuple address. (#5999)
- twisted.conch.endpoint.SSHCommandClientEndpoint, when
authentication is delegated to an SSH agent, no longer leaves the
agent connection opened when connection to the server is lost.
(#8138)
Other
-----
- #7037, #7715, #8200, #8208
Twisted Web 16.0.0 (2016-03-10)
===============================
Features
--------
- twisted.web.http_headers._DictHeaders now correctly handles
updating via keyword arguments in Python 3 (therefore
twisted.web.http_headers is now fully ported to Python 3). (#6082)
- twisted.web.wsgi has been ported to Python 3. (#7993)
- twisted.web.http_headers.Headers now accepts both Unicode and
bytestring keys and values, encoding to iso-8859-1 and utf8
respectively. (#8129)
- twisted.web.vhost ported to Python 3. (#8132)
Bugfixes
--------
- twisted.web.http.HTTPChannel now correctly handles non-ascii method
name by returning 400. Previously non-ascii method name was causing
unhandled exceptions. (#8102)
- twisted.web.static.File on Python 3 now redirects paths to
directories without a trailing slash, to a path with a trailing
slash, as on Python 2. (#8169)
Deprecations and Removals
-------------------------
- twisted.web.http.Request's headers and request_headers attributes,
deprecated since Twisted 13.2, have been removed. (#8136)
- twisted.web.static.addSlash is deprecated. (#8169)
Other
-----
- #8140, #8182
|