Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pynitrokey for 
openSUSE:Factory checked in at 2026-10-15 13:05:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pynitrokey (Old)
 and      /work/SRC/openSUSE:Factory/.python-pynitrokey.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pynitrokey"

Thu Oct 15 13:05:14 2026 rev:30 rq:1384912 version:0.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pynitrokey/python-pynitrokey.changes      
2026-09-21 12:23:48.066750733 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pynitrokey.new.3698736/python-pynitrokey.changes
 2026-10-15 13:05:14.822070723 +0200
@@ -1,0 +2,10 @@
+Thu Oct 15 05:05:11 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- update to 14.0.0:
+  * trussed: Add model and revision to status output in #795
+  * Allow cryptography <53 in #798
+  * Use secrets rather than random to generate secrets in #800
+  * nk3: secret: Make get-password pipe compatible in #801
+  * Fix typo in NetHSM error message in #802
+
+-------------------------------------------------------------------

Old:
----
  pynitrokey-0.13.0.tar.gz

New:
----
  pynitrokey-0.14.0.tar.gz

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

Other differences:
------------------
++++++ python-pynitrokey.spec ++++++
--- /var/tmp/diff_new_pack.cHiLJ2/_old  2026-10-15 13:05:15.785110779 +0200
+++ /var/tmp/diff_new_pack.cHiLJ2/_new  2026-10-15 13:05:15.789110945 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-pynitrokey
-Version:        0.13.0
+Version:        0.14.0
 Release:        0
 Summary:        Python Library for Nitrokey devices
 License:        Apache-2.0 OR MIT
@@ -39,7 +39,7 @@
 BuildRequires:  %{python_module hidapi >= 0.14.0.post2 with %python-hidapi < 
0.14.0.post3}
 BuildRequires:  %{python_module libusb1 >= 3 with %python-libusb1 < 4}
 BuildRequires:  %{python_module nethsm >= 3 with %python-nethsm < 4}
-BuildRequires:  %{python_module nitrokey >= 0.4.2 with %python-nitrokey < 0.5}
+BuildRequires:  %{python_module nitrokey >= 0.5 with %python-nitrokey < 0.6}
 BuildRequires:  %{python_module nkdfu >= 0.2 with %python-nkdfu < 0.3}
 BuildRequires:  %{python_module pyusb >= 1.2 with %python-pyusb < 2}
 BuildRequires:  %{python_module requests >= 2.16 with %python-requests < 3}
@@ -59,7 +59,7 @@
 Requires:       (python-hidapi >= 0.14.0.post2 with python-hidapi < 
0.14.0.post3)
 Requires:       (python-libusb1 >= 3 with python-libusb1 < 4)
 Requires:       (python-nethsm >= 3 with python-nethsm < 4)
-Requires:       (python-nitrokey >= 0.4.2 with python-nitrokey < 0.5)
+Requires:       (python-nitrokey >= 0.5 with python-nitrokey < 0.6)
 Requires:       (python-nkdfu >= 0.2 with python-nkdfu < 0.3)
 Requires:       (python-pyusb >= 1.2 with python-pyusb < 2)
 Requires:       (python-requests >= 2.16 with python-requests < 3)

++++++ pynitrokey-0.13.0.tar.gz -> pynitrokey-0.14.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/PKG-INFO 
new/pynitrokey-0.14.0/PKG-INFO
--- old/pynitrokey-0.13.0/PKG-INFO      1970-01-01 01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/PKG-INFO      1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pynitrokey
-Version: 0.13.0
+Version: 0.14.0
 Summary: Python client for Nitrokey devices
 License-Expression: Apache-2.0 OR MIT
 License-File: LICENSES/Apache-2.0.txt
@@ -20,14 +20,14 @@
 Provides-Extra: pcsc
 Requires-Dist: cffi (>=1.15,<3)
 Requires-Dist: click (>=8.2,<9)
-Requires-Dist: cryptography (>=43,<50)
+Requires-Dist: cryptography (>=43,<53)
 Requires-Dist: fido2 (>=2,<3)
 Requires-Dist: hidapi (==0.14.0.post2) ; sys_platform == "linux"
 Requires-Dist: hidapi (>=0.14,<0.15)
 Requires-Dist: intelhex (>=2.3,<3)
 Requires-Dist: libusb1 (>=3,<4)
 Requires-Dist: nethsm (>=3,<4)
-Requires-Dist: nitrokey (>=0.4.2,<0.5)
+Requires-Dist: nitrokey (>=0.5,<0.6)
 Requires-Dist: nkdfu (>=0.2,<0.3)
 Requires-Dist: pyscard (>=2,<3) ; extra == "pcsc"
 Requires-Dist: pyserial (>=3.5,<4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pynitrokey/cli/nethsm.py 
new/pynitrokey-0.14.0/pynitrokey/cli/nethsm.py
--- old/pynitrokey-0.13.0/pynitrokey/cli/nethsm.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/pynitrokey/cli/nethsm.py      1970-01-01 
01:00:00.000000000 +0100
@@ -165,7 +165,7 @@
             )
         else:
             raise click.ClickException(
-                f"Cound not connect to the NetHSM: {e.reason}\nIs the NetHSM 
running and reachable?"
+                f"Could not connect to the NetHSM: {e.reason}\nIs the NetHSM 
running and reachable?"
             )
     finally:
         nethsm.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pynitrokey/cli/nk3/secrets.py 
