Skip to content

Commit

Permalink
Merge release-20.3-9772: Release 20.3.0
Browse files Browse the repository at this point in the history
Author: hawkowl
Reviewer: glyph
Fixes: ticket:9772
  • Loading branch information
hawkowl authored Mar 20, 2020
1 parent 965e87b commit 17e30cf
Show file tree
Hide file tree
Showing 38 changed files with 115 additions and 33 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-2019
Copyright (c) 2001-2020
Allen Short
Amber Hawkie Brown
Andrew Bennetts
Expand Down
90 changes: 90 additions & 0 deletions NEWS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,96 @@ http://twistedmatrix.com/trac/ticket/<number>

.. towncrier release notes start
Twisted 20.3.0 (2020-03-13)
===========================

Bugfixes
--------

- twisted.protocols.amp.BoxDispatcher.callRemote and callRemoteString will no longer return failing Deferreds for requiresAnswer=False commands when the transport they're operating on has been disconnected. (#9756)


Improved Documentation
----------------------

- Added a missing hyphen to a reference to the ``--debug`` option of ``pdb`` in the Trial how-to. (#9690)
- The documentation of the twisted.cred.checkers module has been extended and corrected. (#9724)


Deprecations and Removals
-------------------------

- twisted.news is deprecated. (#9405)


Misc
----

- #9634, #9701, #9707, #9710, #9715, #9726, #9727, #9728, #9729, #9735, #9737, #9757


Conch
-----

Features
~~~~~~~~

- twisted.conch.ssh now supports the curve25519-sha256 key exchange algorithm (requires OpenSSL >= 1.1.0). (#6814)
- twisted.conch.ssh.keys can now write private keys in the new "openssh-key-v1" format, introduced in OpenSSH 6.5 and made the default in OpenSSH 7.8. ckeygen has a corresponding new --private-key-subtype=v1 option. (#9683)


Bugfixes
~~~~~~~~

- twisted.conch.keys.Key.privateBlob now returns the correct blob format for ECDSA (i.e. the same as that implemented by OpenSSH). (#9682)


Misc
~~~~

- #9760


Web
---

Bugfixes
~~~~~~~~

- Fixed return type of twisted.web.http.Request.getUser and twisted.web.http.Request.getPassword to binary if no authorization header was found or an exception was thrown (#9596)
- twisted.web.http.HTTPChannel now rejects requests (with status code 400 and a drop) that have malformed headers of the form "Foo : value" or ": value". (#9646)
- twisted.web.http.Request now correctly parses multipart-encoded form data submitted as a chunked request on Python 3.7+. (#9678)
- twisted.web.client.BrowserLikePolicyForHTTPS is now listed in __all__, since it's a user-facing class that anyone could import and extend. (#9769)
- twisted.web.http was subject to several request smuggling attacks. Requests with multiple Content-Length headers were allowed (CVE-2020-10108, thanks to Jake Miller from Bishop Fox and ZeddYu Lu for reporting this) and now fail with a 400; requests with a Content-Length header and a Transfer-Encoding header honored the first header (CVE-2020-10109, thanks to Jake Miller from Bishop Fox for reporting this) and now fail with a 400; requests whose Transfer-Encoding header had a value other than "chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail with a 400. (#9770)


Mail
----

Misc
~~~~

- #9733


Words
-----

Bugfixes
~~~~~~~~

- Fixed parsing of streams with Python 3.8 when there are spaces in namespaces or namespaced attributes in twisted.words.xish.domish.ExpatElementStream (#9730)


Names
-----

Bugfixes
~~~~~~~~

- twisted.names.secondary.SecondaryAuthority now accepts str for its domain parameter, so twist dns --secondary now functions on Python 3. (#9496)


Twisted 19.10.0 (2019-11-03)
============================

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Some of these tests may fail if you:
Copyright
---------

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

Twisted is made available under the MIT license.
The included `LICENSE <LICENSE>`_ file describes this in detail.
Expand Down
2 changes: 1 addition & 1 deletion src/twisted/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from incremental import Version
from twisted.python.deprecate import deprecatedModuleAttribute
deprecatedModuleAttribute(
Version("Twisted", "NEXT", 0, 0),
Version('Twisted', 20, 3, 0),
"morituri nolumus mori",
"twisted",
"news"
Expand Down
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', 19, 10, 0, dev=0)
__version__ = Version('Twisted', 20, 3, 0, dev=0)
__all__ = ["__version__"]
1 change: 0 additions & 1 deletion src/twisted/conch/newsfragments/6814.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/newsfragments/9682.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/newsfragments/9683.feature

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/conch/newsfragments/9760.misc

This file was deleted.

8 changes: 4 additions & 4 deletions src/twisted/conch/ssh/keys.py
Original file line number Diff line number Diff line change
Expand Up @@ -1209,7 +1209,7 @@ def toString(self, type, extra=None, subtype=None, comment=None,
@param extra: Any extra data supported by the selected format which
is not part of the key itself. For public OpenSSH keys, this is
a comment. For private OpenSSH keys, this is a passphrase to
encrypt with. (Deprecated since Twisted NEXT; use C{comment}
encrypt with. (Deprecated since Twisted 20.3.0; use C{comment}
or C{passphrase} as appropriate instead.)
@type extra: L{bytes} or L{unicode} or L{None}
Expand All @@ -1222,14 +1222,14 @@ def toString(self, type, extra=None, subtype=None, comment=None,
@param comment: A comment to include with the key. Only supported
for OpenSSH keys.
Present since Twisted NEXT.
Present since Twisted 20.3.0.
@type comment: L{bytes} or L{unicode} or L{None}
@param passphrase: A passphrase to encrypt the key with. Only
supported for private OpenSSH keys.
Present since Twisted NEXT.
Present since Twisted 20.3.0.
@type passphrase: L{bytes} or L{unicode} or L{None}
Expand All @@ -1240,7 +1240,7 @@ def toString(self, type, extra=None, subtype=None, comment=None,
warnings.warn(
"The 'extra' argument to "
"twisted.conch.ssh.keys.Key.toString was deprecated in "
"Twisted NEXT; use 'comment' or 'passphrase' instead.",
"Twisted 20.3.0; use 'comment' or 'passphrase' instead.",
DeprecationWarning, stacklevel=3)
if self.isPublic():
comment = extra
Expand Down
6 changes: 3 additions & 3 deletions src/twisted/copyright.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@

longversion = str(longversion)

copyright="""\
Copyright (c) 2001-2019 Twisted Matrix Laboratories.
copyright = """\
Copyright (c) 2001-2020 Twisted Matrix Laboratories.
See LICENSE for details."""

disclaimer='''
disclaimer = '''
Twisted, the Framework of Your Internet
%s
Expand Down
Empty file.
2 changes: 1 addition & 1 deletion src/twisted/names/dns.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ def domainString(domain):
@returns: L{bytes} suitable for network transmission.
@rtype: L{bytes}
@since: Twisted NEXT
@since: Twisted 20.3.0
"""
if isinstance(domain, unicode):
domain = domain.encode('idna')
Expand Down
1 change: 0 additions & 1 deletion src/twisted/names/newsfragments/9496.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/newsfragments/9405.removal

This file was deleted.

Empty file.
1 change: 0 additions & 1 deletion src/twisted/newsfragments/9690.doc

This file was deleted.

Empty file.
1 change: 0 additions & 1 deletion src/twisted/newsfragments/9707.misc

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/newsfragments/9710.misc

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/newsfragments/9715.misc

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/newsfragments/9724.doc

This file was deleted.

Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
1 change: 0 additions & 1 deletion src/twisted/newsfragments/9756.bugfix

This file was deleted.

Empty file.
14 changes: 12 additions & 2 deletions src/twisted/python/_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -523,8 +523,18 @@ def main(self, args):
branch = runCommand([b"git", b"rev-parse", b"--abbrev-ref", "HEAD"],
cwd=location).decode(encoding).strip()

r = runCommand([b"git", b"diff", b"--name-only", b"origin/trunk..."],
cwd=location).decode(encoding).strip()
# diff-filter=d to exclude deleted newsfiles (which will happen on the
# release branch)
r = runCommand(
[
b"git",
b"diff",
b"--name-only",
b"origin/trunk...",
b"--diff-filter=d"
],
cwd=location
).decode(encoding).strip()

if not r:
self._print(
Expand Down
2 changes: 1 addition & 1 deletion src/twisted/test/test_news.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_deprecated(self):
self.assertEqual(
warningsShown[0]['message'],
(
'twisted.news was deprecated in Twisted NEXT: '
'twisted.news was deprecated in Twisted 20.3.0: '
'morituri nolumus mori'
)
)
Expand Down
1 change: 0 additions & 1 deletion src/twisted/web/newsfragments/9596.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/web/newsfragments/9646.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/web/newsfragments/9678.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/web/newsfragments/9769.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/web/newsfragments/9770.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion src/twisted/words/newsfragments/9730.bugfix

This file was deleted.

0 comments on commit 17e30cf

Please sign in to comment.