Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-mgmt-keyvault for
openSUSE:Factory checked in at 2026-03-27 16:51:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-keyvault (Old)
and /work/SRC/openSUSE:Factory/.python-azure-mgmt-keyvault.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-keyvault"
Fri Mar 27 16:51:33 2026 rev:30 rq:1343168 version:14.0.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-azure-mgmt-keyvault/python-azure-mgmt-keyvault.changes
2026-03-23 17:17:53.484959977 +0100
+++
/work/SRC/openSUSE:Factory/.python-azure-mgmt-keyvault.new.8177/python-azure-mgmt-keyvault.changes
2026-03-27 16:54:14.963358445 +0100
@@ -1,0 +2,8 @@
+Fri Mar 27 09:50:35 UTC 2026 - John Paul Adrian Glaubitz
<[email protected]>
+
+- New upstream release
+ + Version 14.0.1
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+
+-------------------------------------------------------------------
Old:
----
azure_mgmt_keyvault-14.0.0.tar.gz
New:
----
azure_mgmt_keyvault-14.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-mgmt-keyvault.spec ++++++
--- /var/tmp/diff_new_pack.1IK3Vq/_old 2026-03-27 16:54:15.591384735 +0100
+++ /var/tmp/diff_new_pack.1IK3Vq/_new 2026-03-27 16:54:15.591384735 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-azure-mgmt-keyvault
-Version: 14.0.0
+Version: 14.0.1
Release: 0
Summary: Microsoft Azure Key Vault Management Client Library
License: MIT
++++++ azure_mgmt_keyvault-14.0.0.tar.gz -> azure_mgmt_keyvault-14.0.1.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure_mgmt_keyvault-14.0.0/CHANGELOG.md
new/azure_mgmt_keyvault-14.0.1/CHANGELOG.md
--- old/azure_mgmt_keyvault-14.0.0/CHANGELOG.md 2026-03-20 22:55:07.000000000
+0100
+++ new/azure_mgmt_keyvault-14.0.1/CHANGELOG.md 2026-03-27 08:04:11.000000000
+0100
@@ -1,5 +1,11 @@
# Release History
+## 14.0.1 (2026-03-27)
+
+### Bugs Fixed
+
+ - Fix wrong replacement about api-version for `next_link` of API
`VaultsOperations.list`
+
## 14.0.0 (2026-03-18)
### Breaking Changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure_mgmt_keyvault-14.0.0/PKG-INFO
new/azure_mgmt_keyvault-14.0.1/PKG-INFO
--- old/azure_mgmt_keyvault-14.0.0/PKG-INFO 2026-03-20 22:56:06.957638500
+0100
+++ new/azure_mgmt_keyvault-14.0.1/PKG-INFO 2026-03-27 08:04:52.545876300
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: azure-mgmt-keyvault
-Version: 14.0.0
+Version: 14.0.1
Summary: Microsoft Azure Keyvault Management Client Library for Python
Author-email: Microsoft Corporation <[email protected]>
License-Expression: MIT
@@ -87,6 +87,12 @@
# Release History
+## 14.0.1 (2026-03-27)
+
+### Bugs Fixed
+
+ - Fix wrong replacement about api-version for `next_link` of API
`VaultsOperations.list`
+
## 14.0.0 (2026-03-18)
### Breaking Changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/_version.py
new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/_version.py
--- old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/_version.py
2026-03-20 22:55:07.000000000 +0100
+++ new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/_version.py
2026-03-27 08:04:11.000000000 +0100
@@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is
regenerated.
# --------------------------------------------------------------------------
-VERSION = "14.0.0"
+VERSION = "14.0.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/aio/operations/_operations.py
new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/aio/operations/_operations.py
---
old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/aio/operations/_operations.py
2026-03-20 22:55:07.000000000 +0100
+++
new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/aio/operations/_operations.py
2026-03-27 08:04:11.000000000 +0100
@@ -1462,7 +1462,7 @@
for key, value in
urllib.parse.parse_qs(_parsed_next_link.query).items()
}
)
- _next_request_params["api-version"] = self._config.api_version
+ _next_request_params["api-version"] = api_version
_request = HttpRequest(
"GET", urllib.parse.urljoin(next_link,
_parsed_next_link.path), params=_next_request_params
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/operations/_operations.py
new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/operations/_operations.py
---
old/azure_mgmt_keyvault-14.0.0/azure/mgmt/keyvault/operations/_operations.py
2026-03-20 22:55:07.000000000 +0100
+++
new/azure_mgmt_keyvault-14.0.1/azure/mgmt/keyvault/operations/_operations.py
2026-03-27 08:04:11.000000000 +0100
@@ -2808,7 +2808,7 @@
for key, value in
urllib.parse.parse_qs(_parsed_next_link.query).items()
}
)
- _next_request_params["api-version"] = self._config.api_version
+ _next_request_params["api-version"] = api_version
_request = HttpRequest(
"GET", urllib.parse.urljoin(next_link,
_parsed_next_link.path), params=_next_request_params
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_mgmt_keyvault-14.0.0/azure_mgmt_keyvault.egg-info/PKG-INFO
new/azure_mgmt_keyvault-14.0.1/azure_mgmt_keyvault.egg-info/PKG-INFO
--- old/azure_mgmt_keyvault-14.0.0/azure_mgmt_keyvault.egg-info/PKG-INFO
2026-03-20 22:56:06.000000000 +0100
+++ new/azure_mgmt_keyvault-14.0.1/azure_mgmt_keyvault.egg-info/PKG-INFO
2026-03-27 08:04:52.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: azure-mgmt-keyvault
-Version: 14.0.0
+Version: 14.0.1
Summary: Microsoft Azure Keyvault Management Client Library for Python
Author-email: Microsoft Corporation <[email protected]>
License-Expression: MIT
@@ -87,6 +87,12 @@
# Release History
+## 14.0.1 (2026-03-27)
+
+### Bugs Fixed
+
+ - Fix wrong replacement about api-version for `next_link` of API
`VaultsOperations.list`
+
## 14.0.0 (2026-03-18)
### Breaking Changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure_mgmt_keyvault-14.0.0/tests/test_unittest.py
new/azure_mgmt_keyvault-14.0.1/tests/test_unittest.py
--- old/azure_mgmt_keyvault-14.0.0/tests/test_unittest.py 2026-03-20
22:55:07.000000000 +0100
+++ new/azure_mgmt_keyvault-14.0.1/tests/test_unittest.py 2026-03-27
08:04:11.000000000 +0100
@@ -5,7 +5,15 @@
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
regenerated.
# --------------------------------------------------------------------------
+import json
+from unittest.mock import AsyncMock, Mock
+
+import pytest
+
+from azure.mgmt.keyvault import KeyVaultManagementClient
+from azure.mgmt.keyvault.aio import KeyVaultManagementClient as
AsyncKeyVaultManagementClient
from azure.mgmt.keyvault.models import Key, KeyAttributes, KeyProperties,
PrivateLinkResource
+from azure.core.pipeline.transport import HttpTransport, AsyncHttpTransport
from azure.core.serialization import attribute_list
@@ -52,3 +60,149 @@
)
assert plr.group_id == "vault"
assert plr.properties.group_id == "vault"
+
+
+def test_vaults_list_api_version():
+ """Verify vaults.list() uses api-version=2015-11-01 for both initial and
next-link requests.
+
+ This API is a legacy paging API where api-version must be "2015-11-01" for
all requests.
+ After SDK regeneration, 2 lines need to be customized per:
+
https://github.com/Azure/azure-sdk-for-python/pull/43559/commits/6e09d1d513da26c55c7960442f0f20f5e59e149a
+ """
+ captured_urls = []
+ call_count = 0
+
+ class MockTransport(HttpTransport):
+ def open(self):
+ pass
+
+ def close(self):
+ pass
+
+ def __exit__(self, *args):
+ pass
+
+ def send(self, request, **kwargs):
+ nonlocal call_count
+ call_count += 1
+ captured_urls.append(request.url)
+
+ response = Mock()
+ response.status_code = 200
+ response.headers = {"Content-Type": "application/json"}
+ response.content_type = "application/json"
+
+ if call_count == 1:
+ # First response includes a nextLink WITHOUT api-version,
+ # simulating real service behavior
+ body = {
+ "value": [{"id": "1", "name": "vault1", "type":
"Microsoft.KeyVault/vaults", "location": "eastus"}],
+ "nextLink":
"https://management.azure.com/subscriptions/fake-sub-id/resources"
+
"?$filter=resourceType+eq+%27Microsoft.KeyVault%2Fvaults%27&$skiptoken=page2",
+ }
+ else:
+ body = {
+ "value": [{"id": "2", "name": "vault2", "type":
"Microsoft.KeyVault/vaults", "location": "eastus"}],
+ }
+
+ response.json.return_value = body
+ response.text.return_value = json.dumps(body)
+ content = json.dumps(body).encode("utf-8")
+ response.read.return_value = content
+ response.content = content
+ response.is_closed = False
+ response.is_stream_consumed = False
+ return response
+
+ mock_credential = Mock()
+ mock_credential.get_token.return_value = Mock(token="fake-token",
expires_on=9999999999)
+
+ client = KeyVaultManagementClient(
+ credential=mock_credential,
+ subscription_id="fake-sub-id",
+ base_url="https://management.azure.com",
+ transport=MockTransport(),
+ policies=[],
+ )
+
+ result = list(client.vaults.list())
+ assert len(result) == 2
+ assert call_count == 2
+
+ for url in captured_urls:
+ assert (
+ url.count("api-version=2015-11-01") == 1
+ ), f"api-version=2015-11-01 must appear exactly once in URL: {url}"
+ assert url.count("api-version") == 1, f"api-version query parameter is
duplicated in URL: {url}"
+
+
[email protected]
+async def test_vaults_list_api_version_async():
+ """Verify async vaults.list() uses api-version=2015-11-01 for both initial
and next-link requests."""
+ captured_urls = []
+ call_count = 0
+
+ class MockAsyncTransport(AsyncHttpTransport):
+ async def open(self):
+ pass
+
+ async def close(self):
+ pass
+
+ async def __aexit__(self, *args):
+ pass
+
+ async def send(self, request, **kwargs):
+ nonlocal call_count
+ call_count += 1
+ captured_urls.append(request.url)
+
+ response = Mock()
+ response.status_code = 200
+ response.headers = {"Content-Type": "application/json"}
+ response.content_type = "application/json"
+
+ if call_count == 1:
+ body = {
+ "value": [{"id": "1", "name": "vault1", "type":
"Microsoft.KeyVault/vaults", "location": "eastus"}],
+ "nextLink":
"https://management.azure.com/subscriptions/fake-sub-id/resources"
+
"?$filter=resourceType+eq+%27Microsoft.KeyVault%2Fvaults%27&$skiptoken=page2",
+ }
+ else:
+ body = {
+ "value": [{"id": "2", "name": "vault2", "type":
"Microsoft.KeyVault/vaults", "location": "eastus"}],
+ }
+
+ response.json.return_value = body
+ response.text.return_value = json.dumps(body)
+ content = json.dumps(body).encode("utf-8")
+ response.read = AsyncMock(return_value=content)
+ response.content = content
+ response.is_closed = False
+ response.is_stream_consumed = False
+ return response
+
+ mock_credential = Mock()
+ mock_credential.get_token =
AsyncMock(return_value=Mock(token="fake-token", expires_on=9999999999))
+
+ client = AsyncKeyVaultManagementClient(
+ credential=mock_credential,
+ subscription_id="fake-sub-id",
+ base_url="https://management.azure.com",
+ transport=MockAsyncTransport(),
+ policies=[],
+ )
+
+ result = []
+ async for item in client.vaults.list():
+ result.append(item)
+ await client.close()
+
+ assert len(result) == 2
+ assert call_count == 2
+
+ for url in captured_urls:
+ assert (
+ url.count("api-version=2015-11-01") == 1
+ ), f"api-version=2015-11-01 must appear exactly once in URL: {url}"
+ assert url.count("api-version") == 1, f"api-version query parameter is
duplicated in URL: {url}"