Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package matrix-synapse for openSUSE:Factory 
checked in at 2024-10-31 16:09:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/matrix-synapse (Old)
 and      /work/SRC/openSUSE:Factory/.matrix-synapse.new.2020 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "matrix-synapse"

Thu Oct 31 16:09:28 2024 rev:112 rq:1219715 version:1.118.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/matrix-synapse/matrix-synapse.changes    
2024-10-30 17:36:53.106411798 +0100
+++ /work/SRC/openSUSE:Factory/.matrix-synapse.new.2020/matrix-synapse.changes  
2024-10-31 16:09:49.700226348 +0100
@@ -1,0 +2,13 @@
+Wed Oct 30 19:12:19 UTC 2024 - Marcus Rueckert <mrueck...@suse.de>
+
+- Allow Twisted 24.10.0 again with backport of proposed upstream
+  fix
+  
https://patch-diff.githubusercontent.com/raw/element-hq/synapse/pull/17886.patch
+
+-------------------------------------------------------------------
+Wed Oct 30 18:19:09 UTC 2024 - Marcus Rueckert <mrueck...@suse.de>
+
+- downgrade Twisted to 24.7.0 until 
https://github.com/element-hq/synapse/pull/17886
+  is merged
+
+-------------------------------------------------------------------

New:
----
  17886.patch

BETA DEBUG BEGIN:
  New:  fix
  
https://patch-diff.githubusercontent.com/raw/element-hq/synapse/pull/17886.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ matrix-synapse.spec ++++++
--- /var/tmp/diff_new_pack.bMCgOa/_old  2024-10-31 16:09:50.440257403 +0100
+++ /var/tmp/diff_new_pack.bMCgOa/_new  2024-10-31 16:09:50.440257403 +0100
@@ -20,8 +20,7 @@
 
 # NOTE: Keep this is in the same order as pyproject.toml.
 %if %{with use_poetry_for_dependencies}
-# TODO: 24.7.0
-%global Twisted_version               24.3.0
+%global Twisted_version               24.7.0
 %global Jinja2_version                3.1.4
 %global Pillow_version                10.4.0
 # TODO: 6.0.2
@@ -177,6 +176,8 @@
 Source99:       series
 Patch0:         matrix-synapse-1.4.1-paths.patch
 Patch1:         bump-dependencies.patch
+# from 
https://patch-diff.githubusercontent.com/raw/element-hq/synapse/pull/17886.patch
+Patch2:         17886.patch
 # https://github.com/matrix-org/synapse/pull/10719
 # disable by marking as source until we get a decision upstream
 Source100:      10719-Fix-instert-of-duplicate-key-into-event_json.patch

++++++ 17886.patch ++++++
>From 0f73c759ea142adfe5e200fb19685e1ef4a2f9c4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 28 Oct 2024 10:26:52 +0000
Subject: [PATCH 1/3] Bump twisted from 24.7.0 to 24.10.0

