Skip to content

Commit e3f3ebc

Browse files
authored
Merge branch 'main' into sdkauto/azure-mgmt-domainregistration-6321248
2 parents 0d5a79d + 41ea3dd commit e3f3ebc

32 files changed

Lines changed: 673 additions & 347 deletions

File tree

.github/skills/azsdk-common-prepare-release-plan/SKILL.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
distribution: shared
77
description: "Create and manage release plan work items for Azure SDK releases across languages. **UTILITY SKILL**. USE FOR: \"create release plan\", \"update release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\". DO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback. INVOKES: azure-sdk-mcp:azsdk_create_release_plan, azure-sdk-mcp:azsdk_get_release_plan, azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan."
88
compatibility:
9-
requires: "azure-sdk-mcp server, API spec PR in Azure/azure-rest-api-specs"
9+
requires: "azure-sdk-mcp server, API spec PR, or TypeSpec project path"
1010
---
1111

1212
# Prepare Release Plan
@@ -26,8 +26,8 @@ compatibility:
2626

2727
## Steps
2828

29-
1. **Prerequisites** — Check for API spec PR; prompt if unavailable.
30-
2. **Check Existing** — Query by plan number or spec PR link.
29+
1. **Prerequisites** — Check for API spec PR link or a TypeSpec project path; prompt if unavailable.
30+
2. **Check Existing** — Query by release plan number or spec PR link (do not query by work item ID).
3131
3. **Gather Info** — Collect Service Tree IDs, timeline. See [details](references/release-plan-details.md).
3232
4. **Create** — Run `azure-sdk-mcp:azsdk_create_release_plan`.
3333
5. **Namespace** — For mgmt plane first releases, link approval issue.
@@ -36,9 +36,10 @@ compatibility:
3636
## Examples
3737

3838
- "Create a release plan for my spec PR"
39+
- "Create a release plan for my TypeSpec project"
3940
- "Link my SDK PR to release plan"
4041

4142
## Troubleshooting
4243

4344
- Requires `azure-sdk-mcp` server; no CLI fallback.
44-
- If creation fails, verify spec PR URL and Service Tree IDs.
45+
- If creation fails, verify Service Tree IDs and the provided spec PR URL or TypeSpec project path.

.github/skills/azsdk-common-sdk-release/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ compatibility:
2222

2323
1. **Collect Info** — Get `packageName` and `language` from the user. Optionally get `branch` (defaults to main).
2424
2. **Check Readiness** — Run `azure-sdk-mcp:azsdk_release_sdk` with `checkReady: true` to verify API review approval, changelog, package name approval, and release date.
25+
- If APIView approval is pending display the link or guidance to find the link if not provided.
2526
3. **Review Results** — If not ready, display failing checks and guide user to resolve.
2627
4. **Trigger Release** — Once ready, run `azure-sdk-mcp:azsdk_release_sdk` with `checkReady: false`. Show pipeline link and inform user they must approve the release stage.
2728

sdk/core/azure-core-tracing-opentelemetry/tests/test_eventhubs_live.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
# Copyright (c) Microsoft Corporation.
33
# Licensed under the MIT License.
44
# ------------------------------------
5-
from datetime import datetime
5+
from datetime import datetime, timedelta
66
import sys
77
import threading
8+
import time
89

910
import pytest
1011
from azure.core.tracing.common import with_current_context
@@ -85,7 +86,9 @@ def test_eventhubs_client_tracing(self, config, tracing_helper):
8586

8687
with tracing_helper.tracer.start_as_current_span(name="root"):
8788

88-
current_date = datetime.now()
89+
# Use a starting position slightly in the past to defend against any
90+
# clock skew between the test machine and the Event Hubs service.
91+
current_date = datetime.now() - timedelta(seconds=30)
8992

9093
with producer_client:
9194

@@ -120,8 +123,12 @@ def test_eventhubs_client_tracing(self, config, tracing_helper):
120123

121124
tracing_helper.exporter.clear()
122125

126+
# Signal used to stop the consumer once we have received the batch.
127+
received = threading.Event()
128+
123129
def on_event_batch(partition_context, event_batch):
124-
pass
130+
if event_batch:
131+
received.set()
125132

126133
# Receive batch of events.
127134
worker = threading.Thread(
@@ -131,9 +138,20 @@ def on_event_batch(partition_context, event_batch):
131138
)
132139
worker.daemon = True
133140
worker.start()
134-
worker.join(timeout=3)
135141

142+
try:
143+
# Wait up to 60s for the consumer to connect and dispatch the batch.
144+
assert received.wait(timeout=60), "Did not receive event batch within timeout"
145+
finally:
146+
consumer_client.close()
147+
worker.join(timeout=30)
148+
149+
# Poll briefly for spans to be exported after the receive completes.
150+
deadline = time.monotonic() + 10
136151
receive_spans = tracing_helper.exporter.get_finished_spans()
152+
while len(receive_spans) < 2 and time.monotonic() < deadline:
153+
time.sleep(0.1)
154+
receive_spans = tracing_helper.exporter.get_finished_spans()
137155

138156
# We expect 2 spans to have finished: 1 receive span and 1 process span.
139157
assert len(receive_spans) == 2

sdk/keyvault/azure-keyvault-securitydomain/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@
44

55
### Features Added
66

