15 Commits

Author SHA256 Message Date
afc1b48337 Accepting request 1299062 from devel:languages:python
- Make the libalternatives transition conditional

OBS-URL: https://build.opensuse.org/request/show/1299062
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=74
2025-08-13 14:23:03 +00:00
279afc697e - Make the libalternatives transition conditional
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=162
2025-08-12 12:33:41 +00:00
8d1aabf1ca Accepting request 1288536 from devel:languages:python
- Convert to libalternatives

OBS-URL: https://build.opensuse.org/request/show/1288536
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=73
2025-06-26 09:34:35 +00:00
dfcd43d8ea - Convert to libalternatives
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=160
2025-06-25 12:33:07 +00:00
b8a80de828 Accepting request 1219215 from devel:languages:python
- update to 24.10.0:
  * Python 3.13 is now supported.
  * twisted.internet.defer.succeed() is significantly faster, and
    awaiting Deferred has also been sped up.
  * twisted.python.failure.Failure creation no longer records the
    place where it was created. This reduces creation time by 60%
    at least, thereby speeding up Deferred error handling.
  * twisted.internet.defer.Deferred no longer removes the
    traceback object from Failures. This may result in more
    objects staying in memory if you don't clean up failed
    Deferreds, but it speeds up error handling and enables
    improvements to traceback reporting.
  * twisted.internet.defer APIs are 2%-4% faster in many cases.
  * twisted.internet.defer.Deferred runs callbacks with chained
    Deferreds a little faster.
  * The reactor now will use a little less CPU when events have
    been scheduled with callLater().
  * Creation of twisted.python.failure.Failure is now faster.
  * Fixed unreleased regression caused by PR 12109.
  * twisted.logger.eventAsText can now format the output having
    types/classes as input. This was a regression introduced in
    Twisted 24.3.0.
  * twisted.internet.endpoints.clientFromString for TLS endpoints
    with "bindAddress="  no longer crashes during connect.
    twisted.internet.endpoints.HostnameEndpoint() no longer
    crashes when given a bindAddress= argument that is just a
    string, and that argument now accepts either address strings
    or (address, port) tuples.
  * The URLs from README and pyproject.toml were updated.
  * #11236, #12060, #12062, #12099, #12219, #12290, #12296,

OBS-URL: https://build.opensuse.org/request/show/1219215
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=72
2024-10-30 16:33:18 +00:00
49de8706ff OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=158 2024-10-29 22:22:20 +00:00
9bd801de6a - update to 24.10.0:
* Python 3.13 is now supported.
  * twisted.internet.defer.succeed() is significantly faster, and
    awaiting Deferred has also been sped up.
  * twisted.python.failure.Failure creation no longer records the
    place where it was created. This reduces creation time by 60%
    at least, thereby speeding up Deferred error handling.
  * twisted.internet.defer.Deferred no longer removes the
    traceback object from Failures. This may result in more
    objects staying in memory if you don't clean up failed
    Deferreds, but it speeds up error handling and enables
    improvements to traceback reporting.
  * twisted.internet.defer APIs are 2%-4% faster in many cases.
  * twisted.internet.defer.Deferred runs callbacks with chained
    Deferreds a little faster.
  * The reactor now will use a little less CPU when events have
    been scheduled with callLater().
  * Creation of twisted.python.failure.Failure is now faster.
  * Fixed unreleased regression caused by PR 12109.
  * twisted.logger.eventAsText can now format the output having
    types/classes as input. This was a regression introduced in
    Twisted 24.3.0.
  * twisted.internet.endpoints.clientFromString for TLS endpoints
    with "bindAddress="  no longer crashes during connect.
    twisted.internet.endpoints.HostnameEndpoint() no longer
    crashes when given a bindAddress= argument that is just a
    string, and that argument now accepts either address strings
    or (address, port) tuples.
  * The URLs from README and pyproject.toml were updated.
  * #11236, #12060, #12062, #12099, #12219, #12290, #12296,

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=157
2024-10-29 18:01:24 +00:00
0400fba187 Accepting request 1203276 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1203276
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=71
2024-09-26 16:52:44 +00:00
d280501f81 Accepting request 1203266 from home:mcalabkova:branches:devel:languages:python:stagings
- Add upstream patch 12313-fix-test_manhole.patch to fix test failure 
  with latest python312