Bumps [twisted](https://github.com/twisted/twisted) from 24.7.0 to 24.10.0.
- [Release notes](https://github.com/twisted/twisted/releases)
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst)
- 
[Commits](https://github.com/twisted/twisted/compare/twisted-24.7.0...twisted-24.10.0)

---
updated-dependencies:
- dependency-name: twisted
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <supp...@github.com>
---
 poetry.lock | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/poetry.lock b/poetry.lock
index 9ca72814a4..60dcb97486 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -49,18 +49,17 @@ cryptography = "*"
 
 [[package]]
 name = "automat"
-version = "22.10.0"
+version = "24.8.1"
 description = "Self-service finite-state machines for the programmer on the 
go."
 optional = false
-python-versions = "*"
+python-versions = ">=3.8"
 files = [
-    {file = "Automat-22.10.0-py2.py3-none-any.whl", hash = 
"sha256:c3164f8742b9dc440f3682482d32aaff7bb53f71740dd018533f9de286b64180"},
-    {file = "Automat-22.10.0.tar.gz", hash = 
"sha256:e56beb84edad19dcc11d30e8d9b895f75deeb5ef5e96b84a467066b3b84bb04e"},
+    {file = "Automat-24.8.1-py3-none-any.whl", hash = 
"sha256:bf029a7bc3da1e2c24da2343e7598affaa9f10bf0ab63ff808566ce90551e02a"},
+    {file = "automat-24.8.1.tar.gz", hash = 
"sha256:b34227cf63f6325b8ad2399ede780675083e439b20c323d376373d8ee6306d88"},
 ]
 
 [package.dependencies]
-attrs = ">=19.2.0"
-six = "*"
+typing-extensions = {version = "*", markers = "python_version < \"3.10\""}
 
 [package.extras]
 visualize = ["Twisted (>=16.1.1)", "graphviz (>0.5.1)"]
@@ -2633,18 +2632,18 @@ urllib3 = ">=1.26.0"
 
 [[package]]
 name = "twisted"
-version = "24.7.0"
+version = "24.10.0"
 description = "An asynchronous networking framework written in Python"
 optional = false
 python-versions = ">=3.8.0"
 files = [
-    {file = "twisted-24.7.0-py3-none-any.whl", hash = 
"sha256:734832ef98108136e222b5230075b1079dad8a3fc5637319615619a7725b0c81"},
-    {file = "twisted-24.7.0.tar.gz", hash = 
"sha256:5a60147f044187a127ec7da96d170d49bcce50c6fd36f594e60f4587eff4d394"},
+    {file = "twisted-24.10.0-py3-none-any.whl", hash = 
"sha256:67aa7c8aa94387385302acf44ade12967c747858c8bcce0f11d38077a11c5326"},
+    {file = "twisted-24.10.0.tar.gz", hash = 
"sha256:02951299672595fea0f70fa2d5f7b5e3d56836157eda68859a6ad6492d36756e"},
 ]
 
 [package.dependencies]
-attrs = ">=21.3.0"
-automat = ">=0.8.0"
+attrs = ">=22.2.0"
+automat = ">=24.8.0"
 constantly = ">=15.1"
 hyperlink = ">=17.1.1"
 idna = {version = ">=2.4", optional = true, markers = "extra == \"tls\""}
@@ -2655,19 +2654,19 @@ typing-extensions = ">=4.2.0"
 zope-interface = ">=5"
 
 [package.extras]
-all-non-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.0,<5.0)", "h2 (>=3.0,<5.0)", "hypothesis (>=6.56)", 
"hypothesis (>=6.56)", "idna (>=2.4)", "idna (>=2.4)", "priority 
(>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", "pyhamcrest (>=2)", "pyhamcrest 
(>=2)", "pyopenssl (>=21.0.0)", "pyopenssl (>=21.0.0)", "pyserial (>=3.0)", 
"pyserial (>=3.0)", "pywin32 (!=226)", "pywin32 (!=226)", "service-identity 
(>=18.1.0)", "service-identity (>=18.1.0)"]
+all-non-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.2,<5.0)", "h2 (>=3.2,<5.0)", "httpx[http2] (>=0.27)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "hypothesis (>=6.56)", "idna 
(>=2.4)", "idna (>=2.4)", "priority (>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", 
"pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyopenssl (>=21.0.0)", "pyopenssl 
(>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 (!=226)", 
"pywin32 (!=226)", "service-identity (>=18.1.0)", "service-identity (>=18.1.0)"]
 conch = ["appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)"]
-dev = ["coverage (>=7.5,<8.0)", "cython-test-exception-raiser (>=1.0.2,<2)", 
"hypothesis (>=6.56)", "pydoctor (>=23.9.0,<23.10.0)", "pyflakes (>=2.2,<3.0)", 
"pyhamcrest (>=2)", "python-subunit (>=1.4,<2.0)", "sphinx (>=6,<7)", 
"sphinx-rtd-theme (>=1.3,<2.0)", "towncrier (>=23.6,<24.0)", "twistedchecker 
(>=0.7,<1.0)"]
+dev = ["coverage (>=7.5,<8.0)", "cython-test-exception-raiser (>=1.0.2,<2)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "pydoctor (>=23.9.0,<23.10.0)", 
"pyflakes (>=2.2,<3.0)", "pyhamcrest (>=2)", "python-subunit (>=1.4,<2.0)", 
"sphinx (>=6,<7)", "sphinx-rtd-theme (>=1.3,<2.0)", "towncrier (>=23.6,<24.0)", 
"twistedchecker (>=0.7,<1.0)"]
 dev-release = ["pydoctor (>=23.9.0,<23.10.0)", "pydoctor (>=23.9.0,<23.10.0)", 
"sphinx (>=6,<7)", "sphinx (>=6,<7)", "sphinx-rtd-theme (>=1.3,<2.0)", 
"sphinx-rtd-theme (>=1.3,<2.0)", "towncrier (>=23.6,<24.0)", "towncrier 
(>=23.6,<24.0)"]
-gtk-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", 
"bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.0,<5.0)", "h2 (>=3.0,<5.0)", "hypothesis (>=6.56)", 
"hypothesis (>=6.56)", "idna (>=2.4)", "idna (>=2.4)", "priority 
(>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", "pygobject", "pygobject", 
"pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyopenssl (>=21.0.0)", "pyopenssl 
(>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 (!=226)", 
"pywin32 (!=226)", "service-identity (>=18.1.0)", "service-identity (>=18.1.0)"]
-http2 = ["h2 (>=3.0,<5.0)", "priority (>=1.1.0,<2.0)"]
-macos-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.0,<5.0)", "h2 (>=3.0,<5.0)", "hypothesis (>=6.56)", 
"hypothesis (>=6.56)", "idna (>=2.4)", "idna (>=2.4)", "priority 
(>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", "pyhamcrest (>=2)", "pyhamcrest 
(>=2)", "pyobjc-core", "pyobjc-core", "pyobjc-framework-cfnetwork", 
"pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", 
"pyobjc-framework-cocoa", "pyopenssl (>=21.0.0)", "pyopenssl (>=21.0.0)", 
"pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 (!=226)", "pywin32 (!=226)", 
"service-identity (>=18.1.0)", "service-identity (>=18.1.0)"]
-mypy = ["appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", "coverage (>=7.5,<8.0)", 
"cryptography (>=3.3)", "cython-test-exception-raiser (>=1.0.2,<2)", "h2 
(>=3.0,<5.0)", "hypothesis (>=6.56)", "idna (>=2.4)", "mypy (>=1.8,<2.0)", 
"mypy-zope (>=1.0.3,<1.1.0)", "priority (>=1.1.0,<2.0)", "pydoctor 
(>=23.9.0,<23.10.0)", "pyflakes (>=2.2,<3.0)", "pyhamcrest (>=2)", "pyopenssl 
(>=21.0.0)", "pyserial (>=3.0)", "python-subunit (>=1.4,<2.0)", "pywin32 
(!=226)", "service-identity (>=18.1.0)", "sphinx (>=6,<7)", "sphinx-rtd-theme 
(>=1.3,<2.0)", "towncrier (>=23.6,<24.0)", "twistedchecker (>=0.7,<1.0)", 
"types-pyopenssl", "types-setuptools"]
-osx-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", 
"bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.0,<5.0)", "h2 (>=3.0,<5.0)", "hypothesis (>=6.56)", 
"hypothesis (>=6.56)", "idna (>=2.4)", "idna (>=2.4)", "priority 
(>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", "pyhamcrest (>=2)", "pyhamcrest 
(>=2)", "pyobjc-core", "pyobjc-core", "pyobjc-framework-cfnetwork", 
"pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", 
"pyobjc-framework-cocoa", "pyopenssl (>=21.0.0)", "pyopenssl (>=21.0.0)", 
"pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 (!=226)", "pywin32 (!=226)", 
"service-identity (>=18.1.0)", "service-identity (>=18.1.0)"]
+gtk-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", 
"bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.2,<5.0)", "h2 (>=3.2,<5.0)", "httpx[http2] (>=0.27)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "hypothesis (>=6.56)", "idna 
(>=2.4)", "idna (>=2.4)", "priority (>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", 
"pygobject", "pygobject", "pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyopenssl 
(>=21.0.0)", "pyopenssl (>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", 
"pywin32 (!=226)", "pywin32 (!=226)", "service-identity (>=18.1.0)", 
"service-identity (>=18.1.0)"]
+http2 = ["h2 (>=3.2,<5.0)", "priority (>=1.1.0,<2.0)"]
+macos-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.2,<5.0)", "h2 (>=3.2,<5.0)", "httpx[http2] (>=0.27)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "hypothesis (>=6.56)", "idna 
(>=2.4)", "idna (>=2.4)", "priority (>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", 
"pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyobjc-core", "pyobjc-core", 
"pyobjc-framework-cfnetwork", "pyobjc-framework-cfnetwork", 
"pyobjc-framework-cocoa", "pyobjc-framework-cocoa", "pyopenssl (>=21.0.0)", 
"pyopenssl (>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 
(!=226)", "pywin32 (!=226)", "service-identity (>=18.1.0)", "service-identity 
(>=18.1.0)"]
+mypy = ["appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", "coverage (>=7.5,<8.0)", 
"cryptography (>=3.3)", "cython-test-exception-raiser (>=1.0.2,<2)", "h2 
(>=3.2,<5.0)", "httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "idna (>=2.4)", 
"mypy (==1.10.1)", "mypy-zope (==1.0.6)", "priority (>=1.1.0,<2.0)", "pydoctor 
(>=23.9.0,<23.10.0)", "pyflakes (>=2.2,<3.0)", "pyhamcrest (>=2)", "pyopenssl 
(>=21.0.0)", "pyserial (>=3.0)", "python-subunit (>=1.4,<2.0)", "pywin32 
(!=226)", "service-identity (>=18.1.0)", "sphinx (>=6,<7)", "sphinx-rtd-theme 
(>=1.3,<2.0)", "towncrier (>=23.6,<24.0)", "twistedchecker (>=0.7,<1.0)", 
"types-pyopenssl", "types-setuptools"]
+osx-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt (>=3.1.3)", 
"bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.2,<5.0)", "h2 (>=3.2,<5.0)", "httpx[http2] (>=0.27)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "hypothesis (>=6.56)", "idna 
(>=2.4)", "idna (>=2.4)", "priority (>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", 
"pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyobjc-core", "pyobjc-core", 
"pyobjc-framework-cfnetwork", "pyobjc-framework-cfnetwork", 
"pyobjc-framework-cocoa", "pyobjc-framework-cocoa", "pyopenssl (>=21.0.0)", 
"pyopenssl (>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 
(!=226)", "pywin32 (!=226)", "service-identity (>=18.1.0)", "service-identity 
(>=18.1.0)"]
 serial = ["pyserial (>=3.0)", "pywin32 (!=226)"]
-test = ["cython-test-exception-raiser (>=1.0.2,<2)", "hypothesis (>=6.56)", 
"pyhamcrest (>=2)"]
+test = ["cython-test-exception-raiser (>=1.0.2,<2)", "httpx[http2] (>=0.27)", 
"hypothesis (>=6.56)", "pyhamcrest (>=2)"]
 tls = ["idna (>=2.4)", "pyopenssl (>=21.0.0)", "service-identity (>=18.1.0)"]
-windows-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.0,<5.0)", "h2 (>=3.0,<5.0)", "hypothesis (>=6.56)", 
"hypothesis (>=6.56)", "idna (>=2.4)", "idna (>=2.4)", "priority 
(>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", "pyhamcrest (>=2)", "pyhamcrest 
(>=2)", "pyopenssl (>=21.0.0)", "pyopenssl (>=21.0.0)", "pyserial (>=3.0)", 
"pyserial (>=3.0)", "pywin32 (!=226)", "pywin32 (!=226)", "pywin32 (!=226)", 
"pywin32 (!=226)", "service-identity (>=18.1.0)", "service-identity 
(>=18.1.0)", "twisted-iocpsupport (>=1.0.2)", "twisted-iocpsupport (>=1.0.2)"]
+windows-platform = ["appdirs (>=1.4.0)", "appdirs (>=1.4.0)", "bcrypt 
(>=3.1.3)", "bcrypt (>=3.1.3)", "cryptography (>=3.3)", "cryptography (>=3.3)", 
"cython-test-exception-raiser (>=1.0.2,<2)", "cython-test-exception-raiser 
(>=1.0.2,<2)", "h2 (>=3.2,<5.0)", "h2 (>=3.2,<5.0)", "httpx[http2] (>=0.27)", 
"httpx[http2] (>=0.27)", "hypothesis (>=6.56)", "hypothesis (>=6.56)", "idna 
(>=2.4)", "idna (>=2.4)", "priority (>=1.1.0,<2.0)", "priority (>=1.1.0,<2.0)", 
"pyhamcrest (>=2)", "pyhamcrest (>=2)", "pyopenssl (>=21.0.0)", "pyopenssl 
(>=21.0.0)", "pyserial (>=3.0)", "pyserial (>=3.0)", "pywin32 (!=226)", 
"pywin32 (!=226)", "pywin32 (!=226)", "pywin32 (!=226)", "service-identity 
(>=18.1.0)", "service-identity (>=18.1.0)", "twisted-iocpsupport (>=1.0.2)", 
"twisted-iocpsupport (>=1.0.2)"]
 
 [[package]]
 name = "txredisapi"

>From 4a9891444e4fe6e9f283e1942a818d21db3b85d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BA=88=E7=BA=BE?= <yu...@srcz.one>
Date: Wed, 30 Oct 2024 10:36:32 +0800
Subject: [PATCH 2/3] feat: adapt to Twisted 24.10.0rc1

---
 synapse/http/proxy.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/synapse/http/proxy.py b/synapse/http/proxy.py
index 97aa429e7d..5115ffd1a7 100644
--- a/synapse/http/proxy.py
+++ b/synapse/http/proxy.py
@@ -30,7 +30,7 @@
 from twisted.python import failure
 from twisted.python.failure import Failure
 from twisted.web.client import ResponseDone
-from twisted.web.http_headers import Headers
+from twisted.web.http_headers import Headers, _nameEncoder
 from twisted.web.iweb import IResponse
 from twisted.web.resource import IResource
 from twisted.web.server import Request, Site
@@ -65,11 +65,14 @@
 if hasattr(Headers, "_canonicalNameCaps"):
     # Twisted < 24.7.0rc1
     _canonicalHeaderName = Headers()._canonicalNameCaps  # type: 
ignore[attr-defined]
-else:
-    # Twisted >= 24.7.0rc1
+elif hasattr(Headers, "_encodeName"):
+    # 24.7.0rc1 <= Twisted < 24.10.0rc1
     # But note that `_encodeName` still exists on prior versions,
     # it just encodes differently
     _canonicalHeaderName = Headers()._encodeName
+else:
+    # Twisted >= 24.10.0rc1
+    _canonicalHeaderName = _nameEncoder.encode
 
 
 def parse_connection_header_value(

>From 643e7908ad941fdc7aa942b644bf218024848a6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BA=88=E7=BA=BE?= <yu...@srcz.one>
Date: Wed, 30 Oct 2024 10:46:14 +0800
Subject: [PATCH 3/3] chore: create 17886.misc

---
 changelog.d/17886.misc | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 changelog.d/17886.misc

diff --git a/changelog.d/17886.misc b/changelog.d/17886.misc
new file mode 100644
index 0000000000..d8c77e2f4e
--- /dev/null
+++ b/changelog.d/17886.misc
@@ -0,0 +1 @@
+Adapt to Twisted 24.10.0rc1.

Reply via email to