Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-typeguard for
openSUSE:Factory checked in at 2026-05-21 18:25:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typeguard (Old)
and /work/SRC/openSUSE:Factory/.python-typeguard.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-typeguard"
Thu May 21 18:25:38 2026 rev:12 rq:1354134 version:4.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typeguard/python-typeguard.changes
2026-03-11 20:49:48.720373380 +0100
+++
/work/SRC/openSUSE:Factory/.python-typeguard.new.2084/python-typeguard.changes
2026-05-21 18:26:06.047509101 +0200
@@ -1,0 +2,7 @@
+Tue May 19 22:30:30 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.5.2:
+ * Fixed IndexError raised from check_signature_compatible when
+ the subject method has no positional parameters
+
+-------------------------------------------------------------------
Old:
----
typeguard-4.5.1-gh.tar.gz
New:
----
typeguard-4.5.2-gh.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-typeguard.spec ++++++
--- /var/tmp/diff_new_pack.32a9Vn/_old 2026-05-21 18:26:06.759538345 +0200
+++ /var/tmp/diff_new_pack.32a9Vn/_new 2026-05-21 18:26:06.759538345 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-typeguard
-Version: 4.5.1
+Version: 4.5.2
Release: 0
Summary: Library for runtime checking of Python types
License: MIT
++++++ typeguard-4.5.1-gh.tar.gz -> typeguard-4.5.2-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/typeguard-4.5.1/.github/workflows/publish.yml
new/typeguard-4.5.2/.github/workflows/publish.yml
--- old/typeguard-4.5.1/.github/workflows/publish.yml 2026-02-19
17:08:04.000000000 +0100
+++ new/typeguard-4.5.2/.github/workflows/publish.yml 2026-05-14
14:58:21.000000000 +0200
@@ -24,7 +24,7 @@
- name: Create packages
run: python -m build
- name: Archive packages
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: dist
path: dist
@@ -38,7 +38,7 @@
id-token: write
steps:
- name: Retrieve packages
- uses: actions/download-artifact@v7
+ uses: actions/download-artifact@v8
with:
name: dist
path: dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/typeguard-4.5.1/docs/versionhistory.rst
new/typeguard-4.5.2/docs/versionhistory.rst
--- old/typeguard-4.5.1/docs/versionhistory.rst 2026-02-19 17:08:04.000000000
+0100
+++ new/typeguard-4.5.2/docs/versionhistory.rst 2026-05-14 14:58:21.000000000
+0200
@@ -4,6 +4,12 @@
This library adheres to
`Semantic Versioning 2.0 <https://semver.org/#semantic-versioning-200>`_.
+**4.5.2** (2026-05-14)
+
+- Fixed ``IndexError`` raised from ``check_signature_compatible`` when the
subject
+ method has no positional parameters
+ (`#550 <https://github.com/agronholm/typeguard/issues/550>`_; PR by
@HackedRico)
+
**4.5.1** (2026-02-19)
- Fixed iterable unpacking incorrectly calculating the cut-off offset of the
item list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/typeguard-4.5.1/src/typeguard/_checkers.py
new/typeguard-4.5.2/src/typeguard/_checkers.py
--- old/typeguard-4.5.1/src/typeguard/_checkers.py 2026-02-19
17:08:04.000000000 +0100
+++ new/typeguard-4.5.2/src/typeguard/_checkers.py 2026-05-14
14:58:21.000000000 +0200
@@ -761,11 +761,11 @@
]
# Remove the "self" parameter from the protocol arguments to match
- if protocol_type == "instance":
+ if protocol_type == "instance" and protocol_args:
protocol_args.pop(0)
# Remove the "self" parameter from the subject arguments to match
- if subject_type == "instance":
+ if subject_type == "instance" and subject_args:
subject_args.pop(0)
for protocol_arg, subject_arg in zip_longest(protocol_args,
subject_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/typeguard-4.5.1/tests/test_checkers.py
new/typeguard-4.5.2/tests/test_checkers.py
--- old/typeguard-4.5.1/tests/test_checkers.py 2026-02-19 17:08:04.000000000
+0100
+++ new/typeguard-4.5.2/tests/test_checkers.py 2026-05-14 14:58:21.000000000
+0200
@@ -1404,6 +1404,24 @@
f"few positional arguments"
)
+ def test_subject_method_no_positional_params(self) -> None:
+ class ZeroArg:
+ def __call__(self) -> None:
+ return None
+
+ class MyProtocol(Protocol):
+ def meth(self, x: str) -> None:
+ pass
+
+ class Foo:
+ meth = ZeroArg()
+
+ pytest.raises(TypeCheckError, check_type, Foo(), MyProtocol).match(
+ f"^{qualified_name(Foo)} is not compatible with the "
+ f"{MyProtocol.__qualname__} protocol because its 'meth' method has
too "
+ f"few positional arguments"
+ )
+
def test_no_varargs(self) -> None:
class MyProtocol(Protocol):
def meth(self, *args: Any) -> None: