From 2d1d552f74c37a4c2e5c86ae60f41a15e21f33da Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Mon, 18 May 2026 22:32:09 +0000 Subject: [PATCH 1/2] Configurations: 'specification/keyvault/data-plane/Keys/tspconfig.yaml', API Version: 2026-03-01-preview, SDK Release Type: beta, and CommitSHA: 'ea20c467080ed3d3875c8b5aeff28ce52f6a55ca' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6316471 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .../azure-security-keyvault-keys/CHANGELOG.md | 11 ++++++----- .../azure-security-keyvault-keys/tsp-location.yaml | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md index 7292bcb58c68..16dbef5ad068 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md @@ -1,15 +1,16 @@ # Release History -## 4.11.0-beta.1 (Unreleased) +## 4.11.0-beta.1 (2026-05-18) ### Features Added -- Added support for service version `2025-07-01` -### Breaking Changes +#### `cryptography.CryptographyServiceVersion` was modified -### Bugs Fixed +* `V2025_07_01` was added -### Other Changes +#### `KeyServiceVersion` was modified + +* `V2025_07_01` was added ## 4.10.7 (2026-05-05) diff --git a/sdk/keyvault/azure-security-keyvault-keys/tsp-location.yaml b/sdk/keyvault/azure-security-keyvault-keys/tsp-location.yaml index dcbe3184c039..d8713edaab55 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/tsp-location.yaml +++ b/sdk/keyvault/azure-security-keyvault-keys/tsp-location.yaml @@ -1,4 +1,5 @@ directory: specification/keyvault/data-plane/Keys -commit: f6bd06be22baf3a18504ffef0f590230850953e5 +commit: ea20c467080ed3d3875c8b5aeff28ce52f6a55ca repo: Azure/azure-rest-api-specs -cleanup: true +additionalDirectories: +- specification/keyvault/data-plane/Keys/common From d4fcec40f8a179714cdbe8245afca34e7d8335a0 Mon Sep 17 00:00:00 2001 From: Rohit Singhal Date: Tue, 19 May 2026 21:51:47 +0100 Subject: [PATCH 2/2] Add Key Vault 2026 preview service version wrapper Expose the 2026-03-01-preview API version through the public Key Vault keys and cryptography service version enums, and cover explicit usage with unit and playback tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../azure-security-keyvault-keys/CHANGELOG.md | 2 ++ .../azure-security-keyvault-keys/assets.json | 2 +- .../src/main/java/KeysCustomizations.java | 3 ++- .../keyvault/keys/KeyServiceVersion.java | 6 +++++- .../CryptographyServiceVersion.java | 7 ++++++- .../keyvault/keys/KeyClientBuilderTest.java | 19 +++++++++++++++++++ .../security/keyvault/keys/KeyClientTest.java | 18 ++++++++++++++++++ .../CryptographyClientBuilderTest.java | 19 +++++++++++++++++++ 8 files changed, 72 insertions(+), 4 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md index 16dbef5ad068..c3890f02a5ed 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md @@ -6,10 +6,12 @@ #### `cryptography.CryptographyServiceVersion` was modified +* `V2026_03_01_PREVIEW` was added * `V2025_07_01` was added #### `KeyServiceVersion` was modified +* `V2026_03_01_PREVIEW` was added * `V2025_07_01` was added ## 4.10.7 (2026-05-05) diff --git a/sdk/keyvault/azure-security-keyvault-keys/assets.json b/sdk/keyvault/azure-security-keyvault-keys/assets.json index ea29a1ef9d50..d12694f629a0 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": "java", "TagPrefix": "java/keyvault/azure-security-keyvault-keys", - "Tag": "java/keyvault/azure-security-keyvault-keys_a67026297a" + "Tag": "java/keyvault/azure-security-keyvault-keys_b312a307da" } diff --git a/sdk/keyvault/azure-security-keyvault-keys/customizations/src/main/java/KeysCustomizations.java b/sdk/keyvault/azure-security-keyvault-keys/customizations/src/main/java/KeysCustomizations.java index 5232b36c6be5..434c2ba3ef01 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/customizations/src/main/java/KeysCustomizations.java +++ b/sdk/keyvault/azure-security-keyvault-keys/customizations/src/main/java/KeysCustomizations.java @@ -55,7 +55,8 @@ private static void customizeServiceVersion(LibraryCustomization customization) .addImplementedType("ServiceVersion") .setJavadocComment("The versions of Azure Key Vault Keys supported by this client library."); - for (String version : Arrays.asList("7.0", "7.1", "7.2", "7.3", "7.4", "7.5", "7.6", "2025-07-01")) { + for (String version : Arrays.asList("7.0", "7.1", "7.2", "7.3", "7.4", "7.5", "7.6", "2025-07-01", + "2026-03-01-preview")) { enumDeclaration.addEnumConstant("V" + version.replace('.', '_').replace('-', '_').toUpperCase()) .setJavadocComment("Service version {@code " + version + "}.") .addArgument(new StringLiteralExpr(version)); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyServiceVersion.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyServiceVersion.java index c0edfa751e0e..97bc7ad509df 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyServiceVersion.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyServiceVersion.java @@ -41,7 +41,11 @@ public enum KeyServiceVersion implements ServiceVersion { /** * Service version {@code 2025-07-01}. */ - V2025_07_01("2025-07-01"); + V2025_07_01("2025-07-01"), + /** + * Service version {@code 2026-03-01-preview}. + */ + V2026_03_01_PREVIEW("2026-03-01-preview"); private final String version; diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyServiceVersion.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyServiceVersion.java index 4fc66a84c555..174d5ae1700d 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyServiceVersion.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyServiceVersion.java @@ -47,7 +47,12 @@ public enum CryptographyServiceVersion implements ServiceVersion { /** * Service version {@code 2025-07-01}. */ - V2025_07_01("2025-07-01"); + V2025_07_01("2025-07-01"), + + /** + * Service version {@code 2026-03-01-preview}. + */ + V2026_03_01_PREVIEW("2026-03-01-preview"); private final String version; diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientBuilderTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientBuilderTest.java index b8a933b60faf..567028b93902 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientBuilderTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientBuilderTest.java @@ -59,6 +59,25 @@ public void buildSyncClientUsingDefaultApiVersionTest() { assertEquals(KeyClient.class.getSimpleName(), keyClient.getClass().getSimpleName()); } + @Test + public void serviceVersionIncludes20260301Preview() { + assertEquals("2026-03-01-preview", KeyServiceVersion.V2026_03_01_PREVIEW.getVersion()); + } + + @Test + public void clientUses20260301PreviewApiVersion() { + KeyClient keyClient = new KeyClientBuilder().vaultUrl(vaultUrl) + .serviceVersion(KeyServiceVersion.V2026_03_01_PREVIEW) + .credential(new TestUtils.TestCredential()) + .httpClient(request -> { + assertTrue(request.getUrl().getQuery().contains("api-version=2026-03-01-preview")); + return Mono.error(new HttpResponseException(new MockHttpResponse(request, 400))); + }) + .buildClient(); + + assertThrows(RuntimeException.class, () -> keyClient.getKey(keyName)); + } + @Test public void buildAsyncClientTest() { KeyAsyncClient keyAsyncClient = new KeyClientBuilder().vaultUrl(vaultUrl) diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java index a70d6f60d24e..682f61eddcd1 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java @@ -207,6 +207,24 @@ public void getKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { }); } + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getHttpClients") + public void getKeyWith20260301PreviewServiceVersion(HttpClient httpClient) { + createKeyClient(httpClient, KeyServiceVersion.V2026_03_01_PREVIEW); + + getKeyRunner((keyToSetAndGet) -> { + keyClient.createKey(keyToSetAndGet); + + KeyVaultKey retrievedKey = keyClient.getKey(keyToSetAndGet.getName()); + + assertKeyEquals(keyToSetAndGet, retrievedKey); + + if (!isHsmEnabled) { + assertEquals("0", retrievedKey.getProperties().getHsmPlatform()); + } + }); + } + /** * Tests that a specific version of the key can be retrieved. */ diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientBuilderTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientBuilderTest.java index 37b64bd1f4e3..abe02d16661f 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientBuilderTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientBuilderTest.java @@ -59,6 +59,25 @@ public void buildSyncClientUsingDefaultApiVersionTest() { assertEquals(CryptographyClient.class.getSimpleName(), cryptographyClient.getClass().getSimpleName()); } + @Test + public void serviceVersionIncludes20260301Preview() { + assertEquals("2026-03-01-preview", CryptographyServiceVersion.V2026_03_01_PREVIEW.getVersion()); + } + + @Test + public void clientUses20260301PreviewApiVersion() { + CryptographyClient cryptographyClient = new CryptographyClientBuilder().keyIdentifier(keyIdentifier) + .serviceVersion(CryptographyServiceVersion.V2026_03_01_PREVIEW) + .credential(new TestUtils.TestCredential()) + .httpClient(request -> { + assertTrue(request.getUrl().getQuery().contains("api-version=2026-03-01-preview")); + return Mono.error(new HttpResponseException(new MockHttpResponse(request, 400))); + }) + .buildClient(); + + assertThrows(RuntimeException.class, cryptographyClient::getKey); + } + @Test public void buildSyncClientWithoutKeyVersionTest() { String versionlessKeyIdentifier = "https://key-vault-url.vault.azure.net/keys/TestKey";