Azure SDK for JavaScript (April 2025)
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 format8:acs:{resourceId}_{tenantId}_{userId}
. - Added a method
isTeamsExtensionUserIdentifier
to check if the identifier isTeamsExtensionUserIdentifier
. - Mandatory fields of
TeamsExtensionUserIdentifier
areuserId
,tenantId
andresourceId
. - With this version, rawId starting with
8:acs
may be eitherCommunicationUserIdentifier
or newTeamsExtensionUserIdentifier
. - Added optional fields
isAnonymous
andassertedId
to the communication identifierPhoneNumberIdentifier
. isAnonymous
is used for anonymous numbers with rawId equals to4: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 aNodeJSReadableStream
which can be canceled by calling thedestroy
method.
Cosmos DB 4.3.0 Changelog
Bugs Fixed
- Fixed issue for incorrect
ParallelizeCrossPartitionQuery
header value. It was set to true ifmaxDegreeOfParallelism
was set to 0 or 1 inFeedOptions
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
andKeyVaultBackupClient.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
andKeyVaultRestoreResult
wherestartTime
was marked as a required field. This field can beundefined
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
inContentFilterResultsForChoiceOutput
. - Adds support for
user_security_context
inChatCompletionCreateParamsNonStreaming
andChatCompletionCreateParamsStreaming
.
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 inClientOptions
- Add new authentication types:
ApiKeyAuthScheme
,BasicAuthScheme
,BearerAuthScheme
,OAuth2AuthScheme
- Add new credential types:
OAuth2TokenCredential
,BearerTokenCredential
,BasicCredential
,ApiKeyCredential
, andClientCredential
Breaking Changes
- Remove
TokenCredential
andKeyCredential
interfaces for new authentication schemes support - Change
ClientOptions
to useauthSchemes
andcredential
instead of the previouscredentials
property - Update to use standard
AbortSignal
instead of customAbortSignalLike
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