Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-yarl for openSUSE:Factory checked in at 2025-10-21 11:14:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-yarl (Old) and /work/SRC/openSUSE:Factory/.python-yarl.new.18484 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-yarl" Tue Oct 21 11:14:46 2025 rev:37 rq:1312437 version:1.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-yarl/python-yarl.changes 2025-06-20 16:48:24.245764044 +0200 +++ /work/SRC/openSUSE:Factory/.python-yarl.new.18484/python-yarl.changes 2025-10-21 11:15:15.731872508 +0200 @@ -1,0 +2,13 @@ +Mon Oct 20 14:11:33 UTC 2025 - John Paul Adrian Glaubitz <[email protected]> + +- Update to 1.22.0 + * Added arm64 Windows wheel builds +- from version 1.21.0 + * The :file:`reusable-cibuildwheel.yml` workflow has been refactored to + be more generic and :file:`ci-cd.yml` now holds all the configuration + toggles -- by :user:`webknjaz`. + * When building wheels, the source distribution is now passed directly + to the ``cibuildwheel`` invocation -- by :user:`webknjaz`. + * Added CI for Python 3.14 -- by :user:`kumaraditya303`. + +------------------------------------------------------------------- Old: ---- yarl-1.20.1.tar.gz New: ---- yarl-1.22.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-yarl.spec ++++++ --- /var/tmp/diff_new_pack.hYpeuy/_old 2025-10-21 11:15:16.627910165 +0200 +++ /var/tmp/diff_new_pack.hYpeuy/_new 2025-10-21 11:15:16.631910333 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-yarl -Version: 1.20.1 +Version: 1.22.0 Release: 0 Summary: Yet another URL library License: Apache-2.0 ++++++ yarl-1.20.1.tar.gz -> yarl-1.22.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/.coveragerc new/yarl-1.22.0/.coveragerc --- old/yarl-1.20.1/.coveragerc 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/.coveragerc 2025-10-06 00:23:55.000000000 +0200 @@ -27,6 +27,9 @@ [run] branch = true +# Cython.Coverage plugin is not supported on sysmon core which is default on +# Python 3.14+ so always use ctrace core +core = ctrace cover_pylib = false # https://coverage.rtfd.io/en/latest/contexts.html#dynamic-contexts # dynamic_context = test_function # conflicts with `pytest-cov` if set here diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/CHANGES.rst new/yarl-1.22.0/CHANGES.rst --- old/yarl-1.20.1/CHANGES.rst 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/CHANGES.rst 2025-10-06 00:23:55.000000000 +0200 @@ -14,6 +14,56 @@ .. towncrier release notes start +1.22.0 +====== + +*(2025-10-05)* + + +Features +-------- + +- Added arm64 Windows wheel builds + -- by :user:`finnagin`. + + *Related issues and pull requests on GitHub:* + :issue:`1516`. + + +---- + + +1.21.0 +====== + +*(2025-10-05)* + + +Contributor-facing changes +-------------------------- + +- The :file:`reusable-cibuildwheel.yml` workflow has been refactored to + be more generic and :file:`ci-cd.yml` now holds all the configuration + toggles -- by :user:`webknjaz`. + + *Related issues and pull requests on GitHub:* + :issue:`1535`. + +- When building wheels, the source distribution is now passed directly + to the ``cibuildwheel`` invocation -- by :user:`webknjaz`. + + *Related issues and pull requests on GitHub:* + :issue:`1536`. + +- Added CI for Python 3.14 -- by :user:`kumaraditya303`. + + *Related issues and pull requests on GitHub:* + :issue:`1560`. + + +---- + + 1.20.1 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/PKG-INFO new/yarl-1.22.0/PKG-INFO --- old/yarl-1.20.1/PKG-INFO 2025-06-10 01:32:10.293815100 +0200 +++ new/yarl-1.22.0/PKG-INFO 2025-10-06 00:24:10.649525600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: yarl -Version: 1.20.1 +Version: 1.22.0 Summary: Yet another URL library Home-page: https://github.com/aio-libs/yarl Author: Andrew Svetlov @@ -29,6 +29,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: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.9 @@ -267,6 +268,56 @@ .. towncrier release notes start +1.22.0 +====== + +*(2025-10-05)* + + +Features +-------- + +- Added arm64 Windows wheel builds + -- by `@finnagin <https://github.com/sponsors/finnagin>`__. + + *Related issues and pull requests on GitHub:* + `#1516 <https://github.com/aio-libs/yarl/issues/1516>`__. + + +---- + + +1.21.0 +====== + +*(2025-10-05)* + + +Contributor-facing changes +-------------------------- + +- The ``reusable-cibuildwheel.yml`` workflow has been refactored to + be more generic and ``ci-cd.yml`` now holds all the configuration + toggles -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__. + + *Related issues and pull requests on GitHub:* + `#1535 <https://github.com/aio-libs/yarl/issues/1535>`__. + +- When building wheels, the source distribution is now passed directly + to the ``cibuildwheel`` invocation -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__. + + *Related issues and pull requests on GitHub:* + `#1536 <https://github.com/aio-libs/yarl/issues/1536>`__. + +- Added CI for Python 3.14 -- by `@kumaraditya303 <https://github.com/sponsors/kumaraditya303>`__. + + *Related issues and pull requests on GitHub:* + `#1560 <https://github.com/aio-libs/yarl/issues/1560>`__. + + +---- + + 1.20.1 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/pyproject.toml new/yarl-1.22.0/pyproject.toml --- old/yarl-1.20.1/pyproject.toml 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/pyproject.toml 2025-10-06 00:23:55.000000000 +0200 @@ -48,6 +48,8 @@ # https://cython.rtfd.io/en/latest/src/userguide/source_files_and_compilation.html#compiler-directives embedsignature = "True" emit_code_comments = "True" +language_level = "3" +freethreading_compatible = "True" [tool.local.cythonize.kwargs.compile-time-env] # This section can contain compile time env vars diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/requirements/codspeed.txt new/yarl-1.22.0/requirements/codspeed.txt --- old/yarl-1.20.1/requirements/codspeed.txt 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/requirements/codspeed.txt 2025-10-06 00:23:55.000000000 +0200 @@ -1,2 +1,2 @@ -r test.txt -pytest-codspeed==3.2.0 +pytest-codspeed==4.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/requirements/cython.txt new/yarl-1.22.0/requirements/cython.txt --- old/yarl-1.20.1/requirements/cython.txt 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/requirements/cython.txt 2025-10-06 00:23:55.000000000 +0200 @@ -1 +1 @@ -cython==3.1.2 +cython==3.1.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/requirements/lint.txt new/yarl-1.22.0/requirements/lint.txt --- old/yarl-1.20.1/requirements/lint.txt 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/requirements/lint.txt 2025-10-06 00:23:55.000000000 +0200 @@ -1 +1 @@ -pre-commit==4.2.0 +pre-commit==4.3.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/requirements/test.txt new/yarl-1.22.0/requirements/test.txt --- old/yarl-1.20.1/requirements/test.txt 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/requirements/test.txt 2025-10-06 00:23:55.000000000 +0200 @@ -2,8 +2,8 @@ covdefaults hypothesis>=6.0 idna==3.10 -multidict==6.4.4 -propcache==0.3.1 -pytest==8.4.0 +multidict==6.6.4 +propcache==0.4.0 +pytest==8.4.2 pytest-cov>=2.3.1 pytest-xdist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/requirements/towncrier.txt new/yarl-1.22.0/requirements/towncrier.txt --- old/yarl-1.20.1/requirements/towncrier.txt 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/requirements/towncrier.txt 2025-10-06 00:23:55.000000000 +0200 @@ -1 +1 @@ -towncrier==23.11.0 +towncrier==25.8.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/setup.cfg new/yarl-1.22.0/setup.cfg --- old/yarl-1.20.1/setup.cfg 2025-06-10 01:32:10.294815000 +0200 +++ new/yarl-1.22.0/setup.cfg 2025-10-06 00:24:10.650525800 +0200 @@ -41,6 +41,7 @@ Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 Topic :: Internet :: WWW/HTTP Topic :: Software Development :: Libraries :: Python Modules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl/__init__.py new/yarl-1.22.0/yarl/__init__.py --- old/yarl-1.20.1/yarl/__init__.py 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/yarl/__init__.py 2025-10-06 00:23:55.000000000 +0200 @@ -1,7 +1,7 @@ from ._query import Query, QueryVariable, SimpleQuery from ._url import URL, cache_clear, cache_configure, cache_info -__version__ = "1.20.1" +__version__ = "1.22.0" __all__ = ( "URL", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl/_query.py new/yarl-1.22.0/yarl/_query.py --- old/yarl-1.20.1/yarl/_query.py 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/yarl/_query.py 2025-10-06 00:23:55.000000000 +0200 @@ -2,7 +2,7 @@ import math from collections.abc import Iterable, Mapping, Sequence -from typing import Any, SupportsInt, Union +from typing import TYPE_CHECKING, Any, SupportsInt, Union, cast from multidict import istr @@ -78,7 +78,12 @@ def get_str_query(*args: Any, **kwargs: Any) -> Union[str, None]: """Return a query string from supported args.""" - query: Union[str, Mapping[str, QueryVariable], None] + query: Union[ + str, + Mapping[str, QueryVariable], + Sequence[tuple[Union[str, istr], SimpleQuery]], + None, + ] if kwargs: if args: msg = "Either kwargs or single query parameter must be present" @@ -99,7 +104,7 @@ return QUERY_QUOTER(query) if isinstance(query, Mapping): return get_str_query_from_sequence_iterable(query.items()) - if isinstance(query, (bytes, bytearray, memoryview)): # type: ignore[unreachable] + if isinstance(query, (bytes, bytearray, memoryview)): msg = "Invalid query type: bytes, bytearray and memoryview are forbidden" raise TypeError(msg) if isinstance(query, Sequence): @@ -107,6 +112,8 @@ # already; only mappings like builtin `dict` which can't have the # same key pointing to multiple values are allowed to use # `_query_seq_pairs`. + if TYPE_CHECKING: + query = cast(Sequence[tuple[Union[str, istr], SimpleQuery]], query) return get_str_query_from_iterable(query) raise TypeError( "Invalid query type: only str, mapping or " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl/_quoting_c.pyx new/yarl-1.22.0/yarl/_quoting_c.pyx --- old/yarl-1.20.1/yarl/_quoting_c.pyx 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/yarl/_quoting_c.pyx 2025-10-06 00:23:55.000000000 +0200 @@ -1,5 +1,3 @@ -# cython: language_level=3, freethreading_compatible=True - from cpython.exc cimport PyErr_NoMemory from cpython.mem cimport PyMem_Free, PyMem_Malloc, PyMem_Realloc from cpython.unicode cimport ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl/_quoting_py.py new/yarl-1.22.0/yarl/_quoting_py.py --- old/yarl-1.20.1/yarl/_quoting_py.py 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/yarl/_quoting_py.py 2025-10-06 00:23:55.000000000 +0200 @@ -1,7 +1,7 @@ import codecs import re from string import ascii_letters, ascii_lowercase, digits -from typing import Union, cast, overload +from typing import Union, overload BASCII_LOWERCASE = ascii_lowercase.encode("ascii") BPCT_ALLOWED = {f"%{i:02X}".encode("ascii") for i in range(256)} @@ -145,7 +145,7 @@ raise TypeError("Argument should be str") if not val: return "" - decoder = cast(codecs.BufferedIncrementalDecoder, utf8_decoder()) + decoder = utf8_decoder() ret = [] idx = 0 while idx < len(val): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl/_url.py new/yarl-1.22.0/yarl/_url.py --- old/yarl-1.20.1/yarl/_url.py 2025-06-10 01:32:05.000000000 +0200 +++ new/yarl-1.22.0/yarl/_url.py 2025-10-06 00:23:55.000000000 +0200 @@ -5,11 +5,20 @@ from enum import Enum from functools import _CacheInfo, lru_cache from ipaddress import ip_address -from typing import TYPE_CHECKING, Any, NoReturn, TypedDict, TypeVar, Union, overload +from typing import ( + TYPE_CHECKING, + Any, + NoReturn, + TypedDict, + TypeVar, + Union, + cast, + overload, +) from urllib.parse import SplitResult, uses_relative import idna -from multidict import MultiDict, MultiDictProxy +from multidict import MultiDict, MultiDictProxy, istr from propcache.api import under_cached_property as cached_property from ._parse import ( @@ -1231,7 +1240,12 @@ >>> url.update_query(a=3, c=4) URL('http://example.com/?a=3&b=2&c=4') """ - in_query: Union[str, Mapping[str, QueryVariable], None] + in_query: Union[ + str, + Mapping[str, QueryVariable], + Sequence[tuple[Union[str, istr], SimpleQuery]], + None, + ] if kwargs: if args: msg = "Either kwargs or single query parameter must be present" @@ -1254,7 +1268,7 @@ qstr: MultiDict[str] = MultiDict(self._parsed_query) qstr.update(query_to_pairs(in_query)) query = get_str_query_from_iterable(qstr.items()) - elif isinstance(in_query, (bytes, bytearray, memoryview)): # type: ignore[unreachable] + elif isinstance(in_query, (bytes, bytearray, memoryview)): msg = "Invalid query type: bytes, bytearray and memoryview are forbidden" raise TypeError(msg) elif isinstance(in_query, Sequence): @@ -1262,6 +1276,10 @@ # already; only mappings like builtin `dict` which can't have the # same key pointing to multiple values are allowed to use # `_query_seq_pairs`. + if TYPE_CHECKING: + in_query = cast( + Sequence[tuple[Union[str, istr], SimpleQuery]], in_query + ) qs: MultiDict[SimpleQuery] = MultiDict(self._parsed_query) qs.update(in_query) query = get_str_query_from_iterable(qs.items()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarl-1.20.1/yarl.egg-info/PKG-INFO new/yarl-1.22.0/yarl.egg-info/PKG-INFO --- old/yarl-1.20.1/yarl.egg-info/PKG-INFO 2025-06-10 01:32:10.000000000 +0200 +++ new/yarl-1.22.0/yarl.egg-info/PKG-INFO 2025-10-06 00:24:10.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: yarl -Version: 1.20.1 +Version: 1.22.0 Summary: Yet another URL library Home-page: https://github.com/aio-libs/yarl Author: Andrew Svetlov @@ -29,6 +29,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: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.9 @@ -267,6 +268,56 @@ .. towncrier release notes start +1.22.0 +====== + +*(2025-10-05)* + + +Features +-------- + +- Added arm64 Windows wheel builds + -- by `@finnagin <https://github.com/sponsors/finnagin>`__. + + *Related issues and pull requests on GitHub:* + `#1516 <https://github.com/aio-libs/yarl/issues/1516>`__. + + +---- + + +1.21.0 +====== + +*(2025-10-05)* + + +Contributor-facing changes +-------------------------- + +- The ``reusable-cibuildwheel.yml`` workflow has been refactored to + be more generic and ``ci-cd.yml`` now holds all the configuration + toggles -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__. + + *Related issues and pull requests on GitHub:* + `#1535 <https://github.com/aio-libs/yarl/issues/1535>`__. + +- When building wheels, the source distribution is now passed directly + to the ``cibuildwheel`` invocation -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__. + + *Related issues and pull requests on GitHub:* + `#1536 <https://github.com/aio-libs/yarl/issues/1536>`__. + +- Added CI for Python 3.14 -- by `@kumaraditya303 <https://github.com/sponsors/kumaraditya303>`__. + + *Related issues and pull requests on GitHub:* + `#1560 <https://github.com/aio-libs/yarl/issues/1560>`__. + + +---- + + 1.20.1 ======