new/pynitrokey-0.14.0/pynitrokey/cli/nk3/secrets.py
--- old/pynitrokey-0.13.0/pynitrokey/cli/nk3/secrets.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/pynitrokey/cli/nk3/secrets.py 1970-01-01 
01:00:00.000000000 +0100
@@ -64,7 +64,8 @@
             elif e.to_id() == SecretsAppExceptionID.NotFound:
                 if repeat_if_pin_needed.cached_PIN is None:  # type: 
ignore[attr-defined]
                     local_print(
-                        "Credential not found. Please provide PIN below to 
search in the PIN-protected database."
+                        "Credential not found. Please provide PIN below to 
search in the PIN-protected database.",
+                        file=sys.stderr,
                     )
             else:
                 raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pynitrokey/cli/trussed/__init__.py 
new/pynitrokey-0.14.0/pynitrokey/cli/trussed/__init__.py
--- old/pynitrokey-0.13.0/pynitrokey/cli/trussed/__init__.py    1970-01-01 
01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/pynitrokey/cli/trussed/__init__.py    1970-01-01 
01:00:00.000000000 +0100
@@ -569,8 +569,12 @@
             local_print(f"Free blocks (int):  {status.ifs_blocks}")
         if status.efs_blocks is not None:
             local_print(f"Free blocks (ext):  {status.efs_blocks}")
+        if status.model is not None:
+            local_print(f"Model:              {status.model.name}")
         if status.variant is not None:
             local_print(f"Variant:            {status.variant.name}")
+        if status.revision is not None:
+            local_print(f"Revision:           {status.revision}")
 
 
 @click.command()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pynitrokey/cli/trussed/tests.py 
new/pynitrokey-0.14.0/pynitrokey/cli/trussed/tests.py
--- old/pynitrokey-0.13.0/pynitrokey/cli/trussed/tests.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/pynitrokey/cli/trussed/tests.py       1970-01-01 
01:00:00.000000000 +0100
@@ -322,11 +322,15 @@
     if not isinstance(device, TrussedDevice):
         return TestResult(TestStatus.SKIPPED)
 
+    ctaphid_device = device.ctaphid_device()
+    if ctaphid_device is None:
+        return TestResult(TestStatus.SKIPPED)
+
     # drop out early, if pin is needed, but not provided
     from fido2.client import DefaultClientDataCollector, Fido2Client
 
     client_data_collector = 
DefaultClientDataCollector(origin="https://example.com";)
-    fido2_client = Fido2Client(device=device.device, 
client_data_collector=client_data_collector)
+    fido2_client = Fido2Client(device=ctaphid_device, 
client_data_collector=client_data_collector)
     options = fido2_client.info.options
     has_pin = options["clientPin"]
     uv_required = not options.get("makeCredUvNotRqd", False)
@@ -373,7 +377,7 @@
             return True
 
     client = Fido2Client(
-        device=device.device,
+        device=ctaphid_device,
         client_data_collector=client_data_collector,
         user_interaction=NoInteraction(ctx.pin),
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pynitrokey/fido2/entra.py 
new/pynitrokey-0.14.0/pynitrokey/fido2/entra.py
--- old/pynitrokey-0.13.0/pynitrokey/fido2/entra.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/pynitrokey-0.14.0/pynitrokey/fido2/entra.py     1970-01-01 
01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 import json
-import random
 import re
+import secrets
 import string
 import time
 from datetime import datetime, timedelta
@@ -27,7 +27,7 @@
 
     def _generate_password(self, length: int = 16) -> str:
         characters = string.ascii_letters + string.digits + string.punctuation
-        password = "".join(random.choice(characters) for _ in range(length))
+        password = "".join(secrets.choice(characters) for _ in range(length))
         return password
 
     def _get_endpoint(self, graph_version: str = "v1.0") -> str:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynitrokey-0.13.0/pyproject.toml 
new/pynitrokey-0.14.0/pyproject.toml
--- old/pynitrokey-0.13.0/pyproject.toml        1970-01-01 01:00:00.000000000 
+0100
+++ new/pynitrokey-0.14.0/pyproject.toml        1970-01-01 01:00:00.000000000 
+0100
@@ -8,7 +8,7 @@
 
 [project]
 name = "pynitrokey"
-version = "0.13.0"
+version = "0.14.0"
 description = "Python client for Nitrokey devices"
 license = "Apache-2.0 OR MIT"
 authors = [
@@ -20,7 +20,7 @@
 dependencies = [
   "cffi >=1.15, <3",
   "click >=8.2, <9",
-  "cryptography >=43, <50",
+  "cryptography >=43, <53",
   "fido2 >=2, <3",
   "hidapi >=0.14, <0.15",
   # Limit hidapi on Linux to version using the hidraw backend, see
@@ -30,7 +30,7 @@
   "intelhex >=2.3, <3",
   "libusb1 >=3, <4",
   "nethsm >=3, <4",
-  "nitrokey >=0.4.2, <0.5",
+  "nitrokey >=0.5, <0.6",
   "nkdfu >=0.2, <0.3",
   "pyusb >=1.2, <2",
   "pyserial >=3.5, <4",
@@ -145,4 +145,8 @@
     # These additional lower bounds are required for --resolution lowest.
     # As these are transitive dependencies, we don’t include them in our 
dependency list.
     "fire >=0.1.2",
+    "pycparser >=2.18",
 ]
+exclude-newer = "7 days"
+# Can be used to update packages to a version more recent what exclude-newer 
allows
+exclude-newer-package = { nitrokey = false }

Reply via email to