Skip to content

Commit

Permalink
Merge branch 'trunk' into 8868-lukasa-httpchannelproducerconsumer
Browse files Browse the repository at this point in the history
  • Loading branch information
hawkowl authored Nov 26, 2016
2 parents aaf12ac + d12bb01 commit 8c38a3d
Show file tree
Hide file tree
Showing 38 changed files with 261 additions and 36 deletions.
6 changes: 2 additions & 4 deletions .travis/twistedchecker-trunk-diff.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ fi
# Make sure we have trunk on the local repo.
git fetch origin +refs/heads/trunk:refs/remotes/origin/trunk

# Explicitly ignore extension modules. See: https://github.com/twisted/twistedchecker/issues/118
mkdir -p build/
twistedchecker -f parseable $target > build/twistedchecker-branch.report

echo 'NOTICE: TypeError: compile() traceback are a known'
echo 'See: https://github.com/twisted/twistedchecker/issues/118'
twistedchecker --ignore='raiser.so,portmap.so,_sendmsg.so' -f parseable "$target" > build/twistedchecker-branch.report

# Make sure repo is producing the diff with prefix so that the output of
# `git diff` can be parsed by diff_cover.
Expand Down
107 changes: 107 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,113 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Core 16.6.0 (2016-11-17)
================================

