Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-aiohttp-socks for 
openSUSE:Factory checked in at 2026-01-22 15:18:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiohttp-socks (Old)
 and      /work/SRC/openSUSE:Factory/.python-aiohttp-socks.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-aiohttp-socks"

Thu Jan 22 15:18:03 2026 rev:14 rq:1328621 version:0.11.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-aiohttp-socks/python-aiohttp-socks.changes    
    2025-01-05 15:29:45.982085206 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-aiohttp-socks.new.1928/python-aiohttp-socks.changes
      2026-01-22 15:19:29.315505873 +0100
@@ -1,0 +2,6 @@
+Thu Jan 22 08:36:42 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.11.0:
+  * Fixed https://github.com/romis2012/aiohttp-socks/issues/52
+
+-------------------------------------------------------------------

Old:
----
  aiohttp_socks-0.10.1.tar.gz

New:
----
  aiohttp_socks-0.11.0.tar.gz

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

Other differences:
------------------
++++++ python-aiohttp-socks.spec ++++++
--- /var/tmp/diff_new_pack.WOk47l/_old  2026-01-22 15:19:30.335548303 +0100
+++ /var/tmp/diff_new_pack.WOk47l/_new  2026-01-22 15:19:30.335548303 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-aiohttp-socks
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-aiohttp-socks
-Version:        0.10.1
+Version:        0.11.0
 Release:        0
 Summary:        SOCKS proxy connector for aiohttp
 License:        Apache-2.0

++++++ aiohttp_socks-0.10.1.tar.gz -> aiohttp_socks-0.11.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/PKG-INFO 
new/aiohttp_socks-0.11.0/PKG-INFO
--- old/aiohttp_socks-0.10.1/PKG-INFO   2024-12-26 08:06:00.312892000 +0100
+++ new/aiohttp_socks-0.11.0/PKG-INFO   2025-12-09 14:35:38.220399100 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: aiohttp_socks
-Version: 0.10.1
+Version: 0.11.0
 Summary: Proxy connector for aiohttp
 Author-email: Roman Snegirev <[email protected]>
 License: Apache-2.0
@@ -17,6 +17,7 @@
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Operating System :: MacOS
 Classifier: Operating System :: Microsoft
 Classifier: Operating System :: POSIX :: Linux
@@ -29,17 +30,19 @@
 License-File: LICENSE.txt
 Requires-Dist: aiohttp>=3.10.0
 Requires-Dist: python-socks[asyncio]<3.0.0,>=2.4.3
+Dynamic: license-file
 
 ## aiohttp-socks
 
 
