Skip to content

[KeyVault] Add support for service version 2026-03-01-preview#59537

Merged
rohitsinghal4u merged 13 commits into
mainfrom
users/rohitsinghal4u/keyvault-2026-03-01-preview
Jun 3, 2026
Merged

[KeyVault] Add support for service version 2026-03-01-preview#59537
rohitsinghal4u merged 13 commits into
mainfrom
users/rohitsinghal4u/keyvault-2026-03-01-preview

Conversation

@rohitsinghal4u

@rohitsinghal4u rohitsinghal4u commented May 29, 2026

Copy link
Copy Markdown
Contributor

Adds the 2026-03-01-preview Key Vault service version to Azure.Security.KeyVault.Certificates and exposes the experimental PlatformManaged wrapper on CertificatePolicy.

Spec PR: Azure/azure-rest-api-specs@ea20c46

Scope

This PR is scoped to sdk/keyvault/Azure.Security.KeyVault.Certificates only. The Keys / Secrets / Administration packages no longer take any change in this PR (no enum entry, no default flip, no CHANGELOG churn), per review feedback.

Changes

  • Added CertificateClientOptions.ServiceVersion.V2026_03_01_Preview and bumped LatestVersion accordingly.
  • New PlatformManaged model and CertificatePolicy.PlatformManaged property with JSON serialization / deserialization.
    • PlatformManaged is for Azure Key Vault internal usage only — any calls using this property will fail and is not recommended to be used at this point. This is called out in the type <remarks>, on the property, and in the CHANGELOG.
    • ReadProperties throws InvalidOperationException when the required certificateUsage is missing from the wire payload (mirrors the public constructor invariant).
    • WriteProperties throws InvalidOperationException when CertificateUsage is null instead of silently dropping the property.
  • Package version: 4.10.0-beta.1. CHANGELOG entry under 4.10.0-beta.1 documents the experimental PlatformManaged property and the API service version upgrade.
  • Unit tests in CertificatePolicyTests cover round-trip serialization with metadata, constructor null/empty validation, empty/null metadata, platformManaged: null JSON, omitting the key when not set, lazy-init of Metadata, mutability of CertificateUsage, and both deserialize-throws shapes.
  • Live test VerifyCreateCertificateWithPlatformManaged (recorded) builds its own dedicated V2026_03_01_Preview client rather than parametrizing the existing fixture, so existing recorded tests continue to play back unchanged.

Recordings

Recordings refreshed; assets tag is net/keyvault/Azure.Security.KeyVault.Certificates_ba7a54d206.

Notes

  • The temporary record-mode AzureCliCredential shim used to capture the new recording has been reverted; production tests resolve their credential through TestEnvironment.Credential.
  • [Experimental(...)] attribute on the wrapper will be added in a focused follow-up PR that also lands the diagnostic id + repo-wide suppression scope, rather than mixing it into this preview-version PR.

Adds the 2026-03-01-preview API version to Administration, Certificates,
Keys, and Secrets packages, and exposes the new experimental
PlatformManaged property on CertificatePolicy (Azure Key Vault internal
usage only; any calls using this property will fail and it is not
recommended to be used at this point).