7+
- Added support for service API version `2025-07-01` [#46782](https://github.com/Azure/azure-sdk-for-python/pull/46782)
8+
79
### Breaking Changes
810

11+
- Renamed internal class "Error" to "KeyVaultErrorError" to align with other KeyVault SDKs.
12+
913
### Bugs Fixed
1014

1115
### Other Changes
1216

17+
- Key Vault API version `2025-07-01` is now the default
18+
1319
## 1.0.0b1 (2025-05-07)
1420

1521
### Features Added
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"apiVersion": "2025-07-01",
3+
"apiVersions": {
4+
"KeyVault": "2025-07-01"
5+
}
6+
}

sdk/keyvault/azure-keyvault-securitydomain/apiview-properties.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"CrossLanguagePackageId": "KeyVault",
33
"CrossLanguageDefinitionId": {
44
"azure.keyvault.securitydomain.models.CertificateInfo": "KeyVault.CertificateInfoObject",
5-
"azure.keyvault.securitydomain.models.Error": "Error",
65
"azure.keyvault.securitydomain.models.KeyVaultError": "KeyVaultError",
6+
"azure.keyvault.securitydomain.models.KeyVaultErrorError": "KeyVaultError.error.anonymous",
77
"azure.keyvault.securitydomain.models.SecurityDomain": "KeyVault.SecurityDomainObject",
88
"azure.keyvault.securitydomain.models.SecurityDomainJsonWebKey": "KeyVault.SecurityDomainJsonWebKey",
99
"azure.keyvault.securitydomain.models.SecurityDomainOperationStatus": "KeyVault.SecurityDomainOperationStatus",

sdk/keyvault/azure-keyvault-securitydomain/azure/keyvault/securitydomain/_client.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,36 @@
77
# --------------------------------------------------------------------------
88

99
from copy import deepcopy
10+
import sys
1011
from typing import Any, TYPE_CHECKING
11-
from typing_extensions import Self
1212

1313
from azure.core import PipelineClient
1414
from azure.core.pipeline import policies
1515
from azure.core.rest import HttpRequest, HttpResponse
1616

1717
from ._configuration import SecurityDomainClientConfiguration
18-
from ._operations import SecurityDomainClientOperationsMixin
18+
from ._operations import _SecurityDomainClientOperationsMixin
1919
from ._utils.serialization import Deserializer, Serializer
2020

21+
if sys.version_info >= (3, 11):
22+
from typing import Self
23+
else:
24+
from typing_extensions import Self # type: ignore
25+
2126
if TYPE_CHECKING:
2227
from azure.core.credentials import TokenCredential
2328

2429

25-
class SecurityDomainClient(SecurityDomainClientOperationsMixin):
30+
class SecurityDomainClient(_SecurityDomainClientOperationsMixin):
2631
"""SecurityDomainClient.
2732
2833
:param vault_base_url: Required.
2934
:type vault_base_url: str
3035
:param credential: Credential used to authenticate requests to the service. Required.
3136
:type credential: ~azure.core.credentials.TokenCredential
32-
:keyword api_version: The API version to use for this operation. Default value is "7.5". Note
33-
that overriding this default value may result in unsupported behavior.
37+
:keyword api_version: The API version to use for this operation. Known values are "2025-07-01"
38+
and None. Default value is None. If not set, the operation's default API version will be used.
39+
Note that overriding this default value may result in unsupported behavior.
3440
:paramtype api_version: str
3541
"""
3642

sdk/keyvault/azure-keyvault-securitydomain/azure/keyvault/securitydomain/_configuration.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ class SecurityDomainClientConfiguration: # pylint: disable=too-many-instance-at
2626
:type vault_base_url: str
2727
:param credential: Credential used to authenticate requests to the service. Required.
2828
:type credential: ~azure.core.credentials.TokenCredential
29-
:keyword api_version: The API version to use for this operation. Default value is "7.5". Note
30-
that overriding this default value may result in unsupported behavior.
29+
:keyword api_version: The API version to use for this operation. Known values are "2025-07-01"
30+
and None. Default value is None. If not set, the operation's default API version will be used.
31+
Note that overriding this default value may result in unsupported behavior.
3132
:paramtype api_version: str
3233
"""
3334

3435
def __init__(self, vault_base_url: str, credential: "TokenCredential", **kwargs: Any) -> None:
35-
api_version: str = kwargs.pop("api_version", "7.5")
36+
api_version: str = kwargs.pop("api_version", "2025-07-01")
3637

3738
if vault_base_url is None:
3839
raise ValueError("Parameter 'vault_base_url' must not be None.")

sdk/keyvault/azure-keyvault-securitydomain/azure/keyvault/securitydomain/_internal/async_polling.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from ..models import SecurityDomain, SecurityDomainOperationStatus
1616
from .._utils.model_base import _deserialize
1717

18-
1918
PollingReturnType_co = TypeVar("PollingReturnType_co", covariant=True)
2019

2120

sdk/keyvault/azure-keyvault-securitydomain/azure/keyvault/securitydomain/_internal/http_challenge_cache.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from .http_challenge import HttpChallenge
1010

11-
1211
_cache: "Dict[str, HttpChallenge]" = {}
1312
_lock = threading.Lock()
1413

@@ -63,6 +62,7 @@ def remove_challenge_for_url(url: str) -> None:
6362
with _lock:
6463
del _cache[key.lower()]
6564

65+
6666
def set_challenge_for_url(url: str, challenge: "HttpChallenge") -> None:
6767
"""Caches the challenge for the specified URL.
6868

0 commit comments

Comments
 (0)