diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/CHANGELOG.md b/sdk/keyvault/Azure.Security.KeyVault.Administration/CHANGELOG.md index 7439830f0cfee..1d12b73059edd 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/CHANGELOG.md +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/CHANGELOG.md @@ -1,15 +1,24 @@ # Release History -## 4.4.0-beta.3 (Unreleased) +## 4.4.0 (2024-02-13) + +Changes from both the last release and the last beta include: ### Features Added -### Breaking Changes +- The `sasToken` parameter is now optional in `KeyVaultBackupClient.StartBackup` and `StartBackupAsync`. Managed Identity will be used instead if `sasToken` is null. +- The `sasToken` parameter is now optional in `KeyVaultBackupClient.StartRestore` and `StartRestoreAsync`. Managed Identity will be used instead if `sasToken` is null. +- The `sasToken` parameter is now optional in `KeyVaultBackupClient.StartSelectiveKeyRestore` and `StartSelectiveKeyRestoreAsync`. Managed Identity will be used instead if `sasToken` is null. ### Bugs Fixed +- When a Key Vault is moved to another tenant, the client is reauthenticated. + ### Other Changes +- The default service version is now "7.5". +- Distributed tracing with `ActivitySource` is stable and no longer requires the [Experimental feature-flag](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/Diagnostics.md). + ## 4.4.0-beta.2 (2023-11-13) ### Other Changes diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.netstandard2.0.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.netstandard2.0.cs index bb5d7897b5695..32a5847b1b3e6 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.netstandard2.0.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/api/Azure.Security.KeyVault.Administration.netstandard2.0.cs @@ -43,7 +43,7 @@ public KeyVaultAccessControlClient(System.Uri vaultUri, Azure.Core.TokenCredenti } public partial class KeyVaultAdministrationClientOptions : Azure.Core.ClientOptions { - public KeyVaultAdministrationClientOptions(Azure.Security.KeyVault.Administration.KeyVaultAdministrationClientOptions.ServiceVersion version = Azure.Security.KeyVault.Administration.KeyVaultAdministrationClientOptions.ServiceVersion.V7_5_Preview_1) { } + public KeyVaultAdministrationClientOptions(Azure.Security.KeyVault.Administration.KeyVaultAdministrationClientOptions.ServiceVersion version = Azure.Security.KeyVault.Administration.KeyVaultAdministrationClientOptions.ServiceVersion.V7_5) { } public bool DisableChallengeResourceVerification { get { throw null; } set { } } public Azure.Security.KeyVault.Administration.KeyVaultAdministrationClientOptions.ServiceVersion Version { get { throw null; } } public enum ServiceVersion @@ -51,7 +51,7 @@ public enum ServiceVersion V7_2 = 1, V7_3 = 2, V7_4 = 3, - V7_5_Preview_1 = 4, + V7_5 = 4, } } public static partial class KeyVaultAdministrationModelFactory diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/assets.json b/sdk/keyvault/Azure.Security.KeyVault.Administration/assets.json index 0d547a618574d..ae5732d7b696b 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/assets.json +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/keyvault/Azure.Security.KeyVault.Administration", - "Tag": "net/keyvault/Azure.Security.KeyVault.Administration_ecca1d12cb" + "Tag": "net/keyvault/Azure.Security.KeyVault.Administration_72fbcf0412" } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Azure.Security.KeyVault.Administration.csproj b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Azure.Security.KeyVault.Administration.csproj index b6399b95d0d13..925ecb8c7d65f 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Azure.Security.KeyVault.Administration.csproj +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Azure.Security.KeyVault.Administration.csproj @@ -3,7 +3,7 @@ This is the Microsoft Azure Key Vault Administration client library Microsoft Azure.Security.KeyVault.Administration client library - 4.4.0-beta.3 + 4.4.0 4.3.0 Microsoft Azure Key Vault Administration;$(PackageCommonTags) diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/BackupRestoreRestClient.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/BackupRestoreRestClient.cs index 8d3bbdb41c081..adf4ae833779c 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/BackupRestoreRestClient.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/BackupRestoreRestClient.cs @@ -29,7 +29,7 @@ internal partial class BackupRestoreRestClient /// The HTTP pipeline for sending and receiving REST requests and responses. /// Api Version. /// , or is null. - public BackupRestoreRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5-preview.1") + public BackupRestoreRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5") { ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics)); _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleAssignmentsRestClient.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleAssignmentsRestClient.cs index f6926982149d8..dd6fffd74da73 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleAssignmentsRestClient.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleAssignmentsRestClient.cs @@ -29,7 +29,7 @@ internal partial class RoleAssignmentsRestClient /// The HTTP pipeline for sending and receiving REST requests and responses. /// Api Version. /// , or is null. - public RoleAssignmentsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5-preview.1") + public RoleAssignmentsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5") { ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics)); _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleDefinitionsRestClient.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleDefinitionsRestClient.cs index 52ec199082075..1c6d8c07a32c7 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleDefinitionsRestClient.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/RoleDefinitionsRestClient.cs @@ -29,7 +29,7 @@ internal partial class RoleDefinitionsRestClient /// The HTTP pipeline for sending and receiving REST requests and responses. /// Api Version. /// , or is null. - public RoleDefinitionsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5-preview.1") + public RoleDefinitionsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5") { ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics)); _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/SettingsRestClient.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/SettingsRestClient.cs index 5e8625412929e..c1ade2515ba46 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/SettingsRestClient.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/Generated/SettingsRestClient.cs @@ -29,7 +29,7 @@ internal partial class SettingsRestClient /// The HTTP pipeline for sending and receiving REST requests and responses. /// Api Version. /// , or is null. - public SettingsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5-preview.1") + public SettingsRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion = "7.5") { ClientDiagnostics = clientDiagnostics ?? throw new ArgumentNullException(nameof(clientDiagnostics)); _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAdministrationClientOptions.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAdministrationClientOptions.cs index 080686c22962f..baf00abf0c86e 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAdministrationClientOptions.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAdministrationClientOptions.cs @@ -18,7 +18,7 @@ public class KeyVaultAdministrationClientOptions : ClientOptions /// For more information, see /// Key Vault versions. /// - internal const ServiceVersion LatestVersion = ServiceVersion.V7_5_Preview_1; + internal const ServiceVersion LatestVersion = ServiceVersion.V7_5; /// /// The versions of Azure Key Vault supported by this client @@ -43,9 +43,9 @@ public enum ServiceVersion V7_4 = 3, /// - /// The Key Vault API version 7.5-preview.1. + /// The Key Vault API version 7.5. /// - V7_5_Preview_1 = 4, + V7_5 = 4, #pragma warning restore CA1707 // Identifiers should not contain underscores } @@ -82,7 +82,7 @@ internal string GetVersionString() ServiceVersion.V7_2 => "7.2", ServiceVersion.V7_3 => "7.3", ServiceVersion.V7_4 => "7.4", - ServiceVersion.V7_5_Preview_1 => "7.5-preview.1", + ServiceVersion.V7_5 => "7.5", _ => throw new ArgumentException(Version.ToString()), }; } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/autorest.md b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/autorest.md index 51e9d39a51eee..4135789b16a20 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/src/autorest.md +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/src/autorest.md @@ -9,9 +9,9 @@ Run `dotnet build /t:GenerateCode` in src directory to re-generate. ``` yaml title: Azure.Security.KeyVault.Administration input-file: -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/a2f6f742d088dcc712e67cb2745d8271eaa370ff/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.5-preview.1/rbac.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/a2f6f742d088dcc712e67cb2745d8271eaa370ff/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.5-preview.1/backuprestore.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/a2f6f742d088dcc712e67cb2745d8271eaa370ff/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.5-preview.1/settings.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7452e1cc7db72fbc6cd9539b390d8b8e5c2a1864/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.5/rbac.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7452e1cc7db72fbc6cd9539b390d8b8e5c2a1864/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.5/backuprestore.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7452e1cc7db72fbc6cd9539b390d8b8e5c2a1864/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.5/settings.json namespace: Azure.Security.KeyVault.Administration generation1-convenience-client: true include-csproj: disable diff --git a/sdk/keyvault/Azure.Security.KeyVault.Administration/tests/AdministrationTestBase.cs b/sdk/keyvault/Azure.Security.KeyVault.Administration/tests/AdministrationTestBase.cs index 3448f7c574e97..9cd66922f4728 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Administration/tests/AdministrationTestBase.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Administration/tests/AdministrationTestBase.cs @@ -16,7 +16,7 @@ namespace Azure.Security.KeyVault.Administration.Tests /// Base class for recorded Administration tests. /// [ClientTestFixture( - KeyVaultAdministrationClientOptions.ServiceVersion.V7_5_Preview_1, + KeyVaultAdministrationClientOptions.ServiceVersion.V7_5, KeyVaultAdministrationClientOptions.ServiceVersion.V7_4, KeyVaultAdministrationClientOptions.ServiceVersion.V7_3, KeyVaultAdministrationClientOptions.ServiceVersion.V7_2)] diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md b/sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md index 9d9ab2aa7ae98..01c3663cbbf22 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md @@ -1,15 +1,30 @@ # Release History -## 4.6.0-beta.3 (Unreleased) +## 4.6.0 (2024-02-13) + +Changes from both the last release and the last beta include: ### Features Added +- Added `CertificateProperties.X509ThumbprintString` to return the hexadecimal string representation of the SHA-1 hash of the certificate. + `CertificateProperties.X509Thumbprint` has been hidden but is still available. + ### Breaking Changes +- Renamed tags reported on `CertificateClient` activities to following OpenTelemetry attribute naming conventions: + - `certificate` to `az.keyvault.certificate.name` + - `version` to `az.keyvault.certificate.version` + - `issuer` to `az.keyvault.certificate.issuer.name` + ### Bugs Fixed +- When a Key Vault is moved to another tenant, the client is reauthenticated. + ### Other Changes +- The default service version is now "7.5". +- Distributed tracing with `ActivitySource` is stable and no longer requires the [Experimental feature-flag](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/Diagnostics.md). + ## 4.6.0-beta.2 (2023-11-13) ### Other Changes diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.netstandard2.0.cs b/sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.netstandard2.0.cs index a431234bd9b28..8ba696e10ee1a 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.netstandard2.0.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/api/Azure.Security.KeyVault.Certificates.netstandard2.0.cs @@ -73,7 +73,7 @@ public CertificateClient(System.Uri vaultUri, Azure.Core.TokenCredential credent } public partial class CertificateClientOptions : Azure.Core.ClientOptions { - public CertificateClientOptions(Azure.Security.KeyVault.Certificates.CertificateClientOptions.ServiceVersion version = Azure.Security.KeyVault.Certificates.CertificateClientOptions.ServiceVersion.V7_5_Preview_1) { } + public CertificateClientOptions(Azure.Security.KeyVault.Certificates.CertificateClientOptions.ServiceVersion version = Azure.Security.KeyVault.Certificates.CertificateClientOptions.ServiceVersion.V7_5) { } public bool DisableChallengeResourceVerification { get { throw null; } set { } } public Azure.Security.KeyVault.Certificates.CertificateClientOptions.ServiceVersion Version { get { throw null; } } public enum ServiceVersion @@ -83,7 +83,7 @@ public enum ServiceVersion V7_2 = 2, V7_3 = 3, V7_4 = 4, - V7_5_Preview_1 = 5, + V7_5 = 5, } } public partial class CertificateContact diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/assets.json b/sdk/keyvault/Azure.Security.KeyVault.Certificates/assets.json index 134ba2ae7ed98..3d555e91ec263 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/assets.json +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/keyvault/Azure.Security.KeyVault.Certificates", - "Tag": "net/keyvault/Azure.Security.KeyVault.Certificates_69b32b90d9" + "Tag": "net/keyvault/Azure.Security.KeyVault.Certificates_320abaee9a" } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/Azure.Security.KeyVault.Certificates.csproj b/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/Azure.Security.KeyVault.Certificates.csproj index dbbff15647096..5fc38fc9e93c1 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/Azure.Security.KeyVault.Certificates.csproj +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/Azure.Security.KeyVault.Certificates.csproj @@ -3,7 +3,7 @@ This is the Microsoft Azure Key Vault Certificates client library Microsoft Azure.Security.KeyVault.Certificates client library - 4.6.0-beta.3 + 4.6.0 4.5.0 Microsoft Azure Key Vault Certificates;$(PackageCommonTags) diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClientOptions.cs b/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClientOptions.cs index fd03d270d24e4..b63f82c4cf569 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClientOptions.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClientOptions.cs @@ -16,7 +16,7 @@ public class CertificateClientOptions : ClientOptions /// For more information, see /// Key Vault versions. /// - internal const ServiceVersion LatestVersion = ServiceVersion.V7_5_Preview_1; + internal const ServiceVersion LatestVersion = ServiceVersion.V7_5; /// /// The versions of Azure Key Vault supported by this client @@ -51,9 +51,9 @@ public enum ServiceVersion V7_4 = 4, /// - /// The Key Vault API version 7.5-preview.1. + /// The Key Vault API version 7.5. /// - V7_5_Preview_1 = 5, + V7_5 = 5, #pragma warning restore CA1707 // Identifiers should not contain underscores } @@ -93,7 +93,7 @@ internal string GetVersionString() ServiceVersion.V7_2 => "7.2", ServiceVersion.V7_3 => "7.3", ServiceVersion.V7_4 => "7.4", - ServiceVersion.V7_5_Preview_1 => "7.5-preview.1", + ServiceVersion.V7_5 => "7.5", _ => throw new ArgumentException(Version.ToString()), }; } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs b/sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs index 84c286f087f17..b38b255f8363b 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Certificates/tests/CertificatesTestBase.cs @@ -13,7 +13,7 @@ namespace Azure.Security.KeyVault.Certificates.Tests { [ClientTestFixture( - CertificateClientOptions.ServiceVersion.V7_5_Preview_1, + CertificateClientOptions.ServiceVersion.V7_5, CertificateClientOptions.ServiceVersion.V7_4, CertificateClientOptions.ServiceVersion.V7_3, CertificateClientOptions.ServiceVersion.V7_2, diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md b/sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md index cf856818bd495..ab8103f2134bf 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md @@ -1,15 +1,31 @@ # Release History -## 4.6.0-beta.3 (Unreleased) +## 4.6.0 (2024-02-13) + +Changes from both the last release and the last beta include: ### Features Added +- Added `CryptographyClient.CreateRSA` and `CreateRSAAsync` to create an `RSA` implementation backed by Key Vault or Managed HSM. + Use this anywhere an `RSA` or `AsymmetricAlgorithm` is required. ([#3545](https://github.com/Azure/azure-sdk-for-net/issues/3545)) +- Added `KeyProperties.HsmPlatform` to get the underlying HSM platform. + ### Breaking Changes +- Renamed tags reported on `KeyClient`, `KeyResolver`, `CryptographyClient`, and `RemoteCryptographyClient` activities to follow OpenTelemetry attribute naming conventions: + - `key` to `az.keyvault.key.id` or `az.keyvault.key.name` depending on the value being reported + - `version` to `az.keyvault.key.version` + ### Bugs Fixed +- When a Key Vault is moved to another tenant, the client is reauthenticated. +- `KeyRotationPolicyAction` performs case-insensitive comparisons since Key Vault and Managed HSM return different cases for "rotate". + ### Other Changes +- The default service version is now "7.5". +- Distributed tracing with `ActivitySource` is stable and no longer requires the [Experimental feature-flag](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/Diagnostics.md). + ## 4.6.0-beta.2 (2023-11-13) ### Other Changes diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs index 59d5eca13429e..c33c46631e8aa 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs @@ -159,7 +159,7 @@ public KeyClient(System.Uri vaultUri, Azure.Core.TokenCredential credential, Azu } public partial class KeyClientOptions : Azure.Core.ClientOptions { - public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_5_Preview_1) { } + public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_5) { } public bool DisableChallengeResourceVerification { get { throw null; } set { } } public Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion Version { get { throw null; } } public enum ServiceVersion @@ -169,7 +169,7 @@ public enum ServiceVersion V7_2 = 2, V7_3 = 3, V7_4 = 4, - V7_5_Preview_1 = 5, + V7_5 = 5, } } [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] @@ -429,7 +429,7 @@ public CryptographyClient(System.Uri keyId, Azure.Core.TokenCredential credentia } public partial class CryptographyClientOptions : Azure.Core.ClientOptions { - public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_5_Preview_1) { } + public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_5) { } public bool DisableChallengeResourceVerification { get { throw null; } set { } } public Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion Version { get { throw null; } } public enum ServiceVersion @@ -439,7 +439,7 @@ public enum ServiceVersion V7_2 = 2, V7_3 = 3, V7_4 = 4, - V7_5_Preview_1 = 5, + V7_5 = 5, } } public partial class DecryptParameters diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json b/sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json index 2706c51f23a95..59c5d87f82ee4 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/keyvault/Azure.Security.KeyVault.Keys", - "Tag": "net/keyvault/Azure.Security.KeyVault.Keys_4d89ccc079" + "Tag": "net/keyvault/Azure.Security.KeyVault.Keys_a8557a0a67" } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Azure.Security.KeyVault.Keys.csproj b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Azure.Security.KeyVault.Keys.csproj index cc869a72b2926..917a92473da43 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Azure.Security.KeyVault.Keys.csproj +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Azure.Security.KeyVault.Keys.csproj @@ -3,7 +3,7 @@ This is the Microsoft Azure Key Vault Keys client library Microsoft Azure.Security.KeyVault.Keys client library - 4.6.0-beta.3 + 4.6.0 4.5.0 Microsoft Azure Key Vault Keys;$(PackageCommonTags) diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs index ba1bc71fb64da..ebc5f47514f5a 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs @@ -16,7 +16,7 @@ public class CryptographyClientOptions : ClientOptions /// For more information, see /// Key Vault versions. /// - internal const ServiceVersion LatestVersion = ServiceVersion.V7_5_Preview_1; + internal const ServiceVersion LatestVersion = ServiceVersion.V7_5; /// /// The versions of Azure Key Vault supported by this client @@ -51,9 +51,9 @@ public enum ServiceVersion V7_4 = 4, /// - /// The Key Vault API version 7.5-preview.1. + /// The Key Vault API version 7.5. /// - V7_5_Preview_1 = 5, + V7_5 = 5, #pragma warning restore CA1707 // Identifiers should not contain underscores } @@ -93,7 +93,7 @@ internal string GetVersionString() ServiceVersion.V7_2 => "7.2", ServiceVersion.V7_3 => "7.3", ServiceVersion.V7_4 => "7.4", - ServiceVersion.V7_5_Preview_1 => "7.5-preview.1", + ServiceVersion.V7_5 => "7.5", _ => throw new ArgumentException(Version.ToString()), }; } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs index 9d47118d50772..0a423f9734386 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClientOptions.cs @@ -16,7 +16,7 @@ public class KeyClientOptions : ClientOptions /// For more information, see /// Key Vault versions. /// - internal const ServiceVersion LatestVersion = ServiceVersion.V7_5_Preview_1; + internal const ServiceVersion LatestVersion = ServiceVersion.V7_5; /// /// The versions of Azure Key Vault supported by this client @@ -51,9 +51,9 @@ public enum ServiceVersion V7_4 = 4, /// - /// The Key Vault API version 7.5-preview.1. + /// The Key Vault API version 7.5. /// - V7_5_Preview_1 = 5, + V7_5 = 5, #pragma warning restore CA1707 // Identifiers should not contain underscores } @@ -93,7 +93,7 @@ internal string GetVersionString() ServiceVersion.V7_2 => "7.2", ServiceVersion.V7_3 => "7.3", ServiceVersion.V7_4 => "7.4", - ServiceVersion.V7_5_Preview_1 => "7.5-preview.1", + ServiceVersion.V7_5 => "7.5", _ => throw new ArgumentException(Version.ToString()), }; } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.SecureKeyRelease.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.SecureKeyRelease.cs index 5bd9c61505217..e7c7a1f2b415e 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.SecureKeyRelease.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.SecureKeyRelease.cs @@ -18,7 +18,7 @@ public partial class KeyClientLiveTests [IgnoreServiceError(400, "BadParameter")] // TODO: Remove once SKR is deployed to sovereign clouds. [PremiumOnly] [ServiceVersion(Min = KeyClientOptions.ServiceVersion.V7_3)] - [Ignore("https://github.com/Azure/azure-sdk-for-net/issues/38375")] + [KeyVaultOnly] // https://github.com/Azure/azure-sdk-for-net/issues/38375 still a problem for Managed HSM. public async Task ReleaseCreatedKey() { string keyName = Recording.GenerateId(); @@ -75,7 +75,7 @@ public async Task ReleaseUpdatedKey() [IgnoreServiceError(400, "BadParameter")] // TODO: Remove once SKR is deployed to sovereign clouds. [PremiumOnly] [ServiceVersion(Min = KeyClientOptions.ServiceVersion.V7_3)] - [Ignore("https://github.com/Azure/azure-sdk-for-net/issues/38375")] + [KeyVaultOnly] // https://github.com/Azure/azure-sdk-for-net/issues/38375 still a problem for Managed HSM. public async Task UpdateReleasePolicy([Values] bool immutable) { string keyName = Recording.GenerateId(); diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.cs index 51f9ee0e576ac..657f242cbd3aa 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeyClientLiveTests.cs @@ -80,7 +80,7 @@ public async Task CreateEcHsmKey() RegisterForCleanup(keyName); KeyVaultKey keyReturned = await Client.GetKeyAsync(keyName); - if (!IsManagedHSM && _serviceVersion >= KeyClientOptions.ServiceVersion.V7_5_Preview_1) + if (!IsManagedHSM && _serviceVersion >= KeyClientOptions.ServiceVersion.V7_5) { Assert.That(keyReturned.Properties.HsmPlatform, Is.Not.Null.And.Not.Empty); } @@ -146,7 +146,7 @@ public async Task CreateRsaHsmKey() RegisterForCleanup(keyName); KeyVaultKey keyReturned = await Client.GetKeyAsync(keyName); - if (!IsManagedHSM && _serviceVersion >= KeyClientOptions.ServiceVersion.V7_5_Preview_1) + if (!IsManagedHSM && _serviceVersion >= KeyClientOptions.ServiceVersion.V7_5) { Assert.That(keyReturned.Properties.HsmPlatform, Is.Not.Null.And.Not.Empty); } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs index 743d694a19b39..5de9d50e622d6 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/KeysTestBase.cs @@ -13,7 +13,7 @@ namespace Azure.Security.KeyVault.Keys.Tests { [ClientTestFixture( - KeyClientOptions.ServiceVersion.V7_5_Preview_1, + KeyClientOptions.ServiceVersion.V7_5, KeyClientOptions.ServiceVersion.V7_4, KeyClientOptions.ServiceVersion.V7_3, KeyClientOptions.ServiceVersion.V7_2, diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmCryptographyClientLiveTests.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmCryptographyClientLiveTests.cs index af33da2afe845..7e01369fd33fa 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmCryptographyClientLiveTests.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmCryptographyClientLiveTests.cs @@ -12,7 +12,7 @@ namespace Azure.Security.KeyVault.Keys.Tests { [ClientTestFixture( - KeyClientOptions.ServiceVersion.V7_5_Preview_1, + KeyClientOptions.ServiceVersion.V7_5, KeyClientOptions.ServiceVersion.V7_4, KeyClientOptions.ServiceVersion.V7_3, KeyClientOptions.ServiceVersion.V7_2)] diff --git a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmLiveTests.cs b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmLiveTests.cs index 3ecd929c3b343..74b9fb5adfe02 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmLiveTests.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/ManagedHsmLiveTests.cs @@ -12,7 +12,7 @@ namespace Azure.Security.KeyVault.Keys.Tests { [ClientTestFixture( - KeyClientOptions.ServiceVersion.V7_5_Preview_1, + KeyClientOptions.ServiceVersion.V7_5, KeyClientOptions.ServiceVersion.V7_4, KeyClientOptions.ServiceVersion.V7_3, KeyClientOptions.ServiceVersion.V7_2)] diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/CHANGELOG.md b/sdk/keyvault/Azure.Security.KeyVault.Secrets/CHANGELOG.md index 675973b6e8ace..e3df7481fd787 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/CHANGELOG.md +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/CHANGELOG.md @@ -1,15 +1,21 @@ # Release History -## 4.6.0-beta.3 (Unreleased) +## 4.6.0 (2024-02-13) -### Features Added +Changes from both the last release and the last beta include: ### Breaking Changes -### Bugs Fixed +- Renamed tags reported on `SecretClient` activities to follow OpenTelemetry attribute naming conventions: + - `secret` to `az.keyvault.secret.name` + - `version` to `az.keyvault.secret.version` ### Other Changes +- The default service version is now "7.5". +- Distributed tracing with `ActivitySource` is stable and no longer requires the [Experimental feature-flag](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/core/Azure.Core/samples/Diagnostics.md). +- When a Key Vault is moved to another tenant, the client is reauthenticated. + ## 4.6.0-beta.2 (2023-11-13) ### Other Changes diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.netstandard2.0.cs b/sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.netstandard2.0.cs index 451bcd193e9ff..c231ef8a47bd2 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.netstandard2.0.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/api/Azure.Security.KeyVault.Secrets.netstandard2.0.cs @@ -95,7 +95,7 @@ public SecretClient(System.Uri vaultUri, Azure.Core.TokenCredential credential, } public partial class SecretClientOptions : Azure.Core.ClientOptions { - public SecretClientOptions(Azure.Security.KeyVault.Secrets.SecretClientOptions.ServiceVersion version = Azure.Security.KeyVault.Secrets.SecretClientOptions.ServiceVersion.V7_5_Preview_1) { } + public SecretClientOptions(Azure.Security.KeyVault.Secrets.SecretClientOptions.ServiceVersion version = Azure.Security.KeyVault.Secrets.SecretClientOptions.ServiceVersion.V7_5) { } public bool DisableChallengeResourceVerification { get { throw null; } set { } } public Azure.Security.KeyVault.Secrets.SecretClientOptions.ServiceVersion Version { get { throw null; } } public enum ServiceVersion @@ -105,7 +105,7 @@ public enum ServiceVersion V7_2 = 2, V7_3 = 3, V7_4 = 4, - V7_5_Preview_1 = 5, + V7_5 = 5, } } public static partial class SecretModelFactory diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/assets.json b/sdk/keyvault/Azure.Security.KeyVault.Secrets/assets.json index a7f372ab46788..73d76b643745d 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/assets.json +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "net", "TagPrefix": "net/keyvault/Azure.Security.KeyVault.Secrets", - "Tag": "net/keyvault/Azure.Security.KeyVault.Secrets_a48a2f9275" + "Tag": "net/keyvault/Azure.Security.KeyVault.Secrets_18b0beab8a" } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/Azure.Security.KeyVault.Secrets.csproj b/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/Azure.Security.KeyVault.Secrets.csproj index 8171d27ebd84c..8cdd4603b2e1d 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/Azure.Security.KeyVault.Secrets.csproj +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/Azure.Security.KeyVault.Secrets.csproj @@ -3,7 +3,7 @@ This is the Microsoft Azure Key Vault Secrets client library Microsoft Azure.Security.KeyVault.Secrets client library - 4.6.0-beta.3 + 4.6.0 4.5.0 Microsoft Azure Key Vault Secrets;$(PackageCommonTags) diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs b/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs index 590a0eae95de2..86022586ccb4f 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClientOptions.cs @@ -16,7 +16,7 @@ public class SecretClientOptions : ClientOptions /// For more information, see /// Key Vault versions. /// - internal const ServiceVersion LatestVersion = ServiceVersion.V7_5_Preview_1; + internal const ServiceVersion LatestVersion = ServiceVersion.V7_5; /// /// The versions of Azure Key Vault supported by this client library. @@ -50,9 +50,9 @@ public enum ServiceVersion V7_4 = 4, /// - /// The Key Vault API version 7.5-preview.1. + /// The Key Vault API version 7.5. /// - V7_5_Preview_1 = 5, + V7_5 = 5, #pragma warning restore CA1707 // Identifiers should not contain underscores } @@ -91,7 +91,7 @@ internal string GetVersionString() ServiceVersion.V7_2 => "7.2", ServiceVersion.V7_3 => "7.3", ServiceVersion.V7_4 => "7.4", - ServiceVersion.V7_5_Preview_1 => "7.5-preview.1", + ServiceVersion.V7_5 => "7.5", _ => throw new ArgumentException(Version.ToString()), }; } diff --git a/sdk/keyvault/Azure.Security.KeyVault.Secrets/tests/SecretsTestBase.cs b/sdk/keyvault/Azure.Security.KeyVault.Secrets/tests/SecretsTestBase.cs index 333f6d5c8ec93..4b3f24fe846f4 100644 --- a/sdk/keyvault/Azure.Security.KeyVault.Secrets/tests/SecretsTestBase.cs +++ b/sdk/keyvault/Azure.Security.KeyVault.Secrets/tests/SecretsTestBase.cs @@ -14,7 +14,7 @@ namespace Azure.Security.KeyVault.Secrets.Tests { [ClientTestFixture( - SecretClientOptions.ServiceVersion.V7_5_Preview_1, + SecretClientOptions.ServiceVersion.V7_5, SecretClientOptions.ServiceVersion.V7_4, SecretClientOptions.ServiceVersion.V7_3, SecretClientOptions.ServiceVersion.V7_2, @@ -267,16 +267,22 @@ protected TokenCredential GetCredential(string tenantId) return new MockCredential(); } - return new ClientSecretCredential( - tenantId ?? TestEnvironment.TenantId, - TestEnvironment.ClientId, - TestEnvironment.ClientSecret, - new ClientSecretCredentialOptions() - { - AuthorityHost = new Uri(TestEnvironment.AuthorityHostUrl), - AdditionallyAllowedTenants = { TestEnvironment.TenantId }, - } - ); + return string.IsNullOrEmpty(TestEnvironment.ClientSecret) + ? new AzurePowerShellCredential( + new AzurePowerShellCredentialOptions() + { + AuthorityHost = new Uri(TestEnvironment.AuthorityHostUrl), + AdditionallyAllowedTenants = { TestEnvironment.TenantId }, + }) + : new ClientSecretCredential( + tenantId ?? TestEnvironment.TenantId, + TestEnvironment.ClientId, + TestEnvironment.ClientSecret, + new ClientSecretCredentialOptions() + { + AuthorityHost = new Uri(TestEnvironment.AuthorityHostUrl), + AdditionallyAllowedTenants = { TestEnvironment.TenantId }, + }); } } }