Skip to content

Commit

Permalink
Merge no-conflict-14.0-7039: Release Twisted 14.0.0
Browse files Browse the repository at this point in the history
Author: hawkowl
Reviewers: exarkun, itamar, hynek
Fixes: twisted#7039

Release Twisted 14.0.0

git-svn-id: svn://svn.twistedmatrix.com/svn/Twisted/trunk@42638 bbbe8e31-12d6-0310-92fd-ac37d47ddeeb
  • Loading branch information
hawkowl committed May 12, 2014
1 parent f2877a7 commit 811945c
Show file tree
Hide file tree
Showing 150 changed files with 616 additions and 113 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2001-2013
Copyright (c) 2001-2014
Allen Short
Andy Gayton
Andrew Bennetts
Expand Down
284 changes: 284 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,290 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Core 14.0.0 (2014-05-08)
================================

Features
--------
- twisted.internet.interfaces.IUDPTransport - and that interface's
implementations in Twisted - now supports enabling broadcasting.
(#454)
- trial's TestCase will now report a test method as an error if that
test method is a generator function, preventing an issue when a
user forgets to decorate a test method with defer.inlineCallbacks,
causing the test method to not run. (#3917)
- twisted.positioning, a new API for positioning systems such as GPS,
has been added. It comes with an implementation of NMEA, the most
common wire protocol for GPS devices. It will supersede
twisted.protoocols.gps. (#3926)
- The new interface twisted.internet.interfaces.IStreamClientEndpoint
StringParserWithReactor will supply the reactor to its
parseStreamClient method, passed along from
twisted.internet.endpoints.clientFromString. (#5069)
- IReactorUDP.listenUDP, IUDPTransport.write and
IUDPTransport.connect now accept ipv6 address literals. (#5086)
- A new API, twisted.internet.ssl.optionsForClientTLS, allows clients
to specify and verify the identity of the peer they're communicating
with. When used with the service_identity library from PyPI, this
provides support for service identity verification from RFC 6125, as
well as server name indication from RFC 6066. (#5190)
- Twisted's TLS support now provides a way to ask for user-configured
trust roots rather than having to manually configure such
certificate authority certificates yourself.
twisted.internet.ssl.CertificateOptions now accepts a new argument,
trustRoot, which combines verification flags and trust sources, as
well as a new function that provides a value for that argument,
twisted.internet.ssl.platformTrust, which allows using the trusted
platform certificate authorities from OpenSSL for certificate
verification. (#5446)
- Constants are now comparable/orderable based on the order in which
they are defined. (#6523)
- "setup.py install" and "pip install" now work on Python 3.3,
installing the subset of Twisted that has been ported to Python 3.
(#6539)
- twisted.internet.ssl.CertificateOptions now supports ECDHE for
servers by default on pyOpenSSL 0.14 and later, if the underlying
versions of cryptography.io and OpenSSL support it. (#6586)
- twisted.internet.ssl.CertificateOptions now allows the user to set
acceptable ciphers and uses secure ones by default. (#6663)
- The Deferred returned by
twisted.internet.defer.DeferredFilesystemLock.deferUntilLocked can
now be cancelled. (#6720)
- twisted.internet.ssl.CertificateOptions now enables TLSv1.1 and
TLSv1.2 by default (in addition to TLSv1.0) if the underlying
version of OpenSSL supports these protocol versions. (#6772)
- twisted.internet.ssl.CertificateOptions now supports Diffie-Hellman
key exchange. (#6799)
- twisted.internet.ssl.CertificateOptions now disables TLS
compression to avoid CRIME attacks and, for servers, uses server
preference to choose the cipher. (#6801)
- SSL server endpoint string descriptions now support the
specification of Diffie-Hellman key exchange parameter files.
(#6924)
- twisted.python.reflect.requireModule was added to handle
conditional imports of python modules and work around pyflakes
warnings of unused imports code. (#7014)

Bugfixes
--------
- If a ProcessProtocol.processExited method raised an exception a
broken process handler would be left in the global process state
leading to errors later on. This has been fixed and now an error
will be logged instead. (#5151)
- Twisted now builds on Solaris. Note that lacking a Buildbot slave
(see http://buildbot.twistedmatrix.com/boxes-supported) Solaris is
not a supported Twisted platform. (#5728)
- twisted.internet.utils is now correctly installed on Python 3.
(#6929)
- twisted.python.threadpool.ThreadPool no longer starts new workers
when its pool size is changed while the pool is not running.
(#7011)

Improved Documentation
----------------------
- Twisted now uses the Sphinx documentation generator for its
narrative documentation, which means that the source format for
narrative documentation has been converted to ReStructuredText.
(#4500)
- The Sphinx documentation is now also configured to allow
intersphinx links to standard library documentation. (#4582)
- The docstring for twisted.internet.task.react now better documents
the main parameter (#6071)
- The writing standard now explicitly mandates the usage of
ungendered pronouns. (#6858)

Deprecations and Removals
-------------------------
- test_import.py was removed as it was redundant. (#2053)
- Support for versions of pyOpenSSL older than 0.10 has been removed.
Affected users should upgrade pyOpenSSL. (#5014)
- twisted.internet.interfaces.IStreamClientEndpointStringParser is
now deprecated in favor of twisted.internet.interfaces.IStreamClien
tEndpointStringParserWithReactor. (#5069)
- unsignedID and setIDFunction, previously part of
twisted.python.util and deprecated since 13.0, have now been
removed. (#6707)
- FTPClient.changeDirectory was deprecated in 8.2 and is now removed.
(#6759)
- twisted.internet.stdio.StandardIO.closeStdin, an alias for
loseWriteConnection only available on POSIX and deprecated since
2.1, has been removed. (#6785)
- twisted.python.reflect.getcurrent is now deprecated and must not be
used. twisted.python.reflect.isinst is now deprecated in favor of
the built-in isinstance. (#6859)

Other
-----
- #1822, #5929, #6239, #6537, #6565, #6614, #6632, #6690, #6784,
#6792, #6795, #6821, #6843, #6846, #6854, #6856, #6857, #6872,
#6892, #6902, #6906, #6922, #6926, #6936, #6941, #6942, #6943,
#6944, #6945, #6946, #6948, #6979, #7001, #7049, #7051, #7094,
#7098


Twisted Conch 14.0.0 (2014-05-08)
=================================

Improved Documentation
----------------------
- The docstring for twisted.conch.ssh.userauth.SSHUserAuthClient is
now clearer on how the preferredOrder instance variable is handled.
(#6850)

Other
-----
- #6696, #6807, #7054


Twisted Lore 14.0.0 (2014-05-08)
================================

Deprecations and Removals
-------------------------
- twisted.lore is now deprecated in favor of Sphinx. (#6907)

Other
-----
- #6998


Twisted Mail 14.0.0 (2014-05-08)
================================

Improved Documentation
----------------------
- twisted.mail.alias now has full API documentation. (#6637)
- twisted.mail.tap now has full API documentation. (#6648)
- twisted.mail.maildir now has full API documentation. (#6651)
- twisted.mail.pop3client now has full API documentation. (#6653)
- twisted.mail.protocols now has full API documentation. (#6654)
- twisted.mail.pop now has full API documentation. (#6666)
- twisted.mail.relay and twisted.mail.relaymanager now have full API
documentation. (#6739)
- twisted.mail.pop3client public classes now appear as part of the
twisted.mail.pop3 API. (#6761)

Other
-----
- #6696


Twisted Names 14.0.0 (2014-05-08)
=================================

Features
--------
- twisted.names.root.Resolver now accepts a resolverFactory argument,
which makes it possible to control how root.Resolver performs
iterative queries to authoritative nameservers. (#6095)
- twisted.names.dns.Message now has a repr method which shows only
those instance flags, fields and sections which are set to non-
default values. (#6847)
- twisted.names.dns.Message now support rich comparison. (#6848)

Bugfixes
--------
- twisted.names.server.DNSServerFactory now responds with messages
whose flags and fields are reset to their default values instead of
copying these from the request. This means that AD and CD flags,
and EDNS OPT records in the request are no longer mirrored back to
the client. (#6645)

Improved Documentation
----------------------
- twisted.names now has narrative documentation showing how to create
a custom DNS server. (#6864)
- twisted.names.server now has full API documentation. (#6886)
- twisted.names now has narrative documentation explaining how to use
its client APIs. (#6925)
- twisted.names now has narrative documentation and examples showing
how to perform reverse DNS lookups. (#6969)

Other
-----
- #5675, #6222, #6672, #6696, #6887, #6940, #6975, #6990


Twisted News 14.0.0 (2014-05-08)
================================

No significant changes have been made for this release.

Other
-----
- #6991


Twisted Pair 14.0.0 (2014-05-08)
================================

Features
--------
- twisted.pair.tuntap now has complete test coverage, basic
documentation, and works without the difficult-to-find system
bindings it used to require. (#6169)

Other
-----
- #6898, #6931, #6993


Twisted Runner 14.0.0 (2014-05-08)
==================================

No significant changes have been made for this release.

Other
-----
- #6992


Twisted Web 14.0.0 (2014-05-08)
===============================

Features
--------
- twisted.web.http.proxiedLogFormatter can now be used with
twisted.web.http.HTTPFactory (and subclasses) to record X
-Forwarded-For values to the access log when the HTTP server is
deployed behind a reverse proxy. (#1468)
- twisted.web.client.Agent now uses
twisted.internet.ssl.CertificateOptions for SSL/TLS and benefits
from its continuous improvements. (#6893)

Bugfixes
--------
- twisted.web.client.Agent now correctly manage flow-control on
pooled connections, and therefore requests will no longer hang
sometimes when deliverBody is not called synchronously within the
callback on Request. (#6751)
- twisted.web.client.Agent now verifies that the provided server
certificate in a TLS connection is trusted by the platform. (#7042)
- When requesting an HTTPS URL with twisted.web.client.Agent, the
hostname of the presented certificate will be checked against the
requested hostname; mismatches will now result in an error rather
than a man-in-the-middle opportunity for attackers. This may break
existing code that incorrectly depended on insecure behavior, but
such code was erroneous and should be updated. (#4888)

Other
-----
- #5004, #6881, #6956


Twisted Words 14.0.0 (2014-05-08)
=================================

Bugfixes
--------
- twisted.words.protocols.jabber.sasl_mechansisms.DigestMD5 now works
with unicode arguments. (#5066)

Other
-----
- #6696


Twisted Core 13.2.0 (2013-10-29)
================================

Expand Down
8 changes: 4 additions & 4 deletions README
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Twisted 13.2.0
Twisted 14.0.0

Quote of the Release:


<dash> I wish I was thorough and disciplined but I've been making do with brilliant but erratic
<exarkun> no food is sustainable. once you eat it it is gone.


For information on what's new in Twisted 13.2.0, see the NEWS file that comes
For information on what's new in Twisted 14.0.0, see the NEWS file that comes
with the distribution.

What is this?
Expand Down Expand Up @@ -93,7 +93,7 @@ Documentation and Support
Copyright
=========

All of the code in this distribution is Copyright (c) 2001-2013
All of the code in this distribution is Copyright (c) 2001-2014
Twisted Matrix Laboratories.

Twisted is made available under the MIT license. The included
Expand Down
22 changes: 0 additions & 22 deletions docs/fun/Twisted.Quotes
Original file line number Diff line number Diff line change
@@ -1,25 +1,3 @@
+ @ivar controller: has emit_replicate method and forest object
<itamar> Open a story for turning this into an explicit interface.
+ if slave == controller.ip:
<itamar> Requirement for ip attribute was not mentioned in @ivar controller.
+ self.sitejuggler = controller.controller.controller
<itamar> OMGOMGOMG.
%
<exarkun> things that people type are text
<exarkun> unless they are typing them into a terminal
<exarkun> hahahahaha
<exarkun> hth
%
<exarkun> no food is sustainable. once you eat it it is gone.
%
<dash> -!- opsec <~opsec@unaffiliated/opsec> has joined #python
<dash> dreid? is that you?
<dreid> No.
<dash> good answer, good answer
%
<radix> so markdown can't be used for poetry
<radix> oh wait &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yes it can
%
<hawkowl> you know what this email server needs
<hawkowl> global state
%
Expand Down
21 changes: 21 additions & 0 deletions docs/historic/Quotes/Twisted-14.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
+ @ivar controller: has emit_replicate method and forest object
<itamar> Open a story for turning this into an explicit interface.
+ if slave == controller.ip:
<itamar> Requirement for ip attribute was not mentioned in @ivar controller.
+ self.sitejuggler = controller.controller.controller
<itamar> OMGOMGOMG.
%
<exarkun> things that people type are text
<exarkun> unless they are typing them into a terminal
<exarkun> hahahahaha
<exarkun> hth
%
<exarkun> no food is sustainable. once you eat it it is gone.
%
<dash> -!- opsec <~opsec@unaffiliated/opsec> has joined #python
<dash> dreid? is that you?
<dreid> No.
<dash> good answer, good answer
%
<radix> so markdown can't be used for poetry
<radix> oh wait &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yes it can
2 changes: 1 addition & 1 deletion twisted/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
"""

from twisted.python import versions
version = versions.Version('twisted', 13, 2, 0)
version = versions.Version('twisted', 14, 0, 0)
2 changes: 1 addition & 1 deletion twisted/conch/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
"""

from twisted.python import versions
version = versions.Version('twisted.conch', 13, 2, 0)
version = versions.Version('twisted.conch', 14, 0, 0)
Empty file removed twisted/conch/topfiles/6807.misc
Empty file.
1 change: 0 additions & 1 deletion twisted/conch/topfiles/6850.doc

This file was deleted.

Empty file removed twisted/conch/topfiles/7054.misc
Empty file.
Loading

0 comments on commit 811945c

Please sign in to comment.