[![CI](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml/badge.svg)](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml)
 [![Coverage 
Status](https://codecov.io/gh/romis2012/aiohttp-socks/branch/master/graph/badge.svg)](https://codecov.io/gh/romis2012/aiohttp-socks)
 [![PyPI 
version](https://badge.fury.io/py/aiohttp-socks.svg)](https://pypi.python.org/pypi/aiohttp-socks)
+[![versions](https://img.shields.io/pypi/pyversions/aiohttp-socks.svg)](https://github.com/romis2012/aiohttp-socks)
 <!--
 
[![Downloads](https://pepy.tech/badge/aiohttp-socks/month)](https://pepy.tech/project/aiohttp-socks)
 -->
 The `aiohttp-socks` package provides a proxy connector for 
[aiohttp](https://github.com/aio-libs/aiohttp). 
-Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains.
+Supports SOCKS4(a), SOCKS5(h), HTTP (CONNECT) as well as Proxy chains.
 It uses [python-socks](https://github.com/romis2012/python-socks) for core 
proxy functionality.
 
 
@@ -55,7 +58,7 @@
 
 ## Usage
 
-#### aiohttp usage:
+#### Simple usage
 ```python
 import aiohttp
 from aiohttp_socks import ProxyType, ProxyConnector, ChainProxyConnector
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/README.md 
new/aiohttp_socks-0.11.0/README.md
--- old/aiohttp_socks-0.10.1/README.md  2024-12-23 11:28:15.000000000 +0100
+++ new/aiohttp_socks-0.11.0/README.md  2025-12-09 13:50:20.000000000 +0100
@@ -3,11 +3,12 @@
 
[![CI](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml/badge.svg)](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml)
 [![Coverage 
Status](https://codecov.io/gh/romis2012/aiohttp-socks/branch/master/graph/badge.svg)](https://codecov.io/gh/romis2012/aiohttp-socks)
 [![PyPI 
version](https://badge.fury.io/py/aiohttp-socks.svg)](https://pypi.python.org/pypi/aiohttp-socks)
+[![versions](https://img.shields.io/pypi/pyversions/aiohttp-socks.svg)](https://github.com/romis2012/aiohttp-socks)
 <!--
 
[![Downloads](https://pepy.tech/badge/aiohttp-socks/month)](https://pepy.tech/project/aiohttp-socks)
 -->
 The `aiohttp-socks` package provides a proxy connector for 
[aiohttp](https://github.com/aio-libs/aiohttp). 
-Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains.
+Supports SOCKS4(a), SOCKS5(h), HTTP (CONNECT) as well as Proxy chains.
 It uses [python-socks](https://github.com/romis2012/python-socks) for core 
proxy functionality.
 
 
@@ -23,7 +24,7 @@
 
 ## Usage
 
-#### aiohttp usage:
+#### Simple usage
 ```python
 import aiohttp
 from aiohttp_socks import ProxyType, ProxyConnector, ChainProxyConnector
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/aiohttp_socks/__init__.py 
new/aiohttp_socks-0.11.0/aiohttp_socks/__init__.py
--- old/aiohttp_socks-0.10.1/aiohttp_socks/__init__.py  2024-12-26 
08:03:51.000000000 +0100
+++ new/aiohttp_socks-0.11.0/aiohttp_socks/__init__.py  2025-12-09 
14:31:38.000000000 +0100
@@ -1,25 +1,22 @@
 __title__ = 'aiohttp-socks'
-__version__ = '0.10.1'
+__version__ = '0.11.0'
 
-from python_socks import (
+from python_socks import ProxyType
+
+from ._errors import (
     ProxyError,
     ProxyTimeoutError,
     ProxyConnectionError,
-    ProxyType
 )
 
-from .connector import (
-    ProxyConnector,
-    ChainProxyConnector,
-    ProxyInfo
-)
+from .connector import ProxyConnector, ChainProxyConnector, ProxyInfo
 from .utils import open_connection, create_connection
 
 from ._deprecated import (
     SocksVer,
     SocksConnector,
     SocksConnectionError,
-    SocksError
+    SocksError,
 )
 
 __all__ = (
@@ -34,7 +31,6 @@
     'ProxyTimeoutError',
     'open_connection',
     'create_connection',
-
     'SocksVer',
     'SocksConnector',
     'SocksError',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/aiohttp_socks/_errors.py 
new/aiohttp_socks-0.11.0/aiohttp_socks/_errors.py
--- old/aiohttp_socks-0.10.1/aiohttp_socks/_errors.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/aiohttp_socks-0.11.0/aiohttp_socks/_errors.py   2025-12-09 
13:26:16.000000000 +0100
@@ -0,0 +1,12 @@
+class ProxyTimeoutError(Exception):
+    pass
+
+
+class ProxyConnectionError(Exception):
+    pass
+
+
+class ProxyError(Exception):
+    def __init__(self, message, error_code=None):
+        super().__init__(message)
+        self.error_code = error_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/aiohttp_socks/connector.py 
new/aiohttp_socks-0.11.0/aiohttp_socks/connector.py
--- old/aiohttp_socks-0.10.1/aiohttp_socks/connector.py 2024-12-26 
08:02:39.000000000 +0100
+++ new/aiohttp_socks-0.11.0/aiohttp_socks/connector.py 2025-12-09 
13:32:17.000000000 +0100
@@ -6,9 +6,13 @@
 from aiohttp import ClientConnectorError, TCPConnector
 from aiohttp.abc import AbstractResolver, ResolveResult
 from aiohttp.client_proto import ResponseHandler
+
+import python_socks
 from python_socks import ProxyType, parse_proxy_url
 from python_socks.async_.asyncio.v2 import Proxy
 
+from ._errors import ProxyConnectionError, ProxyTimeoutError, ProxyError
+
 
 class NoResolver(AbstractResolver):
     async def resolve(
@@ -40,7 +44,9 @@
     See StreamWriter.__del__ method (was added in Python 3.11.5)
     """
 
-    def __init__(self, loop: asyncio.AbstractEventLoop, writer: 
asyncio.StreamWriter) -> None:
+    def __init__(
+        self, loop: asyncio.AbstractEventLoop, writer: asyncio.StreamWriter
+    ) -> None:
         super().__init__(loop)
         self._writer = writer
 
@@ -62,13 +68,19 @@
             raise ValueError('Invalid arg: `addr_infos`') from e
 
         ssl: Optional[SSLContext] = kwargs.get('ssl')  # type: ignore
-
-        return await self._connect_via_proxy(
-            host=host,
-            port=port,
-            ssl=ssl,
-            timeout=timeout.sock_connect,
-        )
+        try:
+            return await self._connect_via_proxy(
+                host=host,
+                port=port,
+                ssl=ssl,
+                timeout=timeout.sock_connect,
+            )
+        except python_socks.ProxyConnectionError as e:
+            raise ProxyConnectionError(str(e)) from e
+        except python_socks.ProxyTimeoutError as e:
+            raise ProxyTimeoutError(str(e)) from e
+        except python_socks.ProxyError as e:
+            raise ProxyError(str(e), error_code=e.error_code) from e
 
     async def _connect_via_proxy(
         self,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/aiohttp_socks.egg-info/PKG-INFO 
new/aiohttp_socks-0.11.0/aiohttp_socks.egg-info/PKG-INFO
--- old/aiohttp_socks-0.10.1/aiohttp_socks.egg-info/PKG-INFO    2024-12-26 
08:06:00.000000000 +0100
+++ new/aiohttp_socks-0.11.0/aiohttp_socks.egg-info/PKG-INFO    2025-12-09 
14:35:38.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: aiohttp_socks
-Version: 0.10.1
+Version: 0.11.0
 Summary: Proxy connector for aiohttp
 Author-email: Roman Snegirev <[email protected]>
 License: Apache-2.0
@@ -17,6 +17,7 @@
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Operating System :: MacOS
 Classifier: Operating System :: Microsoft
 Classifier: Operating System :: POSIX :: Linux
@@ -29,17 +30,19 @@
 License-File: LICENSE.txt
 Requires-Dist: aiohttp>=3.10.0
 Requires-Dist: python-socks[asyncio]<3.0.0,>=2.4.3
+Dynamic: license-file
 
 ## aiohttp-socks
 
 
[![CI](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml/badge.svg)](https://github.com/romis2012/aiohttp-socks/actions/workflows/ci.yml)
 [![Coverage 
Status](https://codecov.io/gh/romis2012/aiohttp-socks/branch/master/graph/badge.svg)](https://codecov.io/gh/romis2012/aiohttp-socks)
 [![PyPI 
version](https://badge.fury.io/py/aiohttp-socks.svg)](https://pypi.python.org/pypi/aiohttp-socks)
+[![versions](https://img.shields.io/pypi/pyversions/aiohttp-socks.svg)](https://github.com/romis2012/aiohttp-socks)
 <!--
 
[![Downloads](https://pepy.tech/badge/aiohttp-socks/month)](https://pepy.tech/project/aiohttp-socks)
 -->
 The `aiohttp-socks` package provides a proxy connector for 
[aiohttp](https://github.com/aio-libs/aiohttp). 
-Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains.
+Supports SOCKS4(a), SOCKS5(h), HTTP (CONNECT) as well as Proxy chains.
 It uses [python-socks](https://github.com/romis2012/python-socks) for core 
proxy functionality.
 
 
@@ -55,7 +58,7 @@
 
 ## Usage
 
-#### aiohttp usage:
+#### Simple usage
 ```python
 import aiohttp
 from aiohttp_socks import ProxyType, ProxyConnector, ChainProxyConnector
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aiohttp_socks-0.10.1/aiohttp_socks.egg-info/SOURCES.txt 
new/aiohttp_socks-0.11.0/aiohttp_socks.egg-info/SOURCES.txt
--- old/aiohttp_socks-0.10.1/aiohttp_socks.egg-info/SOURCES.txt 2024-12-26 
08:06:00.000000000 +0100
+++ new/aiohttp_socks-0.11.0/aiohttp_socks.egg-info/SOURCES.txt 2025-12-09 
14:35:38.000000000 +0100
@@ -4,6 +4,7 @@
 pyproject.toml
 aiohttp_socks/__init__.py
 aiohttp_socks/_deprecated.py
+aiohttp_socks/_errors.py
 aiohttp_socks/connector.py
 aiohttp_socks/py.typed
 aiohttp_socks/utils.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/pyproject.toml 
new/aiohttp_socks-0.11.0/pyproject.toml
--- old/aiohttp_socks-0.10.1/pyproject.toml     2024-12-26 06:27:50.000000000 
+0100
+++ new/aiohttp_socks-0.11.0/pyproject.toml     2025-11-10 09:42:18.000000000 
+0100
@@ -23,6 +23,7 @@
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
     "Operating System :: MacOS",
     "Operating System :: Microsoft",
     "Operating System :: POSIX :: Linux",
@@ -43,7 +44,7 @@
 include = ['aiohttp_socks*']
 
 [tool.black]
-line-length = 99
+line-length = 89
 target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
 skip-string-normalization = true
 preview = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiohttp_socks-0.10.1/tests/test_connector.py 
new/aiohttp_socks-0.11.0/tests/test_connector.py
--- old/aiohttp_socks-0.10.1/tests/test_connector.py    2022-10-09 
09:06:19.000000000 +0200
+++ new/aiohttp_socks-0.11.0/tests/test_connector.py    2025-12-09 
13:37:38.000000000 +0100
@@ -175,7 +175,9 @@
 @pytest.mark.parametrize('url', (TEST_URL_IPV4, TEST_URL_IPV4_HTTPS))
 @pytest.mark.asyncio
 async def test_chain_proxy_from_url(url, target_ssl_context):
-    connector = ChainProxyConnector.from_urls([SOCKS5_IPV4_URL, SOCKS4_URL, 
HTTP_PROXY_URL])
+    connector = ChainProxyConnector.from_urls(
+        [SOCKS5_IPV4_URL, SOCKS4_URL, HTTP_PROXY_URL]
+    )
     res = await fetch(
         connector=connector,
         url=url,
@@ -240,7 +242,10 @@
         server_hostname=url.host if ssl_context else None,
         rdns=rdns,
     )
-    request = "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n" % 
(url.path_qs, url.host)
+    request = "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n" % (
+        url.path_qs,
+        url.host,
+    )
 
     writer.write(request.encode())
     response = await reader.read(-1)
@@ -253,7 +258,6 @@
 async def test_socks5_http_create_connection(
     url: str,
     rdns: bool,
-    event_loop: asyncio.AbstractEventLoop,
     target_ssl_context: ssl.SSLContext,
 ):
     url = URL(url)
@@ -262,6 +266,7 @@
     if url.scheme == 'https':
         ssl_context = target_ssl_context
 
+    event_loop = asyncio.get_running_loop()
     reader = asyncio.StreamReader(loop=event_loop)
     protocol = asyncio.StreamReaderProtocol(reader, loop=event_loop)
 
@@ -277,7 +282,10 @@
 
     writer = asyncio.StreamWriter(transport, protocol, reader, event_loop)
 
-    request = "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n" % 
(url.path_qs, url.host)
+    request = "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n" % (
+        url.path_qs,
+        url.host,
+    )
 
     writer.write(request.encode())
     response = await reader.read(-1)

Reply via email to