- Added V2026_03_01_Preview to ServiceVersion enums and bumped
  LatestVersion across Administration, Certificates, Keys, and Secrets
  client options (matches prior preview convention, e.g. PR #48675).
- Added PlatformManaged model and CertificatePolicy.PlatformManaged
  property with JSON read/write support.
- Extended test fixtures to run existing recorded tests under the new
  service version.
- Added unit tests covering: roundtrip serialization, constructor
  argument validation, empty/null metadata handling, null
  platformManaged in JSON, lazy-init contract for Metadata, and
  CertificatePolicy without PlatformManaged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 29, 2026 07:24
@rohitsinghal4u rohitsinghal4u requested a review from a team as a code owner May 29, 2026 07:24
…keyvault-2026-03-01-preview

# Conflicts:
#	sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for the 2026-03-01-preview Key Vault API version across the KeyVault data-plane libraries (Administration, Certificates, Keys, Secrets) and introduces a new CertificatePolicy.PlatformManaged model surface with JSON (de)serialization and unit tests.

Changes:

  • Added V2026_03_01_Preview to ServiceVersion enums and updated default (LatestVersion) to the new preview version.
  • Introduced PlatformManaged model + CertificatePolicy.PlatformManaged property, including serialization/deserialization and corresponding API baselines.
  • Expanded test fixtures to run existing recorded tests under the new service version and added new unit coverage for PlatformManaged behaviors.

Reviewed changes

Copilot reviewed 27 out of 28 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
sdk/keyvault/Azure.Security.KeyVault.Secrets/tests/SecretsTestBase.cs Adds new service version to the Secrets test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs Adds V2026_03_01_Preview and bumps LatestVersion; maps version string.
sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.netstandard2.0.cs Updates public API baseline for new default and enum value.
sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.net8.0.cs Updates public API baseline for new default and enum value.
sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.net10.0.cs Updates public API baseline for new default and enum value.
sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmLiveTests.cs Adds new service version to the Managed HSM live test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmCryptographyClientLiveTests.cs Adds new service version to the Managed HSM crypto live test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs Adds new service version to the Keys test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs Adds V2026_03_01_Preview and bumps LatestVersion; maps version string.
sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs Adds V2026_03_01_Preview and bumps LatestVersion; maps version string.
sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs Updates public API baseline for new defaults and enum values.
sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.net8.0.cs Updates public API baseline for new defaults and enum values.
sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.net10.0.cs Updates public API baseline for new defaults and enum values.
sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs Adds new service version to the Certificates test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatePolicyTests.cs Adds unit tests for PlatformManaged (de)serialization and behavior.
sdk/keyvault/Azure.Security.KeyVault.Certificates/src/PlatformManaged.cs Introduces the PlatformManaged model and JSON (de)serialization helpers.
sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificatePolicy.cs Adds CertificatePolicy.PlatformManaged and wires it into JSON (de)serialization.
sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClientOptions.cs Adds V2026_03_01_Preview and bumps LatestVersion; maps version string.
sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md Documents the new PlatformManaged surface and default service version bump.
sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.netstandard2.0.cs Updates public API baseline for new defaults and added PlatformManaged.
sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.net8.0.cs Updates public API baseline for new defaults and added PlatformManaged.
sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.net10.0.cs Updates public API baseline for new defaults and added PlatformManaged.
sdk/keyvault/Azure.Security.KeyVault.Administration/tests/AdministrationTestBase.cs Adds new service version to the Administration test fixture matrix.
sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAdministrationClientOptions.cs Adds V2026_03_01_Preview, version string mapping, and config parsing support.
sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/KeyVaultAdministrationClientOptions.cs Bumps LatestVersion constant used by the public options ctor default.
sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.netstandard2.0.cs Updates public API baseline for new default and enum value.
sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.net8.0.cs Updates public API baseline for new default and enum value.
sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.net10.0.cs Updates public API baseline for new default and enum value.

Comment thread sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs
Comment thread sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md
@nnoboa nnoboa self-requested a review May 29, 2026 19:42
@nnoboa

nnoboa commented May 29, 2026

Copy link
Copy Markdown
Member

🔍 CI Failure Analysis for PR #59537

Summary

All 12 net - pullrequest Azure DevOps jobs are failing with the same root cause: test recording mismatch due to missing re-recorded test assets.

Check Status
GitHub Event Processor
Running Copilot Code Review
check-spelling
license/cla
net - pullrequest (all 12 build/test jobs)

Root Cause: Stale Test Recordings (TestRecordingMismatchException)

The [ClientTestFixture] attribute in all 4 KV test base classes was updated to include V2026_03_01_Preview as the first (default) service version. This means all recorded playback tests now send requests with api-version=2026-03-01-preview, but the existing recordings in azure-sdk-assets still contain api-version=2025-07-01.

The error pattern is identical across every failing test:

TestRecordingMismatchException: Unable to find a record for the request
  GET https://...?api-version=2026-03-01-preview
Uri doesn't match:
    request <...?api-version=2026-03-01-preview>
    record  <...?api-version=2025-07-01>

No assets.json files were modified in this PR, confirming that recordings were never re-recorded and pushed for the new API version.

Affected Packages (all 4)

Package Failed Passed Skipped Total
Azure.Security.KeyVault.Administration ~42 ~67 ~439 ~548
Azure.Security.KeyVault.Certificates ~42 ~varies ~varies ~1010
Azure.Security.KeyVault.Keys ~150+ ~varies ~varies ~5214
Azure.Security.KeyVault.Secrets ~42 ~67 ~354 ~463

(Counts from net9.0 job; all 12 jobs across Windows/Ubuntu/macOS × net8.0/net9.0/net10.0/net462 show the same failures)

282 unique test names fail, spanning: key CRUD, crypto sign/verify/encrypt/wrap, certificate create/download/import, secret CRUD, RBAC role assignments/definitions, backup/restore, and settings operations. The build itself succeeds — all failures are at test time.

How to Fix

The test recordings need to be re-recorded against the 2026-03-01-preview service version and pushed to the assets repo. For each affected package:

# 1. Set up for live recording
$env:AZURE_RECORD_MODE = "record"
# Ensure live test credentials are configured (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, plus KV-specific vars like AZURE_KEYVAULT_URL, AZURE_MANAGEDHSM_URL)

# 2. Run the live tests for each package
dotnet test sdk/keyvault/Azure.Security.KeyVault.Administration --filter "TestCategory!=Manually"
dotnet test sdk/keyvault/Azure.Security.KeyVault.Certificates --filter "TestCategory!=Manually"
dotnet test sdk/keyvault/Azure.Security.KeyVault.Keys --filter "TestCategory!=Manually"
dotnet test sdk/keyvault/Azure.Security.KeyVault.Secrets --filter "TestCategory!=Manually"

# 3. Push recordings to the assets repo (for each package)
test-proxy push -a sdk/keyvault/Azure.Security.KeyVault.Administration/assets.json
test-proxy push -a sdk/keyvault/Azure.Security.KeyVault.Certificates/assets.json
test-proxy push -a sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json
test-proxy push -a sdk/keyvault/Azure.Security.KeyVault.Secrets/assets.json

# 4. Commit the updated assets.json files (they'll have new Tag values)
git add sdk/keyvault/*/assets.json
git commit -m "Update test recordings for 2026-03-01-preview"

⚠️ Watch out for the silent push trap: If you've locally committed changes in .assets/, test-proxy push may report nothing to push. In that case, git reset --soft <tag> inside the .assets/<hash>/ directory before retrying. See live-test-recovery guidance for details.

Note

The unit tests (e.g., CertificatePolicyTests for PlatformManaged) all pass — only the recorded live tests fail because the recording playback URIs don't match the new API version string.

@msftemployee msftemployee left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

External courtesy review (not on the Key Vault team). 8 findings inline — two High blockers (no [Experimental] attribute despite Secrets' SCME0002 precedent; missing CHANGELOG entries for the default-version bump in Admin/Keys/Secrets), two Medium (deserialization invariants on PlatformManaged.CertificateUsage; default to preview ServiceVersion in the test fixture matrix with no refreshed recordings). Spot-checked against the TypeSpec at the API-version commit.

Prepared with assistance from an AI code-review tool; findings hand-verified against the head commit.

Comment thread sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs Outdated
Comment thread sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs Outdated
Comment thread sdk/keyvault/Azure.Security.KeyVault.Certificates/src/PlatformManaged.cs Outdated
Comment thread sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs Outdated
singhalrohit4u and others added 11 commits June 2, 2026 01:13
…d mode

The VerifyCreateCertificateWithPlatformManaged test verifies the SDK can send
a PlatformManaged certificate create request and that the returned policy
round-trips correctly. We intentionally do not WaitForCompletionAsync because
OneCert issuance is async service behavior outside of SDK scope.

CertificatesTestBase: use AzureCliCredential in Record mode so re-recording
works against vaults that the CI test principal cannot access.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… CHANGELOG

- Limit V2026_03_01_Preview to Certificates package; revert Keys/Secrets/
  Administration default service version to V2025_07_01 and remove the
  unused V2026 enum members and parametrized fixtures from those packages.
- PlatformManaged: throw InvalidOperationException when required
  'certificateUsage' field is missing on deserialization, and when
  CertificateUsage is null on serialization (instead of silently
  dropping the required service property).
- PlatformManaged: replace BinaryData.ToStream() with ToMemory() in
  WriteProperties metadata loop to avoid leaking a MemoryStream per
  metadata entry.
- CertificatePolicy: qualify static PlatformManaged.FromJsonObject call
  with namespace to remove ambiguity between the property and the type.
- CHANGELOG: align entry wording with the experimental Key Vault
  internal-usage feature statement.
- Add three new unit tests covering the deserialize/serialize null
  guards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The previous change added V2026_03_01_Preview to ClientTestFixture in
CertificatesTestBase, which caused every existing test (DownloadECDsa*,
StartCreate*, etc.) to also execute at V2026. Their recordings were
captured at api-version=2025-07-01, so playback failed with URI
mismatches (~50+ failures per platform).

Fix: remove V2026 from the fixture so existing tests still run only at
their original versions. Refactor VerifyCreateCertificateWithPlatformManaged
to build its own V2026 CertificateClient instead of relying on the
fixture-provided Client, so the V2026 recording is exercised exactly once.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace onecertdomain.contoso.com with sanitized.example.invalid (RFC 2606/6761 reserved) in test source and recordings to avoid committing externally-resolvable hostnames to public azure-sdk-assets history.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updated the changelog to reflect the release date and added details about the experimental PlatformManaged property.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Added an experimental PlatformManaged property on CertificatePolicy for internal usage and upgraded to API service version 2026-03-01-preview.
…l, add experimental remarks

- Bump version to 4.10.0-beta.2 and replace CHANGELOG entry with agreed experimental wording (date 2026-06-03)
- Revert AzureCliCredential record-mode patch in CertificatesTestBase.cs and CertificateClientLiveTests.cs so production tests use TestEnvironment.Credential (recording patch was supposed to be temporary)
- Remove unused ServiceVersion accessor on CertificatesTestBase
- Add explicit <remarks> on PlatformManaged type and CertificatePolicy.PlatformManaged property marking them as experimental / Key Vault internal usage only

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keeps the experimental remarks, credential-patch revert, and dead-code
cleanup from the previous audit commit, but restores CHANGELOG.md and
csproj <Version> to their state before that commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-project-automation github-project-automation Bot moved this from Untriaged to In Progress in Azure SDK for Key Vault Jun 3, 2026
@msftemployee

Copy link
Copy Markdown

Code review — PlatformManaged (2026-03-01-preview)

Reviewed alongside the sibling PRs in Java, Go, and JS. Scoping down to Certificates-only is good, the implementation is clean, and test coverage is excellent. One item to confirm before merge.

🔴 Please verify before merge

Preview API version becomes the client default. LatestVersion = ServiceVersion.V2026_03_01_Preview and the CertificateClientOptions ctor default both flip to the preview version, so new CertificateClient(uri, cred) (no explicit version) now talks to a preview API. Java and JS do the same; Go does not. Please get explicit sign-off that defaulting to a preview version matches KV SDK release policy.

🟡 Minor / consistency

  • [Experimental] deferred to a follow-up, so 1P-only callers get no compile-time warning today (only <remarks> + CHANGELOG). Acceptable given internal-only scope, but the attribute is the stronger guardrail — fine as long as the follow-up is tracked.
  • Cross-language consistency: .NET (and Java) correctly throw on missing certificateUsage during deserialize; Go and JS do not.

✅ Strengths

  • WriteProperties checks the _metadata backing field via IsNullOrEmpty() to avoid triggering lazy-init — correct, and an empty metadata bag is not re-emitted.
  • Round-tripping raw JSON via BinaryData is a clean choice for the intentionally-undefined metadata schema.
  • Thorough tests: round-trip, null/empty/null-value metadata, omitted property, lazy-init, mutability, and both deserialize-throws and serialize-throws shapes.
  • The dedicated V2026_03_01_Preview client in the live test (rather than parametrizing the fixture) keeps existing recordings playing back unchanged — nice.

@rohitsinghal4u rohitsinghal4u merged commit 44c630f into main Jun 3, 2026
22 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Azure SDK for Key Vault Jun 3, 2026
@rohitsinghal4u rohitsinghal4u deleted the users/rohitsinghal4u/keyvault-2026-03-01-preview branch June 3, 2026 18:43
mcgallan pushed a commit to mcgallan/azure-sdk-for-net that referenced this pull request Jun 11, 2026
…59537)

* [KeyVault] Add support for service version 2026-03-01-preview

Adds the 2026-03-01-preview API version to Administration, Certificates,
Keys, and Secrets packages, and exposes the new experimental
PlatformManaged property on CertificatePolicy (Azure Key Vault internal
usage only; any calls using this property will fail and it is not
recommended to be used at this point).

- Added V2026_03_01_Preview to ServiceVersion enums and bumped
  LatestVersion across Administration, Certificates, Keys, and Secrets
  client options (matches prior preview convention, e.g. PR Azure#48675).
- Added PlatformManaged model and CertificatePolicy.PlatformManaged
  property with JSON read/write support.
- Extended test fixtures to run existing recorded tests under the new
  service version.
- Added unit tests covering: roundtrip serialization, constructor
  argument validation, empty/null metadata handling, null
  platformManaged in JSON, lazy-init contract for Metadata, and
  CertificatePolicy without PlatformManaged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Record PlatformManaged live test and use AzureCliCredential for record mode

The VerifyCreateCertificateWithPlatformManaged test verifies the SDK can send
a PlatformManaged certificate create request and that the returned policy
round-trips correctly. We intentionally do not WaitForCompletionAsync because
OneCert issuance is async service behavior outside of SDK scope.

CertificatesTestBase: use AzureCliCredential in Record mode so re-recording
works against vaults that the CI test principal cannot access.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review: scope to Certificates, harden PlatformManaged, update CHANGELOG

- Limit V2026_03_01_Preview to Certificates package; revert Keys/Secrets/
  Administration default service version to V2025_07_01 and remove the
  unused V2026 enum members and parametrized fixtures from those packages.
- PlatformManaged: throw InvalidOperationException when required
  'certificateUsage' field is missing on deserialization, and when
  CertificateUsage is null on serialization (instead of silently
  dropping the required service property).
- PlatformManaged: replace BinaryData.ToStream() with ToMemory() in
  WriteProperties metadata loop to avoid leaking a MemoryStream per
  metadata entry.
- CertificatePolicy: qualify static PlatformManaged.FromJsonObject call
  with namespace to remove ambiguity between the property and the type.
- CHANGELOG: align entry wording with the experimental Key Vault
  internal-usage feature statement.
- Add three new unit tests covering the deserialize/serialize null
  guards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI: scope V2026 fixture to PlatformManaged test only

The previous change added V2026_03_01_Preview to ClientTestFixture in
CertificatesTestBase, which caused every existing test (DownloadECDsa*,
StartCreate*, etc.) to also execute at V2026. Their recordings were
captured at api-version=2025-07-01, so playback failed with URI
mismatches (~50+ failures per platform).

Fix: remove V2026 from the fixture so existing tests still run only at
their original versions. Refactor VerifyCreateCertificateWithPlatformManaged
to build its own V2026 CertificateClient instead of relying on the
fixture-provided Client, so the V2026 recording is exercised exactly once.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Sanitize placeholder domain in PlatformManaged test fixtures

Replace onecertdomain.contoso.com with sanitized.example.invalid (RFC 2606/6761 reserved) in test source and recordings to avoid committing externally-resolvable hostnames to public azure-sdk-assets history.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update CHANGELOG for version 4.10.0-beta.1

Updated the changelog to reflect the release date and added details about the experimental PlatformManaged property.

* Fix Certificates changelog release entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Re-record Certificates tests against 2026-03-01-preview default

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update CHANGELOG for 4.10.0-beta.1 features

Added an experimental PlatformManaged property on CertificatePolicy for internal usage and upgraded to API service version 2026-03-01-preview.

* Update CHANGELOG.md

* Address review feedback: bump to beta.2, revert record-mode credential, add experimental remarks

- Bump version to 4.10.0-beta.2 and replace CHANGELOG entry with agreed experimental wording (date 2026-06-03)
- Revert AzureCliCredential record-mode patch in CertificatesTestBase.cs and CertificateClientLiveTests.cs so production tests use TestEnvironment.Credential (recording patch was supposed to be temporary)
- Remove unused ServiceVersion accessor on CertificatesTestBase
- Add explicit <remarks> on PlatformManaged type and CertificatePolicy.PlatformManaged property marking them as experimental / Key Vault internal usage only

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Restore CHANGELOG and version (do not change per instructions)

Keeps the experimental remarks, credential-patch revert, and dead-code
cleanup from the previous audit commit, but restores CHANGELOG.md and
csproj <Version> to their state before that commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Rohit Singhal <singhalrohit@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants