Twisted Core 13.1.0 (2013-06-23)
================================
Features
--------
- trial now has an --exitfirst flag which stops the test run after
the first error or failure. (#1518)
- twisted.internet.ssl.CertificateOptions now supports chain
certificates. (#2061)
- twisted.internet.endpoints now provides ProcessEndpoint, a child
process endpoint. (#4696)
- Factory now has a forProtocol classmethod that constructs an
instance and sets its protocol attribute. (#5016)
- twisted.internet.endpoints.connectProtocol allows connecting to a
client endpoint using only a protocol instance, rather than
requiring a factory. (#5270)
- twisted.trial.unittest.SynchronousTestCase.assertNoResult no longer
swallows the result, if the assertion succeeds. (#6291)
- twisted.python.constants.FlagConstant implements __iter__ so that
it can be iterated upon to find the flags that went into a flag
set, and implements __nonzero__ to test as false when empty.
(#6302)
- assertIs and assertIsNot have now been added to
twisted.trial.unittest.TestCase. (#6350)
- twisted.trial.unittest.TestCase.failureResultOf now takes an
optional expected failure type argument. (#6380)
- The POSIX implementation of
twisted.internet.interfaces.IReactorProcess now does not change the
parent process UID or GID in order to run child processes with a
different UID or GID. (#6443)
Bugfixes
--------
- self.transport.resumeProducing() will no longer raise an
AssertionError if called after self.transport.loseConnection()
(#986)
- twisted.protocols.ftp.FTP now supports IFTPShell implementations
which return non-ASCII filenames as unicode strings. (#5411)
- twisted.internet.ssl.CertificateOptions now disables SSLv2 if
SSLv23 is selected, allowing only SSLv3 and TLSv1. (#6337)
- trial dist support now gets sys.path from an environment variable
passed to it. (#6390)
- twisted.test.proto_helpers.StringTransportWithDisconnection now
correctly passes Failure instead of an exception to
connectionLost through loseConnection. (#6521)
Improved Documentation
----------------------
- The Application howto now provides an example of writing a custom
Service. (#5586)
- The -j flag to trial (introduced in 12.3.0) is now documented.
(#5994)
- The SSL howto now covers twisted.internet.ssl.CertificateOptions
instead of the older context factories it replaces. (#6273)
- The Constants HOWTO documents iteration and truth testing of flags,
as well as previously undocumented boolean operations. (#6302)
Deprecations and Removals
-------------------------
- twisted.trial.runner.suiteVisit and PyUnitTestCase as well as
visitor methods, all deprecated since Twisted 8.0, have been
removed. (#3231)
- twisted.python._epoll bindings were removed; the epoll reactor now
uses the stdlib-provided epoll support. (#5847)
- The deprecated LENGTH, DATA, COMMA, and NUMBER NetstringReceiver
parser state attributes in t.protocols.basic are removed now.
(#6321)
- twisted.trial.runner.DryRunVisitor is now deprecated. Trial uses a
different method to handle --dry-run now. (#6333)
- twisted.python.hashlib is now deprecated in favor of hashlib from
stdlib. (#6342)
- twisted.web.server's Session.loopFactory, lifetime parameter of
Session.startCheckingExpiration and Session.checkExpired attributes,
deprecated since Twisted 9.0, have been removed. (#6514)
Other
-----
- #2380, #5197, #5228, #5386, #5459, #5578, #5801, #5952, #5955,
#5981, #6051, #6189, #6228, #6240, #6284, #6286, #6299, #6316,
#6353, #6354, #6368, #6377, #6378, #6381, #6389, #6400, #6403,
#6407, #6416, #6417, #6418, #6419, #6430, #6433, #6438, #6439,
#6440, #6441, #6444, #6459, #6465, #6468, #6477, #6480, #6498,
#6508, #6510, #6525
Twisted Conch 13.1.0 (2013-06-23)
=================================
Features
--------
- twisted.conch.endpoints.SSHCommandClientEndpoint is a new
IStreamClientEndpoint which supports connecting a protocol to the
stdio of a command running on a remote host via an SSH connection.
(#4698)
- twisted.conch.client.knownhosts.KnownHostsFile now has a public
`savePath` attribute giving the filesystem path where the known
hosts data is saved to and loaded from. (#6255)
- twisted.conch.endpoints.SSHCommandClientEndpoint.connect() returns
a cancellable Deferred when using new connections. (#6532)
Other
-----
- #5386, #6342, #6386, #6405, #6541
Twisted Lore 13.1.0 (2013-06-23)
================================
Deprecations and Removals
-------------------------
- twisted.lore.lint.parserErrors is deprecated now. (#5386)
Twisted Mail 13.1.0 (2013-06-23)
================================
Bugfixes
--------
- twisted.mail.smtp.ESMTPClient no longer tries to use a STARTTLS
capability offered by a server after TLS has already been
negotiated. (#6524)
Deprecations and Removals
-------------------------
- twisted.mail.IDomain.startMessage, deprecated since 2003, is
removed now. (#4151)
Other
-----
- #6342
Twisted Names 13.1.0 (2013-06-23)
=================================
No significant changes have been made for this release.
Other
-----
- #3908, #6381
Twisted News 13.1.0 (2013-06-23)
================================
No significant changes have been made for this release.
Other
-----
- #6342
Twisted Pair 13.1.0 (2013-06-23)
================================
No significant changes have been made for this release.
Twisted Runner 13.1.0 (2013-06-23)
==================================
No significant changes have been made for this release.
Twisted Web 13.1.0 (2013-06-23)
===============================
Features
--------
- The deferred returned by twisted.web.client.Agent.request can now
be cancelled. (#4330)
- twisted.web.client.BrowserLikeRedirectAgent, a new redirect agent,
treats HTTP 301 and 302 like HTTP 303 on non-HEAD/GET requests,
changing the method to GET before proceeding. (#5434)
- The new attribute twisted.web.iweb.IResponse.request is a reference
to a provider of the new twisted.web.iweb.IClientRequest interface
which, among other things, provides a way to access the request's
absolute URI. It is now also possible to inspect redirect history
with twisted.web.iweb.IResponse.previousResponse. (#5435)
- twisted.web.client.RedirectAgent now supports relative URI
references in the Location HTTP header. (#5462)
- twisted.web.client now provides readBody to collect the body of a
response from Agent into a string. (#6251)
Bugfixes
--------
- twisted.web.xmlrpc.QueryProtocol now generates valid Authorization
headers for long user names and passwords. (#2980)
Other
-----
- #6122, #6153, #6342, #6381, #6391, #6503
Twisted Words 13.1.0 (2013-06-23)
=================================
Features
--------
- twisted.words.protocols.irc.assembleFormattedText flattens a
formatting structure into mIRC-formatted markup; conversely
twisted.words.protocols.irc.stripFormatting removes all mIRC
formatting from text. (#3844)
Deprecations and Removals
-------------------------
- The `crippled` attribute in
twisted.words.protocols.jabber.xmpp_stringprep is deprecated now.
(#5386)
Other
-----
- #6315, #6342, #6392, #6402, #6479, #6481, #6482