Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-Twisted for openSUSE:Factory checked in at 2021-08-12 09:01:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Twisted (Old) and /work/SRC/openSUSE:Factory/.python-Twisted.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Twisted" Thu Aug 12 09:01:01 2021 rev:47 rq:910780 version:21.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Twisted/python-Twisted.changes 2021-05-19 17:49:05.713606319 +0200 +++ /work/SRC/openSUSE:Factory/.python-Twisted.new.1899/python-Twisted.changes 2021-08-12 09:01:45.482142225 +0200 @@ -1,0 +2,20 @@ +Mon Aug 2 06:41:10 UTC 2021 - Mark??ta Machov?? <mmach...@suse.com> + +- typing_extensions is now required + +------------------------------------------------------------------- +Sat Jul 31 04:27:55 UTC 2021 - Matej Cepl <mc...@suse.com> + +- Update to 21.7.0: + - Python 3.10 beta is now a supported platform and should be ready for + the final 3.10 release. + - twisted.web.template.renderElement() now accepts any IRequest + implementer instead of only twisted.web.server.Request. Add type + hints to twisted.web.template. (#10184) + - Type hinting was added to twisted.internet.defer, making this the + first release of Twisted where you might reasonably be able to use + mypy without your own custom stub files. (#10017) +- Patch incremental-21.patch removed, because included in the + upstream tarball. + +------------------------------------------------------------------- @@ -11,13 +31,28 @@ - + The enableSessions argument to twisted.internet.ssl.CertificateOptions now - + actually enables/disables OpenSSL's session cache. Also, due to - + session-related bugs, it defaults to False. (#9583) - + twisted.internet.defer.inlineCallbacks and ensureDeferred will now associate a contextvars.Context with the coroutines they run, meaning that ContextVar objects will maintain their value within the same coroutine, similarly to asyncio Tasks. This functionality requires Python 3.7+, or the contextvars PyPI backport to be installed for Python 3.5-3.6. (#9719, #9826) - + twisted.internet.defer.Deferred.fromCoroutine has been added. This is similar to the existing ensureDeferred function, but is named more consistently inside Twisted and does not pass through Deferreds. (#9825) - + trial now allows the @unittest.skipIf decorator to specify that an entire test class should be skipped. (#9829) - + The twisted.python.deprecate.deprecatedKeywordParameter decorator can be used to mark a keyword paramater of a function or method as deprecated. (#9844) - + Projects using Twisted can now perform type checking against a Twisted - + installation, for example using mypy. (#9908) - + twisted.python.util.InsensitiveDict now fully implements MutableMapping. (#9919) - + Python 3.8 is now tested and supported. (#9955) - + Support a coroutine function in twisted.internet.task.react (#9974) - + PyPy 3.7 is now tested and supported. (#10093) + - The enableSessions argument to + twisted.internet.ssl.CertificateOptions now + - actually enables/disables OpenSSL's session cache. Also, due to + - session-related bugs, it defaults to False. (#9583) + - twisted.internet.defer.inlineCallbacks and ensureDeferred will now + associate a contextvars.Context with the coroutines they run, + meaning that ContextVar objects will maintain their value within + the same coroutine, similarly to asyncio Tasks. This functionality + requires Python 3.7+, or the contextvars PyPI backport to be + installed for Python 3.5-3.6. (#9719, #9826) + - twisted.internet.defer.Deferred.fromCoroutine has been added. This + is similar to the existing ensureDeferred function, but is named + more consistently inside Twisted and does not pass through + Deferreds. (#9825) + - trial now allows the @unittest.skipIf decorator to specify that an + entire test class should be skipped. (#9829) + - The twisted.python.deprecate.deprecatedKeywordParameter decorator + can be used to mark a keyword paramater of a function or method as + deprecated. (#9844) + - Projects using Twisted can now perform type checking against + a Twisted + - installation, for example using mypy. (#9908) + - twisted.python.util.InsensitiveDict now fully implements + MutableMapping. (#9919) + - Python 3.8 is now tested and supported. (#9955) + - Support a coroutine function in twisted.internet.task.react + (#9974) + - PyPy 3.7 is now tested and supported. (#10093) @@ -25,13 +60,40 @@ - + twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles an already-finished request, for example when request.connectionLost(...) was called previously. (#9468) - + Twisted's dependency on PyHamcrest has been moved from the base package to the new "test" extra. Consequently the test extra must be installed for Twisted's test suite to pass. (#9509) - + Fixed serialization of timedelta, date, and time objects in twisted.spread. (#9716) - + twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises an exception if instantiated with an event loop which is not compatible with asyncio.SelectorEventLoop. This fixes the AsyncioSelectorReactor in Python 3.8+ on Windows, where in bp-34687 the default Windows asyncio event loop was changed to ProactorEventLoop. Applications that use AsyncioSelectorReactor on Windows with Python 3.8+ must call asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) before instantiating and running AsyncioSelectorReactor. (#9766) - + twisted.internet.process.registerReapProcessHandler and ._BaseProcess.reapProcess will no longer raise a TypeError when processing a None PID (#9775) - + INotify will close its file descriptor if a directory is automatically removed by twisted from the watchlist because it's deleted, avoiding orphaned filedescriptors. (#9777) - + DelayedCall.reset() is now working properly with asyncioreactor (#9780) - + AsyncioSelectorReactor.seconds() now correctly returns an epoch time. (#9787) - + The _connDone parameter has been removed from twisted.internet.abstract.FileDescriptor.loseConnection()'s signature in order to match the signature in the base class twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849) - + The Gtk3 reactor now runs on Wayland-only sessions (#9904) - + Descriptive error messages from twisted.internet.error are now present when running with 'python -OO'. (#9918) - + Comparator methods such as eq() now always return NotImplemented for uncomparable types. (#9919) - + When installing Twisted it now requires a minimum Python 3.5.4 version to match the version used with automated testing. This is the minimum Python version that we know that Twisted works with. (#10098) + - twisted.web.twcgi.CGIProcessProtocol.processEnded(...) now handles + an already-finished request, for example when + request.connectionLost(...) was called previously. (#9468) + - Twisted's dependency on PyHamcrest has been moved from the base + package to the new "test" extra. Consequently the test extra must + be installed for Twisted's test suite to pass. (#9509) + - Fixed serialization of timedelta, date, and time objects in + twisted.spread. (#9716) + - twisted.internet.asyncioreactor.AsyncioSelectorReactor now raises + an exception if instantiated with an event loop which is not + compatible with asyncio.SelectorEventLoop. This fixes the + AsyncioSelectorReactor in Python 3.8+ on Windows, where in + bp-34687 the default Windows asyncio event loop was changed to + ProactorEventLoop. Applications that use AsyncioSelectorReactor on + Windows with Python 3.8+ must call + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) + before instantiating and running AsyncioSelectorReactor. (#9766) + - twisted.internet.process.registerReapProcessHandler and + ._BaseProcess.reapProcess will no longer raise a TypeError when + processing a None PID (#9775) + - INotify will close its file descriptor if a directory is + automatically removed by twisted from the watchlist because it's + deleted, avoiding orphaned filedescriptors. (#9777) + - DelayedCall.reset() is now working properly with asyncioreactor + (#9780) + - AsyncioSelectorReactor.seconds() now correctly returns an epoch + time. (#9787) + - The _connDone parameter has been removed from + twisted.internet.abstract.FileDescriptor.loseConnection()'s + signature in order to match the signature in the base class + twisted.internet._newtls.ConnectionMixin loseConnection(). (#9849) + - The Gtk3 reactor now runs on Wayland-only sessions (#9904) + - Descriptive error messages from twisted.internet.error are now + present when running with 'python -OO'. (#9918) + - Comparator methods such as eq() now always return NotImplemented + for uncomparable types. (#9919) + - When installing Twisted it now requires a minimum Python 3.5.4 + version to match the version used with automated testing. This is + the minimum Python version that we know that Twisted works with. + (#10098) Old: ---- Twisted-21.2.0.tar.gz incremental-21.patch New: ---- Twisted-21.7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Twisted.spec ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.050141319 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.050141319 +0200 @@ -20,7 +20,7 @@ %define modname Twisted %define skip_python2 1 Name: python-Twisted -Version: 21.2.0 +Version: 21.7.0 Release: 0 Summary: An asynchronous networking framework written in Python License: MIT @@ -36,8 +36,6 @@ Patch3: 1521_delegate_parseqs_stdlib_bpo42967.patch # We don't want to package yet another module, and it is easily skippable Patch4: no-cython_test_exception_raiser.patch -# PATCH-FIX-UPSTREAM incremental-21.patch https://github.com/twisted/twisted/commit/ab934c065177422a7121e44c792c56c32962c4e4.patch -Patch5: incremental-21.patch BuildRequires: %{python_module Automat >= 0.8.0} BuildRequires: %{python_module PyHamcrest >= 1.9.0} BuildRequires: %{python_module appdirs >= 1.4.0} @@ -59,6 +57,7 @@ BuildRequires: %{python_module pytz} BuildRequires: %{python_module service_identity >= 18.1.0} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module typing_extensions >= 3.6.5} BuildRequires: %{python_module zope.interface >= 4.4.2} BuildRequires: fdupes BuildRequires: git-core @@ -78,6 +77,7 @@ Requires: python-pyasn1 Requires: python-pyserial >= 3.0 Requires: python-service_identity >= 18.1.0 +Requires: python-typing_extensions >= 3.6.5 Requires: python-zope.interface >= 4.4.2 Requires(post): update-alternatives Requires(postun):update-alternatives @@ -109,7 +109,7 @@ install -m0644 docs/*/man/*.1 %{buildroot}%{_mandir}/man1/ # Install man pages find docs -type f -print0 | xargs -0 chmod a-x # Fix doc-file dependency by removing x flags #sed -i "s/\r//" docs/core/howto/listings/udp/{MulticastClient,MulticastServer}.py -%python_expand %fdupes %{buildroot}%{$python_sitearch} +%python_expand %fdupes %{buildroot}%{$python_sitelib} # Prepare for update-alternatives usage for p in twistd cftp ckeygen conch pyhtmlizer tkconch trial ; do ++++++ 1521_delegate_parseqs_stdlib_bpo42967.patch ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.066141293 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.066141293 +0200 @@ -4,24 +4,23 @@ Subject: [PATCH 1/2] delegate to stdlib parse qs --- - src/twisted/web/http.py | 27 +--------------------- - src/twisted/web/newsfragments/10096.bugfix | 1 + - 2 files changed, 2 insertions(+), 26 deletions(-) + src/twisted/web/http.py | 26 +------------------------- + src/twisted/web/newsfragments/10096.bugfix | 1 + + src/twisted/web/server.py | 5 ++--- + 3 files changed, 4 insertions(+), 28 deletions(-) create mode 100644 src/twisted/web/newsfragments/10096.bugfix -Index: Twisted-21.2.0/src/twisted/web/http.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/web/http.py -+++ Twisted-21.2.0/src/twisted/web/http.py -@@ -110,6 +110,7 @@ from urllib.parse import ( +--- a/src/twisted/web/http.py ++++ b/src/twisted/web/http.py +@@ -112,6 +112,7 @@ from urllib.parse import ( ParseResultBytes, urlparse as _urlparse, unquote_to_bytes as unquote, + parse_qs, ) + from typing import Callable - from zope.interface import Attribute, Interface, implementer, provider -@@ -261,31 +262,6 @@ def urlparse(url): +@@ -263,31 +264,6 @@ def urlparse(url): return ParseResultBytes(scheme, netloc, path, params, query, fragment) @@ -53,16 +52,12 @@ def datetimeToString(msSinceEpoch=None): """ Convert seconds since epoch to HTTP datetime string. -Index: Twisted-21.2.0/src/twisted/web/newsfragments/10096.bugfix -=================================================================== --- /dev/null -+++ Twisted-21.2.0/src/twisted/web/newsfragments/10096.bugfix ++++ b/src/twisted/web/newsfragments/10096.bugfix @@ -0,0 +1 @@ +delegate to urllib.parse:parse_qs in twisted.web.http:parse_qs to avoid CVE-2021-23336 and the associated CI failures -Index: Twisted-21.2.0/src/twisted/web/server.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/web/server.py -+++ Twisted-21.2.0/src/twisted/web/server.py +--- a/src/twisted/web/server.py ++++ b/src/twisted/web/server.py @@ -19,7 +19,7 @@ import os import re from html import escape ++++++ Twisted-21.2.0.tar.gz -> Twisted-21.7.0.tar.gz ++++++ ++++ 29088 lines of diff (skipped) ++++++ no-cython_test_exception_raiser.patch ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.638140381 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.638140381 +0200 @@ -1,13 +1,15 @@ -Index: Twisted-21.2.0/src/twisted/test/test_failure.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/test/test_failure.py -+++ Twisted-21.2.0/src/twisted/test/test_failure.py +--- + src/twisted/test/test_failure.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/src/twisted/test/test_failure.py ++++ b/src/twisted/test/test_failure.py @@ -22,7 +22,8 @@ from twisted.python import failure from twisted.trial.unittest import SynchronousTestCase --from cython_test_exception_raiser import raiser -+#from cython_test_exception_raiser import raiser +-from cython_test_exception_raiser import raiser # type: ignore[import] ++# from cython_test_exception_raiser import raiser # type: ignore[import] +raiser = None ++++++ no-test_successResultOfWithFailureHasTraceback.patch ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.650140362 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.650140362 +0200 @@ -1,11 +1,9 @@ --- - src/twisted/conch/test/test_keys.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) + src/twisted/conch/test/test_keys.py | 3 +++ + 1 file changed, 3 insertions(+) -Index: Twisted-21.2.0/src/twisted/conch/test/test_keys.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/conch/test/test_keys.py -+++ Twisted-21.2.0/src/twisted/conch/test/test_keys.py +--- a/src/twisted/conch/test/test_keys.py ++++ b/src/twisted/conch/test/test_keys.py @@ -15,6 +15,7 @@ from twisted.python import randbytes from twisted.python.filepath import FilePath from twisted.python.reflect import requireModule ++++++ skip_MultiCast.patch ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.662140343 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.662140343 +0200 @@ -1,7 +1,9 @@ -Index: Twisted-21.2.0/src/twisted/test/test_udp.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/test/test_udp.py -+++ Twisted-21.2.0/src/twisted/test/test_udp.py +--- + src/twisted/test/test_udp.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/src/twisted/test/test_udp.py ++++ b/src/twisted/test/test_udp.py @@ -9,7 +9,7 @@ Tests for implementations of L{IReactorU import os ++++++ true-binary.patch ++++++ --- /var/tmp/diff_new_pack.jXvvEn/_old 2021-08-12 09:01:46.678140317 +0200 +++ /var/tmp/diff_new_pack.jXvvEn/_new 2021-08-12 09:01:46.678140317 +0200 @@ -1,7 +1,9 @@ -Index: Twisted-21.2.0/src/twisted/conch/test/test_ckeygen.py -=================================================================== ---- Twisted-21.2.0.orig/src/twisted/conch/test/test_ckeygen.py -+++ Twisted-21.2.0/src/twisted/conch/test/test_ckeygen.py +--- + src/twisted/conch/test/test_ckeygen.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/twisted/conch/test/test_ckeygen.py ++++ b/src/twisted/conch/test/test_ckeygen.py @@ -73,7 +73,7 @@ class KeyGenTests(TestCase): def _testrun(self, keyType, keySize=None, privateKeySubtype=None):