The Azure SDK team is pleased to announce our April 2025 client library releases.

45 packages released this month.

Stable Packages (18)

  • @azure/core-sse

  • App Configuration

  • Azure Blob Storage Checkpoint Store

  • Azure Monitor OpenTelemetry

  • Communication Rooms

  • Core - Client - LRO

  • Cosmos DB

  • Event Hubs

  • Resource Management - Compute

  • Resource Management - Container Service

  • Resource Management - Data Box

  • Resource Management - Event Grid

  • Resource Management - Key Vault

  • Resource Management - Policy

  • Storage - Blobs

  • Storage - Files Data Lake

  • Storage - Files Share

  • Storage - Queues

Patch Updates (1)

  • Core - Client - Rest

Beta Packages (23)

  • AI Model Inference

  • Artifacts

  • Communication Common

  • Key Vault - Administration

  • Key Vault - Certificates

  • Key Vault - Keys

  • Key Vault - Secrets

  • OpenAI

  • OpenTelemetry Exporter

  • Purview Data Map

  • Resource Management - Agricultureplatform

  • Resource Management - Application Insights

  • Resource Management - Arizeaiobservabilityeval

  • Resource Management - Azure AI Search

  • Resource Management - Container Service

  • Resource Management - Durabletask

  • Resource Management - Hybrid Connectivity

  • Resource Management - Hybrid Kubernetes

  • Resource Management - Migrationassessment

  • Resource Management - Pineconevectordb

  • Resource Management - Policy

  • Resource Management - Weightsandbiases

  • unknown

Release highlights

@azure/core-sse 2.2.0 Changelog

Features Added

  • createSseStream now supports NodeJS streams as input.

AI Model Inference 1.0.0-beta.6 Changelog