OBS-URL: https://build.opensuse.org/request/show/1203266
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=155
2024-09-25 06:56:19 +00:00
3690f2870c Accepting request 1199704 from home:glaubitz:branches:devel:languages:python
- Update to 24.7.0
  * 24.7.0.rc2 fixed an unreleased regression caused by PR 12109. (#12279)
  * twisted.web.util.redirectTo now HTML-escapes the provided URL in the fallback
    response body it returns (GHSA-cf56-g6w6-pqq2, CVE-2024-41810). (#9839)
  * The HTTP 1.0 and 1.1 server provided by twisted.web could process pipelined
    HTTP requests out-of-order, possibly resulting in information disclosure
    (CVE-2024-41671/GHSA-c8m8-j448-xjx7) (#12248)
  * twisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (#9645)
  * twisted.internet.defer.inlineCallbacks can now yield a coroutine. (#9972)
  * twisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (#12065)
  * twisted.web.wsgi request environment now contains the peer port number as `REMOTE_PORT`. (#12096)
  * twisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks()
    no longer use `assert` to check the type of the arguments. You should now use type checking
    to validate your code. These changes were done to reduce the CPU usage. (#12122)
  * Added two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.\
    failureHandler, which allow for more concise and convenient handling of exceptions when
    dispatching out to application code.  The former can arbitrarily customize failure handling
    at the call site, and the latter can be used for performance-sensitive cases where no
    additional information needs to be logged. (#12188)
  * twisted.internet.defer.Deferred.addCallback now runs about 10% faster. (#12223)
  * twisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (#12227)
  * twisted.internet.ssl.Certificate.__repr__ can now handle certificates without
    a common name (CN) in the certificate itself or the signing CA. (#5851)
  * Type annotations have been added to twisted.conch.interfaces.IKnownHostEntry
    and its implementations, twisted.conch.client.knownhosts.PlainHost and
    twisted.conch.client.knownhosts.HashedHost, correcting a variety of
    type confusion issues throughout the conch client code. (#9713)
  * twisted.python.failure.Failure once again utilizes the custom
    pickling logic it used to in the past. (#12112)
  * twisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs

OBS-URL: https://build.opensuse.org/request/show/1199704
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=154
2024-09-20 21:39:51 +00:00
c7b2f92b82 Accepting request 1190585 from devel:languages:python
- Add a couple of upstream patches to fix http process information
  disclosure (CVE-2024-41671, bsc#1228549) and XSS via html injection
  (CVE-2024-41810, bsc#1228552):
  * CVE-2024-41671.patch gh#twisted/twisted@4a930de12fb6
  * CVE-2024-41810.patch gh#twisted/twisted@046a164f89a0

OBS-URL: https://build.opensuse.org/request/show/1190585
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=70
2024-08-01 20:03:43 +00:00
d4f4e0c97e disclosure (CVE-2024-41671, bsc#1228549) and XSS via html injection
(CVE-2024-41810, bsc#1228552):

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=152
2024-07-31 06:18:32 +00:00
e1731eaccf - Add a couple of upstream patches to fix http process information
disclosure (CVE-2024-41671) and XSS via html injection
  (CVE-2024-41810):
  * CVE-2024-41671.patch gh#twisted/twisted@4a930de12fb6
  * CVE-2024-41810.patch gh#twisted/twisted@046a164f89a0

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=151
2024-07-31 06:15:56 +00:00
fe71c07b12 Accepting request 1184937 from devel:languages:python
- update to 24.3.0:
  * twisted.logger.formatEvent now honors dotted method names,
    not just flat function names, in format strings, as it has
    long been explicitly documented to do.  So, you will now get
    the expected result from formatEvent("here's the result of
    calling a method at log-format time: {obj.method()}",
    obj=...)
  * twisted.web.http.HTTPChannel now ignores the trailer headers
    provided in the last chunk of a chunked encoded response,
    rather than raising an exception.
  * twisted.protocols.tls.BufferingTLSTransport, used by default
    by twisted.protocols.tls.TLSMemoryBIOFactory, was refactored
    for improved performance when doing a high number of small
    writes.
  * twisted.python.failure.Failure now throws exception for
    generators without triggering a deprecation warnings on
    Python 3.12.
  * twisted.internet.process.Process, used by
    reactor.spawnProcess, now copies the parent environment when
    the env=None argument is passed on Posix systems and
    os.posix_spawnp is used internally.
  * twisted.internet.defer.inlineCallbacks.returnValue's stack
    introspection was adjusted for the latest PyPy 7.3.14
    release, allowing legacy @inlineCallbacks to run on new PyPY
    versions.
  * twisted.trial.reporter.TestRun.startTest() is no longer
    called for tests with skip annotation or skip attribute for
    Python 3.12.1 or newer. This is the result of upstream Python
    gh-106584 change. The behavior is not change in 3.12.0 or
    older.

OBS-URL: https://build.opensuse.org/request/show/1184937
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=69
2024-07-03 18:29:45 +00:00
2b3c77a2a3 - update to 24.3.0:
* twisted.logger.formatEvent now honors dotted method names,
    not just flat function names, in format strings, as it has
    long been explicitly documented to do.  So, you will now get
    the expected result from formatEvent("here's the result of
    calling a method at log-format time: {obj.method()}",
    obj=...)
  * twisted.web.http.HTTPChannel now ignores the trailer headers
    provided in the last chunk of a chunked encoded response,
    rather than raising an exception.
  * twisted.protocols.tls.BufferingTLSTransport, used by default
    by twisted.protocols.tls.TLSMemoryBIOFactory, was refactored
    for improved performance when doing a high number of small
    writes.
  * twisted.python.failure.Failure now throws exception for
    generators without triggering a deprecation warnings on
    Python 3.12.
  * twisted.internet.process.Process, used by
    reactor.spawnProcess, now copies the parent environment when
    the env=None argument is passed on Posix systems and
    os.posix_spawnp is used internally.
  * twisted.internet.defer.inlineCallbacks.returnValue's stack
    introspection was adjusted for the latest PyPy 7.3.14
    release, allowing legacy @inlineCallbacks to run on new PyPY
    versions.
  * twisted.trial.reporter.TestRun.startTest() is no longer
    called for tests with skip annotation or skip attribute for
    Python 3.12.1 or newer. This is the result of upstream Python
    gh-106584 change. The behavior is not change in 3.12.0 or
    older.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=149
2024-07-02 19:53:38 +00:00
8 changed files with 19 additions and 132 deletions

View File

@@ -1,37 +0,0 @@
From b035f4a1a952c93445a01f2e17df88689ddf9bdf Mon Sep 17 00:00:00 2001
From: Glyph <code@glyph.im>
Date: Wed, 10 Dec 2025 01:10:32 -0800
Subject: [PATCH] use createElement in the test rather than instantiating
Element
---
src/twisted/newsfragments/12549.misc | 0
src/twisted/web/test/test_domhelpers.py | 6 +++---
2 files changed, 3 insertions(+), 3 deletions(-)
create mode 100644 src/twisted/newsfragments/12549.misc
diff --git a/src/twisted/newsfragments/12549.misc b/src/twisted/newsfragments/12549.misc
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/twisted/web/test/test_domhelpers.py b/src/twisted/web/test/test_domhelpers.py
index bbefd68516b..d28b89f30e8 100644
--- a/src/twisted/web/test/test_domhelpers.py
+++ b/src/twisted/web/test/test_domhelpers.py
@@ -109,14 +109,14 @@ def test_clearNode(self):
doc1 = self.dom.parseString("<a><b><c><d/></c></b></a>")
a_node = doc1.documentElement
domhelpers.clearNode(a_node)
- self.assertEqual(a_node.toxml(), self.dom.Element("a").toxml())
+ self.assertEqual(a_node.toxml(), doc1.createElement("a").toxml())
doc2 = self.dom.parseString("<a><b><c><d/></c></b></a>")
b_node = doc2.documentElement.childNodes[0]
domhelpers.clearNode(b_node)
actual = doc2.documentElement.toxml()
- expected = self.dom.Element("a")
- expected.appendChild(self.dom.Element("b"))
+ expected = doc2.createElement("a")
+ expected.appendChild(doc2.createElement("b"))
self.assertEqual(actual, expected.toxml())
def test_get(self):

View File

@@ -1,50 +0,0 @@
Index: twisted-25.5.0/src/twisted/internet/asyncioreactor.py
===================================================================
--- twisted-25.5.0.orig/src/twisted/internet/asyncioreactor.py
+++ twisted-25.5.0/src/twisted/internet/asyncioreactor.py
@@ -9,7 +9,7 @@ asyncio-based reactor implementation.
import errno
import sys
-from asyncio import AbstractEventLoop, get_event_loop
+from asyncio import AbstractEventLoop, get_running_loop, new_event_loop, set_event_loop
from typing import Dict, Optional, Type
from zope.interface import implementer
@@ -47,7 +47,11 @@ class AsyncioSelectorReactor(PosixReacto
def __init__(self, eventloop: Optional[AbstractEventLoop] = None):
if eventloop is None:
- _eventloop: AbstractEventLoop = get_event_loop()
+ try:
+ _eventloop: AbstractEventLoop = get_running_loop()
+ except RuntimeError:
+ _eventloop: AbstractEventLoop = new_event_loop()
+ set_event_loop(_eventloop)
else:
_eventloop = eventloop
Index: twisted-25.5.0/src/twisted/web/test/test_webclient.py
===================================================================
--- twisted-25.5.0.orig/src/twisted/web/test/test_webclient.py
+++ twisted-25.5.0/src/twisted/web/test/test_webclient.py
@@ -5,7 +5,8 @@
Tests L{twisted.web.client} helper APIs
"""
-
+import sys
+from unittest import SkipTest
from urllib.parse import urlparse
from twisted.trial import unittest
@@ -23,6 +24,9 @@ class URLJoinTests(unittest.TestCase):
resulting URL if neither the base nor the new path include a fragment
identifier.
"""
+ if sys.version_info[1] == 14:
+ raise SkipTest("https://github.com/twisted/twisted/issues/12427")
+
self.assertEqual(
client._urljoin(b"http://foo.com/bar", b"/quux"), b"http://foo.com/quux"
)

View File

@@ -1,25 +1,3 @@
-------------------------------------------------------------------
Mon Dec 29 09:46:30 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add createElement.patch to fix tests with fixed python interpreters
-------------------------------------------------------------------
Fri Sep 26 09:06:02 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Update to 25.5.0
* twisted.internet.interfaces.IReactorMulticast now accept IPv6
literals and allow for IPv6 multicast.
* TCP throughput when sending data is slightly faster.
* twisted.trial.unittest.TestCase.defer* methods were removed and
converted to private methods.
* Deprecations and removals in twisted.internet.defer
* twisted.conch.client.direct.SSHClientTransport.verifyHostKey no
longer crashes with an encoding error while attempting to verify
the peer's IP address.
* The twisted.web.websockets module has been added, adding a
websockets server and client based on the wsproto library.
- Add py314.patch to fix or skip tests failing with Python 3.14
-------------------------------------------------------------------
Tue Aug 12 12:32:55 UTC 2025 - Markéta Machová <mmachova@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-Twisted
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -31,7 +31,7 @@
%endif
%{?sle15_python_module_pythons}
Name: python-Twisted%{psuffix}
Version: 25.5.0
Version: 24.10.0
Release: 0
Summary: An asynchronous networking framework written in Python
License: MIT
@@ -49,10 +49,6 @@ Patch3: 1521_delegate_parseqs_stdlib_bpo42967.patch
Patch5: no-cython_test_exception_raiser.patch
# PATCH-FIX-OPENSUSE remove-dependency-version-upper-bounds.patch boo#1190036 -- run with h2 >= 4.0.0 and priority >= 2.0
Patch6: remove-dependency-version-upper-bounds.patch
# PATCH-FIX-UPSTREAM https://github.com/twisted/twisted/issues/12430 Add support for Python 3.14
Patch7: py314.patch
# PATCH-FIX-UPSTREAM https://github.com/twisted/twisted/pull/12551 use createElement in the test rather than instantiating Element
Patch8: createElement.patch
BuildRequires: %{python_module hatch-fancy-pypi-readme}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module incremental >= 24.7.0}

View File

@@ -1,7 +1,7 @@
Index: twisted-25.5.0/pyproject.toml
Index: twisted-24.10.0/pyproject.toml
===================================================================
--- twisted-25.5.0.orig/pyproject.toml
+++ twisted-25.5.0/pyproject.toml
--- twisted-24.10.0.orig/pyproject.toml
+++ twisted-24.10.0/pyproject.toml
@@ -97,8 +97,8 @@ serial = [
]
@@ -12,4 +12,4 @@ Index: twisted-25.5.0/pyproject.toml
+ "priority >= 1.1.0",
]
websocket = [
all-non-platform = [

View File

@@ -2,21 +2,21 @@
src/twisted/test/test_udp.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: twisted-25.5.0/src/twisted/test/test_udp.py
Index: twisted-24.3.0/src/twisted/test/test_udp.py
===================================================================
--- twisted-25.5.0.orig/src/twisted/test/test_udp.py
+++ twisted-25.5.0/src/twisted/test/test_udp.py
@@ -22,7 +22,7 @@ from socket import (
inet_pton,
socket,
)
--- twisted-24.3.0.orig/src/twisted/test/test_udp.py
+++ twisted-24.3.0/src/twisted/test/test_udp.py
@@ -8,7 +8,7 @@ Tests for implementations of L{IReactorU
import os
-from unittest import skipIf
+from unittest import skipIf, SkipTest
from twisted.internet import defer, error, interfaces, protocol, reactor, udp
from twisted.internet.address import IPv4Address, IPv6Address
@@ -638,6 +638,7 @@ class MulticastTests(TestCase):
wrongAddressFamily: str = "::1"
from twisted.internet.defer import Deferred, gatherResults, maybeDeferred
@@ -578,6 +578,7 @@ class MulticastTests(TestCase):
skip = "This reactor does not support multicast"
def setUp(self):
+ raise SkipTest("Multicast networking doesn't work with OBS")

BIN
twisted-24.10.0.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1deb272358cb6be1e3e8fc6f9c8b36f78eb0fa7c2233d2dbe11ec6fee04ea316
size 3545725