diff --git a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md index 7292bcb58c68..c3890f02a5ed 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/azure-security-keyvault-keys/CHANGELOG.md @@ -1,15 +1,18 @@ # 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 +* `V2026_03_01_PREVIEW` was added +* `V2025_07_01` was added -### Other Changes +#### `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"; 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