Bugs Fixed

  • Re-export ErrorModel type from azure-rest/core-client (#33333)

Features Added

  • Add “developer” chat role, and ChatRequestDeveloperMessage interface.
  • Added audio input (data and url) to chat completions, with samples.

App Configuration 1.9.0 Changelog

Features Added

  • Include all the changes from 1.9.0-beta.1 version

Artifacts 1.0.0-beta.16 Changelog

Breaking Changes

  • Model LinkedService parameter PostgreSqlV2LinkedService has a new required properties authentication_type
  • Model LinkedService parameter SapOdpLinkedService update properties sncMode
  • Model LinkedService parameter AzureSqlDWLinkedService update required properties
  • Model LinkedService parameter SqlServerLinkedService update required properties
  • Model LinkedService parameter AmazonRdsForSqlServerLinkedService update required properties
  • Model LinkedService parameter AzureSqlDatabaseLinkedService update required properties
  • Model LinkedService parameter AzureSqlMILinkedService update required properties

Features Added

  • Model Dataset has a new parameter schema
  • Model LinkedService parameter AzureFileStorageLinkedService support MI auth
  • Model LinkedService parameter AzureTableStorageLinkedService support MI auth
  • Model LinkedService parameter DynamicsCrmLinkedService has a new properties credential
  • Model LinkedService parameter DynamicsLinkedService has a new properties domain
  • Model LinkedService parameter GreenplumLinkedService has some new connection properties
  • Model LinkedService parameter MySqlLinkedService has some new properties
  • Model LinkedService parameter OracleLinkedService update properties
  • Model LinkedService parameter RestService and SharePointOnlineList support ServicePrincipalCert auth
  • Model LinkedService parameter SAP ODP update properties sncMode
  • Model LinkedService parameter SnowflakeV2LinkedService has a new properties host
  • Model LinkedService parameter SqlServerLinkedService add authenticationType UserAssignedManagedIdentity
  • Model LinkedService parameter TeradataLinkedService has some new Teradata connection properties
  • Model LinkedService parameter VerticaLinkedService support Vertica V2
  • Model LinkedService has a new parameter version
  • Model Pipeline Add credential reference in notebook and spark job definition activity
  • Model Pipeline feature snowflake support multi-resultset
  • Model Pipeline feature snowflake support storage integration
  • Model Pipeline parameter ExecuteDataFlowActivity has a new properties continuationSettings
  • Model Pipeline parameter ExpressionV2 has a new properties page_size
  • Model Pipeline parameter SalesforceV2Source has a new properties page_size
  • Model Pipeline support Iceberg Format As Sink
  • Model Pipeline support TeradataSink
  • Model Dataset support Iceberg Format As Sink
  • Model runNotebook parameter runId update description
  • Model LinkedService support sslMode and useSystemTrustStore for MariaDB

Azure Blob Storage Checkpoint Store 2.0.0 Changelog

Features Added

Stable release of the Geographic replication support added in v6.0.0-beta.1.

Azure Monitor OpenTelemetry 1.10.0 Changelog

Features Added

  • Add support for performance counters.

Other Changes

  • Add support for detecting the Application Insights shim on internal verison.
  • Native ESM support has been added, and this package will now emit both CommonJS and ESM. #32819
  • Add undefined checks for document filtering functions.

Communication Common 2.3.2-beta.1 Changelog

Features Added

Introduced support for TokenCredential with EntraCommunicationTokenCredentialOptions, enabling Entra users to authorize Communication Services and allowing an Entra user with a Teams license to use Teams Phone Extensibility features through the Azure Communication Services resource.

  • Added support for a new communication identifier TeamsExtensionUserIdentifier.
  • Added a type TeamsExtensionUserKind with rawId in the format 8:acs:{resourceId}_{tenantId}_{userId}.
  • Added a method isTeamsExtensionUserIdentifier to check if the identifier is TeamsExtensionUserIdentifier.
  • Mandatory fields of TeamsExtensionUserIdentifier are userId, tenantId and resourceId.
  • With this version, rawId starting with 8:acs may be either CommunicationUserIdentifier or new TeamsExtensionUserIdentifier.
  • Added optional fields isAnonymous and assertedId to the communication identifier PhoneNumberIdentifier.
  • isAnonymous is used for anonymous numbers with rawId equals to 4:anonymous.
  • assertedId is used when the same number is used several times in the same call. It contains value after the last underscore (_) character in the phone number. It is undefined otherwise.

Communication Rooms 1.2.0 Changelog

Features Added

  • General Availability version of Rooms Collaborator role

Core - Client - LRO 3.2.0 Changelog

Features Added

  • Supports a baseUrl option that can be used to rewrite the polling URL to use that base URL instead. This makes sure that polling works for operations that live behind proxies or API gateways.
  • Added skipFinalGet option to skip the final GET request when polling is complete, optimizing scenarios where the final resource state is not needed. #33286

Core - Client - Rest 2.3.5 Changelog

Features Added

  • asNodeStream now returns a NodeJSReadableStream which can be canceled by calling the destroy method.

Cosmos DB 4.3.0 Changelog

Bugs Fixed

  • Fixed issue for incorrect ParallelizeCrossPartitionQuery header value. It was set to true if maxDegreeOfParallelism was set to 0 or 1 in FeedOptions while executing a query. #31232
  • Fixed the issue for incorrect results in Changefeed in case of internal TimeoutErrors #32652
  • Fix RequestOptions and SharedOptions #27336
  • Set default values in RetryOptions #27312

    Features Added

    Client-side Encryption (Preview) #28760

    Add support for Client-Side Encryption. Read more here: docs

Example of using Client-Side Encryption:

const credentials = new DefaultAzureCredential();
const keyResolver = new AzureKeyVaultEncryptionKeyResolver(credentials);
const cosmosClient = new CosmosClient({connectionString: "<ConnectionString>", clientEncryptionOptions: { keyEncryptionKeyResolver: keyResolver }});
const database = cosmosClient.database("my-database");
const metadata: EncryptionKeyWrapMetadata = {
type: EncryptionKeyResolverName.AzureKeyVault,
name: "akvKey",
value: "https://<my-key-vault>.vault.azure.net/keys/<key>/<version>",
algorithm: KeyEncryptionAlgorithm.RSA_OAEP
};

await database.createClientEncryptionKey(
"my-key",
EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
metadata);

const path1 : ClientEncryptionIncludedPath = {
path: "/property1",
clientEncryptionKeyId: "my-key",
encryptionType: EncryptionType.DETERMINISTIC,
encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
};
const path2 : ClientEncryptionIncludedPath = {
path: "/property2",
clientEncryptionKeyId: "my-key",
encryptionType: EncryptionType.DETERMINISTIC,
encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
};
const paths = [path1, path2];
const clientEncryptionPolicy = {
includedPaths: [path],
policyFormatVersion: 2,
};
const containerDefinition = {
id: "my-container",
partitionKey: {
paths: ["/id"],
},
clientEncryptionPolicy: clientEncryptionPolicy,
};
await database.containers.createIfNotExists(containerDefinition);
New Query Pipeline

Introduced enableQueryControl flag to enhance query pipeline, giving users more control over their query execution.

By default, value of enableQueryControl is set as false keeping query pipeline older behavior as default, as explained below:

Previously, the SDK guaranteed that each fetchNext call would return maxItemCount number of results, provided those many results existed in the backend. While this behavior ensured a predictable output, the SDK may query backend partitions multiple times in a single fetchNext iteration. This can sometimes lead to higher RU consumption with no user control, especially when results are scattered across partitions. Also queries could run for extended periods as the SDK worked to fulfil the maxItemCount guarantee.

When enableQueryControl is set to true, Each fetchNext call will now query up to maxDegreeOfParallelism physical partitions. If no results are found, the SDK will return empty pages instead of continuing to search all partitions. Returning fewer or empty results in each iteration consumes less RUs and hands control back to the users, allowing them to decide whether to continue fetching more data. This approach provides more granular control over RU consumption.

Eg. usage of this flag to enable new query pipeline:

const options : FeedOptions = {
enableQueryControl: true, // Flag to enable new query pipeline. Default value is false
maxItemCount: 100,
maxDegreeOfParallelism: 10,
forceQueryPlan: true,
}
const queryIterator = container.items.query("query text", options);
const res = await queryIterator.fetchNext();
Partition merge support

This feature adds support for Partition merge (preview) feature. Requests from SDK will not be blocked, when the feature is enabled on the CosmosDB account. Read more about merge here: docs

RU Bucketing (Preview)

Read more about RU Bucketing here: https://aka.ms/cosmsodb-bucketing

Partial hierarchical partition key support in Change Feed #27059

This feature adds support for partial hierarchical partition key in Change Feed allowing the SDK to work seamlessly with partial Hierarchical partition keys, returning accurate change feed results regardless of which partition key components are provided in the iterator.

Eg. Container has partition key [“/name”, “/zip”, “/state”], change feed will work if, only value of name and zip is provided eg: [“john”, “11011”]

Index Metrics V2 support

This feature adds support for V2 version of index metrics that returns the response in JSON format.

Example output of older version

Index Utilization Information
Utilized Single Indexes
Index Spec: /Item/?
Index Impact Score: High
---
Index Spec: /Price/?
Index Impact Score: High
---
Potential Single Indexes
Utilized Composite Indexes
Potential Composite Indexes
Index Spec: /Item ASC, /Price ASC
Index Impact Score: High
---

Example output of version V2

{"UtilizedIndexes":{"SingleIndexes":[{"IndexSpec":"/Item/?"},{"IndexSpec":"/Price/?"}],"CompositeIndexes":[]},"PotentialIndexes":{"SingleIndexes":[],"CompositeIndexes":[{"IndexSpecs":["/Item ASC","/Price ASC"],"IndexImpactScore":"High"}]}}
Add connectionString in CosmosClientOptions

ConnectionString can now be configured in CosmosClientOptions along with other configurations for client initialization. Eg. usage:

const options = {
connectionString: "<ConnectionString>",
consistencyLevel: ConsistencyLevel.Strong
}

Event Hubs 6.0.0 Changelog

Features Added

  • Stable release of the Geographic replication support added in v6.0.0-beta.1.

Key Vault - Administration 4.7.0-beta.1 Changelog

Features Added

  • Added support for service API version 7.6-preview.2. #32947
  • Added KeyVaultBackupClient.beginPreBackup and KeyVaultBackupClient.beginPreRestore methods for checking if it is possible to perform a full key backup or full key restore. #32947

Bugs Fixed

  • Fixed a typing issue in KeyVaultBackupResult and KeyVaultRestoreResult where startTime was marked as a required field. This field can be undefined if the operation never started successfully. #32123

Key Vault - Certificates 4.10.0-beta.1 Changelog

Features Added

  • Added support for service API version 7.6-preview.2. #32947
  • Added support for preserveCertificateOrder allowing the user to specify whether the certificate chain preserves its original order when creating or importing a certificate. #32947

Key Vault - Keys 4.10.0-beta.1 Changelog

Features Added

  • Added support for service API version 7.6-preview.2. #32947
  • Added support for KeyClient.getKeyAttestation which can be used to retrieve the key along with its attestation blob from a managed HSM. #32947

Key Vault - Secrets 4.10.0-beta.1 Changelog

Features Added

  • Added support for service API version 7.6-preview.2. #32947

OpenAI 2.1.0-beta.1 Changelog

Features Added

  • Adds support for ungrounded_material in ContentFilterResultsForChoiceOutput.
  • Adds support for user_security_context in ChatCompletionCreateParamsNonStreaming and ChatCompletionCreateParamsStreaming.

OpenTelemetry Exporter 1.0.0-beta.30 Changelog

Features Added

  • Support setting the AiLocationIp on logs and events.
  • Add support for performance counters.

Purview Data Map 1.0.0-beta.3 Changelog

Bugs Fixed

  • Updated type of endorsements from str to list[str] in SuggestResultValue and SuggestResultValue models.

Resource Management - Agricultureplatform 1.0.0-beta.1 Changelog

Resource Management - Application Insights 5.0.0-beta.8 Changelog

Resource Management - Arizeaiobservabilityeval 1.0.0-beta.1 Changelog

Resource Management - Azure AI Search 3.3.0-beta.2 Changelog

Resource Management - Compute 22.4.0 Changelog

Resource Management - Container Service 22.0.0-beta.1 Changelog

Resource Management - Container Service 21.5.0 Changelog

Resource Management - Data Box 5.1.0 Changelog

Resource Management - Durabletask 1.0.0-beta.1 Changelog

Resource Management - Event Grid 14.2.0 Changelog

Resource Management - Hybrid Connectivity 2.0.0-beta.1 Changelog

Resource Management - Hybrid Kubernetes 3.0.0-beta.1 Changelog

Resource Management - Key Vault 3.2.0 Changelog

Resource Management - Migrationassessment 1.0.0-beta.1 Changelog

Resource Management - Pineconevectordb 1.0.0-beta.2 Changelog

Resource Management - Policy 5.2.0-beta.2 Changelog

Resource Management - Policy 6.0.0 Changelog

Resource Management - Weightsandbiases 1.0.0-beta.1 Changelog

Storage - Blobs 12.27.0 Changelog

Features Added

  • Added support for service version 2025-05-05.

Storage - Files Data Lake 12.26.0 Changelog

Features Added

  • Added support for service version 2025-05-05.

Storage - Files Share 12.27.0 Changelog

Features Added

  • Includes all features released in 12.27.0-beta.1.

Storage - Queues 12.26.0 Changelog

Features Added

  • Added support for service version 2025-05-05.

unknown 1.0.0-beta.3 Changelog

Features Added

  • Adding Azure Functions and OpenAPI tool support
  • Upgrading core-lro package

Bugs Fixed

  • Addresses issue in search tool deserialization step during streaming.
  • Addresses issue running samples

unknown 0.2.1 Changelog

Bugs Fixed

  • Fix an issue where insecure connection setting was not properly propagated through the client options.

unknown 0.2.0 Changelog

Features Added

  • Add support for multiple authentication schemes through the new authSchemes property in ClientOptions
  • Add new authentication types: ApiKeyAuthScheme, BasicAuthScheme, BearerAuthScheme, OAuth2AuthScheme
  • Add new credential types: OAuth2TokenCredential, BearerTokenCredential, BasicCredential, ApiKeyCredential, and ClientCredential

Breaking Changes

  • Remove TokenCredential and KeyCredential interfaces for new authentication schemes support
  • Change ClientOptions to use authSchemes and credential instead of the previous credentials property
  • Update to use standard AbortSignal instead of custom AbortSignalLike interface

unknown 1.0.0-beta.4 Changelog

Features Added

  • Adding Fabric support and sample.
  • Adding token usage sample

Latest Releases

View all the latest versions of JavaScript packages here.

Installation Instructions

To install the packages, copy and paste the below into a terminal.

$> npm install @azure-rest/ai-inference@1.0.0-beta.6
$> npm install @azure-rest/core-client@2.3.5
$> npm install @azure-rest/purview-datamap@1.0.0-beta.3
$> npm install @azure/ai-projects@1.0.0-beta.3
$> npm install @azure/ai-projects@1.0.0-beta.4
$> npm install @azure/app-configuration@1.9.0
$> npm install @azure/arm-agricultureplatform@1.0.0-beta.1
$> npm install @azure/arm-appinsights@5.0.0-beta.8
$> npm install @azure/arm-arizeaiobservabilityeval@1.0.0-beta.1
$> npm install @azure/arm-compute@22.4.0
$> npm install @azure/arm-containerservice@22.0.0-beta.1
$> npm install @azure/arm-containerservice@21.5.0
$> npm install @azure/arm-databox@5.1.0
$> npm install @azure/arm-durabletask@1.0.0-beta.1
$> npm install @azure/arm-eventgrid@14.2.0
$> npm install @azure/arm-hybridconnectivity@2.0.0-beta.1
$> npm install @azure/arm-hybridkubernetes@3.0.0-beta.1
$> npm install @azure/arm-keyvault@3.2.0
$> npm install @azure/arm-migrationassessment@1.0.0-beta.1
$> npm install @azure/arm-pineconevectordb@1.0.0-beta.2
$> npm install @azure/arm-policy@5.2.0-beta.2
$> npm install @azure/arm-policy@6.0.0
$> npm install @azure/arm-search@3.3.0-beta.2
$> npm install @azure/arm-weightsandbiases@1.0.0-beta.1
$> npm install @azure/communication-common@2.3.2-beta.1
$> npm install @azure/communication-rooms@1.2.0
$> npm install @azure/core-lro@3.2.0
$> npm install @azure/core-sse@2.2.0
$> npm install @azure/cosmos@4.3.0
$> npm install @azure/event-hubs@6.0.0
$> npm install @azure/eventhubs-checkpointstore-blob@2.0.0
$> npm install @azure/keyvault-admin@4.7.0-beta.1
$> npm install @azure/keyvault-certificates@4.10.0-beta.1
$> npm install @azure/keyvault-keys@4.10.0-beta.1
$> npm install @azure/keyvault-secrets@4.10.0-beta.1
$> npm install @azure/monitor-opentelemetry@1.10.0
$> npm install @azure/monitor-opentelemetry-exporter@1.0.0-beta.30
$> npm install @azure/openai@2.1.0-beta.1
$> npm install @azure/storage-blob@12.27.0
$> npm install @azure/storage-file-datalake@12.26.0
$> npm install @azure/storage-file-share@12.27.0
$> npm install @azure/storage-queue@12.26.0
$> npm install @azure/synapse-artifacts@1.0.0-beta.16
$> npm install @typespec/ts-http-runtime@0.2.1
$> npm install @typespec/ts-http-runtime@0.2.0

Feedback

If you have a bug or feature request for one of the libraries, please post an issue at the azure-sdk-for-js repository