Features
--------
- The twist script can now be run by invoking python -m twisted.
(#8657)
- twisted.protocols.sip has been ported to Python 3. (#8669)
- twisted.persisted.dirdbm has been ported to Python 3. (#8888)

Bugfixes
--------
- twisted.internet.defer.Deferred now implements send, not __send__,
which means that it is now a conforming generator. (#8861)
- The IOCP reactor no longer transmits the contents of uninitialized
memory when writing large amounts of data. (#8870)
- Deferreds awaited/yielded from in a
twisted.internet.defer.ensureDeferred wrapped coroutine will now
properly raise exceptions. Additionally, it more closely models
asyncio.ensure_future and will pass through Deferreds. (#8878)
- Deferreds that are paused or chained on other Deferreds will now
return a result when yielded/awaited in a twisted.internet.defer
.ensureDeferred-wrapped coroutine, instead of returning the
Deferred it was chained to. (#8890)

Improved Documentation
----------------------
- twisted.test.proto_helpers is now explicitly covered by the
compatibility policy. (#8857)

Other
-----
- #8281, #8823, #8862


Twisted Conch 16.6.0 (2016-11-17)
=================================

Features
--------
- twisted.conch.ssh.keys supports ECDSA keys (#8798)
- scripts/ckeygen can now generate ecdsa keys. (#8828)
- ckeygen has been ported to Python 3 (#8855)

Deprecations and Removals
-------------------------
- twisted.conch.ssh no longer uses gmpy, if available. gmpy is
unmaintained, does not have binary wheels for any platforms, and an
alternative for higher performance is available in the form of
PyPy. (#8079)


Twisted Mail 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted Names 16.6.0 (2016-11-17)
=================================

No significant changes have been made for this release.


Twisted News 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted Pair 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted Runner 16.6.0 (2016-11-17)
==================================

No significant changes have been made for this release.


Twisted Web 16.6.0 (2016-11-17)
===============================

Features
--------
- twisted.web.server.Site's HTTP/2 server support now emits vastly
fewer WINDOW_UPDATE frames than previously. (#8681)

Bugfixes
--------
- twisted.web.Agent now tolerates receiving unexpected status codes
in the 100 range by discarding them, which is what RFC 7231
recommends doing. (#8885)
- twisted.web._http.H2Stream's getHost and getPeer implementations
now actually return the host and peer instead of None. (#8893)


Twisted Words 16.6.0 (2016-11-17)
=================================

Features
--------
- twisted.words.protocols.irc has been ported to Python 3 (#6320)


Twisted Core 16.5.0 (2016-10-28)
================================

Expand Down
7 changes: 3 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Twisted 16.5.0
Twisted 16.6.0
==============

|pypi|
Expand All @@ -8,10 +8,9 @@ Twisted 16.5.0

.. code::
<runciter> it's a consultancy about nothing
<meejah> we could call it Scrumfeld
<derwolfe> Twisted - thank you for continuing to be fun to use and relatively easy to test 😃
For information on what's new in Twisted 16.5.0, see the `NEWS <NEWS>`_ file that comes with the distribution.
For information on what's new in Twisted 16.6.0, see the `NEWS <NEWS>`_ file that comes with the distribution.


What is this?
Expand Down
10 changes: 0 additions & 10 deletions docs/fun/Twisted.Quotes
Original file line number Diff line number Diff line change
@@ -1,10 +0,0 @@
<runciter> it appears that i've been banned from most servers
<@glyph> runciter: you probably joined too many channels from the same nick / IP
<runciter> glyph: yep :( since this currently in the "dumb hack" stage of development i figured my code would blow up first
<@glyph> runciter: that is a common problem with first-run Twisted services
<@glyph> runciter: it's more likely you'll knock over the service you're talking to than that you'll crash
<runciter> glyph: why does it have to work so well
<runciter> glyph: this was never a problem with gevent
%
<derwolfe> Twisted - thank you for continuing to be fun to use and relatively easy to test 😃
%
10 changes: 10 additions & 0 deletions docs/historic/Quotes/Twisted-16.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<runciter> it appears that i've been banned from most servers
<@glyph> runciter: you probably joined too many channels from the same nick / IP
<runciter> glyph: yep :( since this currently in the "dumb hack" stage of development i figured my code would blow up first
<@glyph> runciter: that is a common problem with first-run Twisted services
<@glyph> runciter: it's more likely you'll knock over the service you're talking to than that you'll crash
<runciter> glyph: why does it have to work so well
<runciter> glyph: this was never a problem with gevent
%
<derwolfe> Twisted - thank you for continuing to be fun to use and relatively easy to test 😃
%
2 changes: 1 addition & 1 deletion src/twisted/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@

from incremental import Version

__version__ = Version('Twisted', 16, 5, 0)
__version__ = Version('Twisted', 16, 6, 0, dev=0)
__all__ = ["__version__"]
1 change: 0 additions & 1 deletion src/twisted/conch/topfiles/8079.removal

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/topfiles/8798.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/topfiles/8828.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/topfiles/8855.feature

This file was deleted.

17 changes: 17 additions & 0 deletions src/twisted/conch/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Conch 16.6.0 (2016-11-17)
=================================

Features
--------
- twisted.conch.ssh.keys supports ECDSA keys (#8798)
- scripts/ckeygen can now generate ecdsa keys. (#8828)
- ckeygen has been ported to Python 3 (#8855)

Deprecations and Removals
-------------------------
- twisted.conch.ssh no longer uses gmpy, if available. gmpy is
unmaintained, does not have binary wheels for any platforms, and an
alternative for higher performance is available in the form of
PyPy. (#8079)


Twisted Conch 16.5.0 (2016-10-28)
=================================

Expand Down
5 changes: 5 additions & 0 deletions src/twisted/internet/_sslverify.py
Original file line number Diff line number Diff line change
Expand Up @@ -1520,6 +1520,10 @@ def __init__(self,
self._OP_CIPHER_SERVER_PREFERENCE
)

# Set the mode to Release Buffers, which demallocs send/recv buffers on
# idle TLS connections to save memory
self._mode = SSL.MODE_RELEASE_BUFFERS

if method is None:
# If no method is specified set things up so that TLSv1.0 and newer
# will be supported.
Expand Down Expand Up @@ -1620,6 +1624,7 @@ def getContext(self):
def _makeContext(self):
ctx = self._contextFactory(self.method)
ctx.set_options(self._options)
ctx.set_mode(self._mode)

if self.certificate is not None and self.privateKey is not None:
ctx.use_certificate(self.certificate)
Expand Down
6 changes: 6 additions & 0 deletions src/twisted/mail/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Mail 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted Mail 16.5.0 (2016-10-28)
================================

Expand Down
6 changes: 6 additions & 0 deletions src/twisted/names/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Names 16.6.0 (2016-11-17)
=================================

No significant changes have been made for this release.


Twisted Names 16.5.0 (2016-10-28)
=================================

Expand Down
6 changes: 6 additions & 0 deletions src/twisted/news/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted News 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted News 16.5.0 (2016-10-28)
================================

Expand Down
6 changes: 6 additions & 0 deletions src/twisted/pair/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Twisted Pair 16.6.0 (2016-11-17)
================================

No significant changes have been made for this release.


Twisted Pair 16.5.0 (2016-10-28)
================================

Expand Down
6 changes: 6 additions & 0 deletions src/twisted/runner/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Runner 16.6.0 (2016-11-17)
==================================

No significant changes have been made for this release.


Twisted Runner 16.5.0 (2016-10-28)
==================================

Expand Down
24 changes: 24 additions & 0 deletions src/twisted/test/test_sslverify.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,8 @@ class FakeContext(object):
@ivar _verifyDepth: Set by L{set_verify_depth}.
@ivar _mode: Set by L{set_mode}.
@ivar _sessionID: Set by L{set_session_id}.
@ivar _extraCertChain: Accumulated L{list} of all extra certificates added
Expand Down Expand Up @@ -437,6 +439,15 @@ def check_privatekey(self):
return None


def set_mode(self, mode):
"""
Set the mode. See L{SSL.Context.set_mode}.
@param mode: See L{SSL.Context.set_mode}.
"""
self._mode = mode


def set_verify(self, flags, callback):
self._verify = flags, callback

Expand Down Expand Up @@ -800,6 +811,19 @@ def test_basicSecurityOptionsAreSet(self):
self.assertEqual(options, ctx._options & options)


def test_modeIsSet(self):
"""
Every context must be in C{MODE_RELEASE_BUFFERS} mode.
"""
opts = sslverify.OpenSSLCertificateOptions(
privateKey=self.sKey,
certificate=self.sCert,
)
opts._contextFactory = FakeContext
ctx = opts.getContext()
self.assertEqual(SSL.MODE_RELEASE_BUFFERS, ctx._mode)


def test_singleUseKeys(self):
"""
If C{singleUseKeys} is set, every context must have
Expand Down
1 change: 1 addition & 0 deletions src/twisted/topfiles/8247.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
twisted.internet.ssl.CertificateOptions now sets the OpenSSL context's mode to MODE_RELEASE_BUFFERS, which will free the read/write buffers on idle TLS connections to save memory.
1 change: 0 additions & 1 deletion src/twisted/topfiles/8657.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/topfiles/8669.feature

This file was deleted.

Empty file removed src/twisted/topfiles/8823.misc
Empty file.
1 change: 0 additions & 1 deletion src/twisted/topfiles/8857.doc

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/topfiles/8861.bugfix

This file was deleted.

Empty file removed src/twisted/topfiles/8862.misc
Empty file.
2 changes: 0 additions & 2 deletions src/twisted/topfiles/8870.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/topfiles/8878.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/topfiles/8888.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/topfiles/8890.bugfix

This file was deleted.

File renamed without changes.
35 changes: 35 additions & 0 deletions src/twisted/topfiles/NEWS
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Core 16.6.0 (2016-11-17)
================================

Features
--------
- The twist script can now be run by invoking python -m twisted.
(#8657)
- twisted.protocols.sip has been ported to Python 3. (#8669)
- twisted.persisted.dirdbm has been ported to Python 3. (#8888)

Bugfixes
--------
- twisted.internet.defer.Deferred now implements send, not __send__,
which means that it is now a conforming generator. (#8861)
- The IOCP reactor no longer transmits the contents of uninitialized
memory when writing large amounts of data. (#8870)
- Deferreds awaited/yielded from in a
twisted.internet.defer.ensureDeferred wrapped coroutine will now
properly raise exceptions. Additionally, it more closely models
asyncio.ensure_future and will pass through Deferreds. (#8878)
- Deferreds that are paused or chained on other Deferreds will now
return a result when yielded/awaited in a twisted.internet.defer
.ensureDeferred-wrapped coroutine, instead of returning the
Deferred it was chained to. (#8890)

Improved Documentation
----------------------
- twisted.test.proto_helpers is now explicitly covered by the
compatibility policy. (#8857)

Other
-----
- #8281, #8823, #8862


Twisted Core 16.5.0 (2016-10-28)
================================

Expand Down
1 change: 0 additions & 1 deletion src/twisted/web/topfiles/8681.feature

This file was deleted.

Loading

0 comments on commit 8c38a3d

Please sign in to comment.